|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcz.cuni.amis.pogamut.ut2004.agent.navigation.navmesh.NavMesh
public class NavMesh
Main class of Navigation Mesh module
Field Summary | |
---|---|
Random |
random
|
Constructor Summary | |
---|---|
NavMesh()
Overload for constructor |
|
NavMesh(boolean loadLevelGeometry)
Reads Navmesh from file - creates data structure |
Method Summary | |
---|---|
IPathFuture<ILocated> |
computePath(ILocated from,
ILocated to)
Computes and returns a path between two points anywhere on the map. |
void |
draw()
Draws navmesh in game |
void |
draw(String lines,
Location color)
Draws given lines |
void |
drawLevelGeometry(Location color)
|
void |
drawOnePolygon(int i)
Draws one polygon with default color (yellow) |
void |
drawOnePolygon(int i,
Location color)
Draws one polygon with the color set in color |
void |
drawOnlyBiggestLeaf()
Debug method: Draws only the polygons in the biggeswt leaf so that we can see whe they could not have been split any further |
void |
drawPath(IPathFuture<ILocated> path,
Location color)
Draws the given path |
void |
drawPolygonPath(List<INavMeshAtom> polygonPath,
Location location)
Draws entire list of polygons |
double |
getDistanceFromEdge(Location location,
javax.vecmath.Vector2d vector)
Returns distance of the location from the navmesh's edge in the given direction. |
double |
getDistanceFromEdge(Location location,
javax.vecmath.Vector2d vector,
double rayLength)
A simple implementation of NavMesh's 2D raycasting. |
LevelGeometry |
getLevelGeometry()
Returns levelGeometry object |
ArrayList |
getNeighbourIdsToPolygon(int i)
gets an array of polygon ids by an polygon id |
int |
getNumberOfPolygonsInBiggestLeaf()
Debug method: helps to describe BSP tree by telling the number of polygons in the biggest leaf (this should not bee too big. |
List<OffMeshPoint> |
getOffMeshPoinsOnPolygon(int pId)
Returns a List of offmeshpoints that are located on target polygon |
List<ILocated> |
getPath(ILocated from,
ILocated to)
Computes and returns a path between two points anywhere on the map. |
int[] |
getPolygon(int i)
gets a polygon by its order |
int |
getPolygonIdByLocation(Location location)
Gets the id of a polygon that contains this location |
int |
getPolygonIdByPoint3D(math.geom3d.Point3D point3D)
|
List<INavMeshAtom> |
getPolygonPath(INavMeshAtom fromAtom,
INavMeshAtom toAtom)
Gets a List of polygons on which the path should go. |
List<INavMeshAtom> |
getPolygonPath(Location from,
Location to)
Calls the method with the same name but polygons as arguments and returns result |
ArrayList |
getPolygonsByVertex(int i)
gets a list of polygons containing this vertex |
double[] |
getVertex(int i)
gets a vertex by its order |
int |
polyCount()
Returns the number of polygons in navmesh |
String |
polygonToDebugString(int polygonNumber)
Restricted alternative to toDebugString() - returns only one polygon as string |
void |
setBiggestLeafInTree(BSPNode node)
Debug method: sets the biggest leaf so it can be easily found. |
String |
toDebugString()
Returns all lines in one long string. |
void |
unDraw()
Undraws all currently drawn lines |
int |
vertCount()
Returns the number of vertices in navmesh |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public Random random
Constructor Detail |
---|
public NavMesh(boolean loadLevelGeometry) throws FileNotFoundException, IOException
FileNotFoundException
IOException
public NavMesh() throws FileNotFoundException, IOException
FileNotFoundException
IOException
Method Detail |
---|
public String toDebugString()
public String polygonToDebugString(int polygonNumber)
public void draw()
public void draw(String lines, Location color)
lines
- public void unDraw()
public void drawLevelGeometry(Location color)
public void drawOnePolygon(int i, Location color)
public void drawOnePolygon(int i)
public void drawPolygonPath(List<INavMeshAtom> polygonPath, Location location)
polygonPath
- public void drawPath(IPathFuture<ILocated> path, Location color)
path
- public void drawOnlyBiggestLeaf()
public int polyCount()
public int vertCount()
public int[] getPolygon(int i)
public double[] getVertex(int i)
public ArrayList getPolygonsByVertex(int i)
public ArrayList getNeighbourIdsToPolygon(int i)
public List<OffMeshPoint> getOffMeshPoinsOnPolygon(int pId)
pId
-
public int getNumberOfPolygonsInBiggestLeaf()
public void setBiggestLeafInTree(BSPNode node)
public int getPolygonIdByPoint3D(math.geom3d.Point3D point3D)
point3D
-
public int getPolygonIdByLocation(Location location)
location
-
public List<INavMeshAtom> getPolygonPath(INavMeshAtom fromAtom, INavMeshAtom toAtom)
from
- to
-
public List<INavMeshAtom> getPolygonPath(Location from, Location to)
from
- to
-
public List<ILocated> getPath(ILocated from, ILocated to)
from
- to
-
public IPathFuture<ILocated> computePath(ILocated from, ILocated to)
computePath
in interface IPathPlanner<ILocated>
from
- to
-
public LevelGeometry getLevelGeometry()
public double getDistanceFromEdge(Location location, javax.vecmath.Vector2d vector, double rayLength)
location
- vector
-
public double getDistanceFromEdge(Location location, javax.vecmath.Vector2d vector)
location
- vector
-
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |