22#ifndef DETOURTILECACHE_H
23#define DETOURTILECACHE_H
62static const int DT_MAX_TOUCHED_TILES = 8;
103#if !DT_LARGE_WORLD_COORDINATES_DISABLED
110 unsigned char* polyAreas,
unsigned short* polyFlags) = 0;
177 return (
unsigned int)((ref >> m_tileBits) &
saltMask);
184 return (
unsigned int)(ref &
tileMask);
197 return (
unsigned int)((ref >> 16) &
saltMask);
204 return (
unsigned int)(ref &
tileMask);
210 enum ObstacleRequestAction
216 struct ObstacleRequest
229 unsigned int m_saltBits;
230 unsigned int m_tileBits;
241 static const int MAX_REQUESTS = 64;
242 ObstacleRequest m_reqs[MAX_REQUESTS];
245 static const int MAX_UPDATE = 64;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
double dtReal
Definition DetourLargeWorldCoordinates.h:15
NAVMESH_API void dtFreeTileCache(dtTileCache *tc)
Definition DetourTileCache.cpp:45
unsigned int dtObstacleRef
Definition DetourTileCache.h:32
ObstacleState
Definition DetourTileCache.h:55
@ DT_OBSTACLE_EMPTY
Definition DetourTileCache.h:56
@ DT_OBSTACLE_PROCESSED
Definition DetourTileCache.h:58
@ DT_OBSTACLE_REMOVING
Definition DetourTileCache.h:59
@ DT_OBSTACLE_PROCESSING
Definition DetourTileCache.h:57
NAVMESH_API dtTileCache * dtAllocTileCache()
Definition DetourTileCache.cpp:38
unsigned int dtCompressedTileRef
Definition DetourTileCache.h:34
dtCompressedTileFlags
Flags for addTile.
Definition DetourTileCache.h:38
@ DT_COMPRESSEDTILE_FREE_DATA
Navmesh owns the tile memory and should free it.
Definition DetourTileCache.h:39
unsigned int dtStatus
Definition RecastGraphAStar.h:29
Definition DetourNavMesh.h:503
Definition DetourTileCache.h:115
dtObstacleRef encodeObstacleId(unsigned int salt, unsigned int it) const
Encodes an obstacle id.
Definition DetourTileCache.h:188
NAVMESH_API dtStatus queryTiles(const dtReal *bmin, const dtReal *bmax, dtCompressedTileRef *results, int *resultCount, const int maxResults) const
Definition DetourTileCache.cpp:453
const dtTileCacheParams * getParams() const
Definition DetourTileCache.h:123
struct dtTileCacheMeshProcess * getProcessor()
Definition DetourTileCache.h:122
unsigned int decodeTileIdSalt(dtCompressedTileRef ref) const
Decodes a tile salt.
Definition DetourTileCache.h:174
NAVMESH_API dtCompressedTileRef getTileRef(const dtCompressedTile *tile) const
Definition DetourTileCache.cpp:266
unsigned int decodeObstacleIdObstacle(dtObstacleRef ref) const
Decodes an obstacle id.
Definition DetourTileCache.h:201
NAVMESH_API dtStatus update(const dtReal, class dtNavMesh *navmesh)
Definition DetourTileCache.cpp:494
NAVMESH_API int getTilesAt(const int tx, const int ty, dtCompressedTileRef *tiles, const int maxTiles) const
Definition DetourTileCache.cpp:225
NAVMESH_API void calcTightTileBounds(const struct dtTileCacheLayerHeader *header, dtReal *bmin, dtReal *bmax) const
Definition DetourTileCache.cpp:792
NAVMESH_API dtStatus buildNavMeshTile(const dtCompressedTileRef ref, class dtNavMesh *navmesh)
Definition DetourTileCache.cpp:626
NAVMESH_API const dtTileCacheObstacle * getObstacleByRef(dtObstacleRef ref)
Definition DetourTileCache.cpp:280
NAVMESH_API const dtCompressedTile * getTileByRef(dtCompressedTileRef ref) const
Definition DetourTileCache.cpp:155
int getObstacleCount() const
Definition DetourTileCache.h:128
const dtCompressedTile * getTile(const int i) const
Definition DetourTileCache.h:126
dtCompressedTileRef encodeTileId(unsigned int salt, unsigned int it) const
Encodes a tile id.
Definition DetourTileCache.h:168
NAVMESH_API dtStatus removeTile(dtCompressedTileRef ref, unsigned char **data, int *dataSize)
Definition DetourTileCache.cpp:338
unsigned int decodeTileIdTile(dtCompressedTileRef ref) const
Decodes a tile id.
Definition DetourTileCache.h:181
NAVMESH_API dtStatus init(const dtTileCacheParams *params, struct dtTileCacheAlloc *talloc, struct dtTileCacheCompressor *tcomp, struct dtTileCacheMeshProcess *tmproc)
Definition DetourTileCache.cpp:170
NAVMESH_API void getObstacleBounds(const struct dtTileCacheObstacle *ob, dtReal *bmin, dtReal *bmax) const
Definition DetourTileCache.cpp:803
struct dtTileCacheAlloc * getAlloc()
Definition DetourTileCache.h:120
NAVMESH_API dtStatus addObstacle(const dtReal *pos, const dtReal radius, const dtReal height, dtObstacleRef *result)
Definition DetourTileCache.cpp:404
NAVMESH_API dtObstacleRef getObstacleRef(const dtTileCacheObstacle *obmin) const
Definition DetourTileCache.cpp:273
NAVMESH_API ~dtTileCache()
Definition DetourTileCache.cpp:135
const dtTileCacheObstacle * getObstacle(const int i) const
Definition DetourTileCache.h:129
NAVMESH_API dtStatus addTile(unsigned char *data, const int dataSize, unsigned char flags, dtCompressedTileRef *result)
Definition DetourTileCache.cpp:294
unsigned int decodeObstacleIdSalt(dtObstacleRef ref) const
Decodes an obstacle salt.
Definition DetourTileCache.h:194
struct dtTileCacheCompressor * getCompressor()
Definition DetourTileCache.h:121
NAVMESH_API dtTileCache()
Definition DetourTileCache.cpp:116
NAVMESH_API dtCompressedTile * getTileAt(const int tx, const int ty, const int tlayer)
Definition DetourTileCache.cpp:247
NAVMESH_API dtStatus buildNavMeshTilesAt(const int tx, const int ty, class dtNavMesh *navmesh)
Definition DetourTileCache.cpp:610
NAVMESH_API dtStatus removeObstacle(const dtObstacleRef ref)
Definition DetourTileCache.cpp:438
int getTileCount() const
Definition DetourTileCache.h:125
action
Definition TestServer.py:515
Definition DetourTileCache.h:43
unsigned char * data
Definition DetourTileCache.h:48
dtCompressedTile * next
Definition DetourTileCache.h:51
unsigned int flags
Definition DetourTileCache.h:50
unsigned char * compressed
Definition DetourTileCache.h:46
int compressedSize
Definition DetourTileCache.h:47
struct dtTileCacheLayerHeader * header
Definition DetourTileCache.h:45
int dataSize
Definition DetourTileCache.h:49
unsigned int salt
Counter describing modifications to the tile.
Definition DetourTileCache.h:44
Definition DetourNavMeshBuilder.h:65
Definition DetourTileCacheBuilder.h:133
Definition DetourTileCacheBuilder.h:152
Definition DetourTileCacheBuilder.h:50
Definition DetourTileCache.h:99
virtual void markAreas(struct dtTileCacheLayer *layer, const dtReal *orig, const dtReal cs, const dtReal ch)=0
virtual void process(struct dtNavMeshCreateParams *params, unsigned char *polyAreas, unsigned short *polyFlags)=0
virtual void markAreas(struct dtTileCacheLayer *layer, const float *orig, const float cs, const float ch) final
Definition DetourTileCache.h:105
Definition DetourTileCache.h:64
unsigned char ntouched
Definition DetourTileCache.h:71
dtCompressedTileRef touched[DT_MAX_TOUCHED_TILES]
Definition DetourTileCache.h:67
unsigned char state
Definition DetourTileCache.h:70
dtReal height
Definition DetourTileCache.h:66
unsigned char npending
Definition DetourTileCache.h:72
dtReal pos[3]
Definition DetourTileCache.h:65
dtReal radius
Definition DetourTileCache.h:66
dtTileCacheObstacle * next
Definition DetourTileCache.h:73
unsigned short salt
Definition DetourTileCache.h:69
dtCompressedTileRef pending[DT_MAX_TOUCHED_TILES]
Definition DetourTileCache.h:68
Definition DetourTileCache.h:77
int width
Definition DetourTileCache.h:80
dtReal orig[3]
Definition DetourTileCache.h:78
int height
Definition DetourTileCache.h:80
int maxTiles
Definition DetourTileCache.h:86
dtReal ch
Definition DetourTileCache.h:79
dtReal maxSimplificationError
Definition DetourTileCache.h:84
int regionPartitioning
Definition DetourTileCache.h:94
int maxObstacles
Definition DetourTileCache.h:87
dtReal detailSampleDist
Definition DetourTileCache.h:89
dtReal walkableRadius
Definition DetourTileCache.h:82
dtReal detailSampleMaxError
Definition DetourTileCache.h:90
dtReal cs
Definition DetourTileCache.h:79
dtReal walkableClimb
Definition DetourTileCache.h:83
int mergeRegionArea
Definition DetourTileCache.h:92
int minRegionArea
Definition DetourTileCache.h:91
dtReal walkableHeight
Definition DetourTileCache.h:81
dtReal simplificationElevationRatio
Definition DetourTileCache.h:85
int regionChunkSize
Definition DetourTileCache.h:93