atavism.server.pathing.detour
Class NavMesh
java.lang.Object
atavism.server.pathing.detour.NavMesh
public class NavMesh
- extends java.lang.Object
A navigation mesh based on tiles of convex polygons.
The navigation mesh consists of one or more tiles defining three primary
types of structural data:
A polygon mesh which defines most of the navigation graph. (See PolyMesh for
its structure.) A detail mesh used for determining surface height on the
polygon mesh. (See PolyMeshDetail for its structure.) Off-mesh connections,
which define custom point-to-point edges within the navigation graph.
- Version:
- 1.0
- Author:
- Tihomir Radosavljevic
- See Also:
PolyMesh
,
PolyMeshDetail
Method Summary |
DetourNumericReturn |
AddTile(NavMeshBuilder data,
int flags,
long lastRef)
|
IntVector2 |
CalcTileLoc(float posx,
float posy,
float posz)
|
void |
DecodePolyId(long refId,
long[] saltItIp)
|
long |
DecodePolyIdPoly(long refId)
|
long |
DecodePolyIdSalt(long refId)
|
long |
DecodePolyIdTile(long refId)
|
long |
EncodePolyId(long salt,
long it,
long ip)
|
int |
GetMaxTiles()
|
OffMeshConnection |
GetOffMeshConnectionByRef(long refId)
|
java.util.EnumSet<Status> |
GetOffMeshConnectionPolyEndPoints(long prevRef,
long polyRef,
float[] startPos,
float[] endPos)
|
DetourStatusReturn |
GetPolyArea(long refId,
short resultArea)
|
DetourStatusReturn |
GetPolyFlags(long refId,
int resultFlags)
|
long |
GetPolyRefBase(MeshTile tile)
|
MeshTile |
GetTile(int i)
|
DetourMeshTileAndPoly |
GetTileAndPolyByRef(long refId)
|
DetourMeshTileAndPoly |
GetTileAndPolyByRefUnsafe(long refId)
|
MeshTile |
GetTileAt(int x,
int y,
int layer)
|
MeshTile |
GetTileByRef(long refId)
|
long |
GetTileRef(MeshTile tile)
|
long |
GetTileRefAt(int x,
int y,
int layer)
|
int |
GetTilesAt(int x,
int y,
MeshTile[] tiles,
int maxTiles)
|
java.util.EnumSet<Status> |
Init(NavMeshBuilder data,
int flags)
|
java.util.EnumSet<Status> |
Init(NavMeshParams param)
|
java.lang.Boolean |
IsValidPolyRef(long refId)
|
NavMeshParams |
Param()
|
java.util.EnumSet<Status> |
RemoveTile(long refId,
NavMeshBuilder data)
|
java.util.EnumSet<Status> |
RestoreTileState(MeshTile tile,
TileState tileState)
|
java.util.EnumSet<Status> |
SetPolyArea(long refId,
short area)
|
java.util.EnumSet<Status> |
SetPolyFlags(long refId,
int flags)
|
Status |
StoreTileState(MeshTile tile,
TileState tileState)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_param
public NavMeshParams _param
_orig
public float[] _orig
_tileWidth
public float _tileWidth
_tileHeight
public float _tileHeight
_maxTiles
public int _maxTiles
_tileLutSize
public int _tileLutSize
_tileLutMask
public int _tileLutMask
_posLookup
public MeshTile[] _posLookup
_nextFree
public MeshTile _nextFree
_tiles
public MeshTile[] _tiles
_saltBits
public long _saltBits
_tileBits
public long _tileBits
_polyBits
public long _polyBits
NullLink
public static long NullLink
TileFreeData
public static int TileFreeData
NavMesh
public NavMesh()
Param
public NavMeshParams Param()
Init
public java.util.EnumSet<Status> Init(NavMeshParams param)
Init
public java.util.EnumSet<Status> Init(NavMeshBuilder data,
int flags)
AddTile
public DetourNumericReturn AddTile(NavMeshBuilder data,
int flags,
long lastRef)
RemoveTile
public java.util.EnumSet<Status> RemoveTile(long refId,
NavMeshBuilder data)
CalcTileLoc
public IntVector2 CalcTileLoc(float posx,
float posy,
float posz)
GetTileAt
public MeshTile GetTileAt(int x,
int y,
int layer)
GetTilesAt
public int GetTilesAt(int x,
int y,
MeshTile[] tiles,
int maxTiles)
GetTileRefAt
public long GetTileRefAt(int x,
int y,
int layer)
GetTileRef
public long GetTileRef(MeshTile tile)
GetTileByRef
public MeshTile GetTileByRef(long refId)
GetMaxTiles
public int GetMaxTiles()
GetTile
public MeshTile GetTile(int i)
GetTileAndPolyByRef
public DetourMeshTileAndPoly GetTileAndPolyByRef(long refId)
GetTileAndPolyByRefUnsafe
public DetourMeshTileAndPoly GetTileAndPolyByRefUnsafe(long refId)
IsValidPolyRef
public java.lang.Boolean IsValidPolyRef(long refId)
GetPolyRefBase
public long GetPolyRefBase(MeshTile tile)
GetOffMeshConnectionPolyEndPoints
public java.util.EnumSet<Status> GetOffMeshConnectionPolyEndPoints(long prevRef,
long polyRef,
float[] startPos,
float[] endPos)
GetOffMeshConnectionByRef
public OffMeshConnection GetOffMeshConnectionByRef(long refId)
SetPolyFlags
public java.util.EnumSet<Status> SetPolyFlags(long refId,
int flags)
GetPolyFlags
public DetourStatusReturn GetPolyFlags(long refId,
int resultFlags)
SetPolyArea
public java.util.EnumSet<Status> SetPolyArea(long refId,
short area)
GetPolyArea
public DetourStatusReturn GetPolyArea(long refId,
short resultArea)
StoreTileState
public Status StoreTileState(MeshTile tile,
TileState tileState)
RestoreTileState
public java.util.EnumSet<Status> RestoreTileState(MeshTile tile,
TileState tileState)
EncodePolyId
public long EncodePolyId(long salt,
long it,
long ip)
DecodePolyId
public void DecodePolyId(long refId,
long[] saltItIp)
DecodePolyIdSalt
public long DecodePolyIdSalt(long refId)
DecodePolyIdTile
public long DecodePolyIdTile(long refId)
DecodePolyIdPoly
public long DecodePolyIdPoly(long refId)