1 #ifndef DETOURTILECACHE_H
2 #define DETOURTILECACHE_H
4 #include "SharedConfig.h"
68 navAreaMask* polyAreas) = 0;
134 return (
unsigned int)((ref >> m_tileBits) & saltMask);
141 return (
unsigned int)(ref & tileMask);
154 return (
unsigned int)((ref >> 16) & saltMask);
161 return (
unsigned int)(ref & tileMask);
167 enum ObstacleRequestAction
173 struct ObstacleRequest
186 unsigned int m_saltBits;
187 unsigned int m_tileBits;
198 static const int MAX_REQUESTS = 64;
199 ObstacleRequest m_reqs[MAX_REQUESTS];
202 static const int MAX_UPDATE = 64;
float orig[3]
Definition: DetourTileCache.h:52
int getTilesAt(const int tx, const int ty, dtCompressedTileRef *tiles, const int maxTiles) const
Definition: DetourTileCache.cpp:172
dtStatus removeTile(dtCompressedTileRef ref, unsigned char **data, int *dataSize)
Definition: DetourTileCache.cpp:287
Definition: DetourTileCache.h:50
dtStatus queryTiles(const float *bmin, const float *bmax, dtCompressedTileRef *results, int *resultCount, const int maxResults) const
Definition: DetourTileCache.cpp:402
dtObstacleRef encodeObstacleId(unsigned int salt, unsigned int it) const
Encodes an obstacle id.
Definition: DetourTileCache.h:145
int getObstacleCount() const
Definition: DetourTileCache.h:85
float pos[3]
Definition: DetourTileCache.h:40
Definition: DetourTileCacheBuilder.h:79
float ch
Definition: DetourTileCache.h:53
int compressedSize
Definition: DetourTileCache.h:22
dtStatus addTile(unsigned char *data, const int dataSize, unsigned char flags, dtCompressedTileRef *result)
Definition: DetourTileCache.cpp:241
Represents the source data used to build an navigation mesh tile.
Definition: DetourNavMeshBuilder.h:27
dtCompressedTile * getTileAt(const int tx, const int ty, const int tlayer)
Definition: DetourTileCache.cpp:194
float cs
Definition: DetourTileCache.h:53
Definition: DetourTileCache.h:63
Definition: DetourTileCache.h:72
float radius
Definition: DetourTileCache.h:40
const dtTileCacheObstacle * getObstacleByRef(dtObstacleRef ref)
Definition: DetourTileCache.cpp:227
dtStatus addObstacle(const float *pos, const float radius, const float height, dtObstacleRef *result)
Definition: DetourTileCache.cpp:353
Definition: DetourTileCache.h:17
unsigned char * data
Definition: DetourTileCache.h:23
int maxObstacles
Definition: DetourTileCache.h:60
unsigned short salt
Definition: DetourTileCache.h:43
unsigned int dtStatus
Definition: DetourStatus.h:22
void dtFreeTileCache(dtTileCache *tc)
Definition: DetourTileCache.cpp:19
const dtCompressedTile * getTile(const int i) const
Definition: DetourTileCache.h:83
struct dtTileCacheCompressor * getCompressor()
Definition: DetourTileCache.h:79
unsigned int salt
Counter describing modifications to the tile.
Definition: DetourTileCache.h:19
dtObstacleRef getObstacleRef(const dtTileCacheObstacle *obmin) const
Definition: DetourTileCache.cpp:220
unsigned int decodeObstacleIdObstacle(dtObstacleRef ref) const
Decodes an obstacle id.
Definition: DetourTileCache.h:158
A navigation mesh based on tiles of convex polygons.
Definition: DetourNavMesh.h:328
struct dtTileCacheAlloc * getAlloc()
Definition: DetourTileCache.h:78
const dtTileCacheParams * getParams() const
Definition: DetourTileCache.h:80
Definition: DetourTileCache.h:32
dtStatus init(const dtTileCacheParams *params, struct dtTileCacheAlloc *talloc, struct dtTileCacheCompressor *tcomp, struct dtTileCacheMeshProcess *tmproc)
Definition: DetourTileCache.cpp:117
Navmesh owns the tile memory and should free it.
Definition: DetourTileCache.h:14
unsigned int dtObstacleRef
Definition: DetourTileCache.h:7
dtCompressedTileRef pending[DT_MAX_TOUCHED_TILES]
Definition: DetourTileCache.h:42
dtCompressedTileFlags
Flags for addTile.
Definition: DetourTileCache.h:12
dtTileCacheObstacle * next
Definition: DetourTileCache.h:47
dtCompressedTileRef encodeTileId(unsigned int salt, unsigned int it) const
Encodes a tile id.
Definition: DetourTileCache.h:125
dtCompressedTileRef touched[DT_MAX_TOUCHED_TILES]
Definition: DetourTileCache.h:41
int width
Definition: DetourTileCache.h:54
Definition: DetourTileCache.h:31
unsigned int decodeTileIdTile(dtCompressedTileRef ref) const
Decodes a tile id.
Definition: DetourTileCache.h:138
int getTileCount() const
Definition: DetourTileCache.h:82
ObstacleState
Definition: DetourTileCache.h:29
void calcTightTileBounds(const struct dtTileCacheLayerHeader *header, float *bmin, float *bmax) const
Definition: DetourTileCache.cpp:684
Definition: DetourTileCache.h:33
virtual void process(struct dtNavMeshCreateParams *params, navAreaMask *polyAreas)=0
unsigned int decodeObstacleIdSalt(dtObstacleRef ref) const
Decodes an obstacle salt.
Definition: DetourTileCache.h:151
float height
Definition: DetourTileCache.h:40
dtTileCache * dtAllocTileCache()
Definition: DetourTileCache.cpp:12
float walkableHeight
Definition: DetourTileCache.h:55
float maxSimplificationError
Definition: DetourTileCache.h:58
dtCompressedTile * next
Definition: DetourTileCache.h:26
static const int DT_MAX_TOUCHED_TILES
Definition: DetourTileCache.h:37
const dtTileCacheObstacle * getObstacle(const int i) const
Definition: DetourTileCache.h:86
dtStatus buildNavMeshTilesAt(const int tx, const int ty, class dtNavMesh *navmesh)
Definition: DetourTileCache.cpp:559
unsigned char npending
Definition: DetourTileCache.h:46
unsigned char state
Definition: DetourTileCache.h:44
unsigned int flags
Definition: DetourTileCache.h:25
~dtTileCache()
Definition: DetourTileCache.cpp:82
struct dtTileCacheLayerHeader * header
Definition: DetourTileCache.h:20
unsigned int decodeTileIdSalt(dtCompressedTileRef ref) const
Decodes a tile salt.
Definition: DetourTileCache.h:131
int height
Definition: DetourTileCache.h:54
dtStatus update(const float, class dtNavMesh *navmesh)
Definition: DetourTileCache.cpp:443
float walkableRadius
Definition: DetourTileCache.h:56
dtCompressedTileRef getTileRef(const dtCompressedTile *tile) const
Definition: DetourTileCache.cpp:213
Definition: DetourTileCache.h:34
unsigned int dtCompressedTileRef
Definition: DetourTileCache.h:9
unsigned char * compressed
Definition: DetourTileCache.h:21
float walkableClimb
Definition: DetourTileCache.h:57
dtStatus removeObstacle(const dtObstacleRef ref)
Definition: DetourTileCache.cpp:387
Definition: DetourTileCache.h:38
unsigned char ntouched
Definition: DetourTileCache.h:45
int maxTiles
Definition: DetourTileCache.h:59
virtual ~dtTileCacheMeshProcess()
Definition: DetourTileCache.h:65
const dtCompressedTile * getTileByRef(dtCompressedTileRef ref) const
Definition: DetourTileCache.cpp:102
dtStatus buildNavMeshTile(const dtCompressedTileRef ref, class dtNavMesh *navmesh)
Definition: DetourTileCache.cpp:575
dtTileCache()
Definition: DetourTileCache.cpp:63
void getObstacleBounds(const struct dtTileCacheObstacle *ob, float *bmin, float *bmax) const
Definition: DetourTileCache.cpp:695
int dataSize
Definition: DetourTileCache.h:24
Definition: DetourTileCacheBuilder.h:98