View Javadoc

1   /*
2    * Copyright (C) 2013 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic
3    *
4    * This program is free software: you can redistribute it and/or modify
5    * it under the terms of the GNU General Public License as published by
6    * the Free Software Foundation, either version 3 of the License, or
7    * (at your option) any later version.
8    *
9    * This program is distributed in the hope that it will be useful,
10   * but WITHOUT ANY WARRANTY; without even the implied warranty of
11   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12   * GNU General Public License for more details.
13   *
14   * You should have received a copy of the GNU General Public License
15   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16   */
17  package cz.cuni.amis.pogamut.ut2004.agent.navigation.navmesh;
18  
19  import cz.cuni.amis.pogamut.base3d.worldview.object.ILocated;
20  import java.util.List;
21  
22  /**
23   * Interface for navmesh atom. It can be either Polygon or off-mesh point
24   * is used in pathfinng algorithms as an abstraction of polygon/point
25   * @author Jakub
26   */
27  public interface INavMeshAtom {
28      
29      /**
30       * Gets a list of all neighbousrs of this atom in navmesh. That includes both polygons and offmesh points.
31       * @return 
32       */
33      public List<INavMeshAtom> getNeighbours(NavMesh mesh);
34      
35      /**
36       * Compares atoms if they are the same (same class, same polygon/point)
37       * @param atom
38       * @return 
39       */
40      public boolean equals(INavMeshAtom atom);
41      
42  }