Atoms Crowd  7.0.0
AtomsUtils::NavMesh Class Reference

Classes

class  Config
 

Public Member Functions

bool build (const AtomsUtils::Mesh &mesh, const Config &config, bool asTiles=false)
 
unsigned char * buildTileMesh (const AtomsUtils::Mesh &mesh, const Config &config, const int tx, const int ty, const float *bmin, const float *bmax, int &dataSize)
 
void getTilePos (const AtomsUtils::Mesh &mesh, const Config &config, const float *pos, int &tx, int &ty, const float *bmin, const float *bmax)
 
void buildTile (const AtomsUtils::Mesh &mesh, const Config &config, const float *pos, const float *bmin, const float *bmax)
 
void removeTile (const AtomsUtils::Mesh &mesh, const Config &config, const float *pos, const float *bmin, const float *bmax)
 
void buildAllTiles (const AtomsUtils::Mesh &mesh, const Config &config, const float *bmin, const float *bmax)
 
void removeAllTiles (const AtomsUtils::Mesh &mesh, const Config &config, const float *bmin, const float *bmax)
 
void buildPolyMesh ()
 
const AtomsUtils::MeshpolyMesh ()
 
void clear ()
 
void setBoundingBox (const AtomsMath::Box3f &box)
 
virtual void findPath (const AtomsMath::Vector3f &start, const AtomsMath::Vector3f &end, NavMeshPath &path, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual unsigned int findCorridorPath (const AtomsMath::Vector3f &start, const AtomsMath::Vector3f &end, NavMeshPath &path, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool findStraightPath (const AtomsMath::Vector3f &start, const AtomsMath::Vector3f &end, NavMeshPath &path, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool projectPointToNavMesh (const AtomsMath::Vector3f &point, AtomsMath::Vector3f &result, const AtomsMath::Vector3f &extent, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool pathCost (const AtomsMath::Vector3f &pathStart, const AtomsMath::Vector3f &pathEnd, float &cost, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool pathLength (const AtomsMath::Vector3f &pathStart, const AtomsMath::Vector3f &pathEnd, float &length, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool pathConstAndLength (const AtomsMath::Vector3f &pathStart, const AtomsMath::Vector3f &pathEnd, float &cost, float &length, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool raycast (const AtomsMath::Vector3f &rayStart, const AtomsMath::Vector3f &rayEnd, AtomsMath::Vector3f &hitPoint, bool &hit, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool randomPoint (AtomsMath::Vector3f &result, int seed, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool randomReachablePointInRadius (const AtomsMath::Vector3f &origin, int seed, float radius, AtomsMath::Vector3f &result, const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual bool findDistanceToWall (const AtomsMath::Vector3f &point, const float radius, float &hitDist, AtomsMath::Vector3f &hitPos, AtomsMath::Vector3f &hitNormal, const AtomsMath::Vector3f &extent=AtomsMath::Vector3f(1.0, 1.0, 1.0), const dtNavMeshQuery *m_navQuery=nullptr)
 
virtual void getPolyBoundaries (std::vector< AtomsMath::Vector3f > &segmentVerts, int &segmentCount, bool inner, const NavMeshQuery *m_navQuery=nullptr)
 
virtual void initQuery (dtNavMeshQuery *navQuery)
 
virtual bool getEdgeBorderInRadius (const AtomsMath::Vector3f &position, double radius, std::vector< AtomsMath::Vector3f > &lines)
 
virtual bool getEdgeBorderInRadius (const AtomsMath::Vector3 &position, double radius, std::vector< AtomsMath::Vector3 > &lines)
 
const AtomsMath::Box3f & boundingBox () const
 
const RecastContextrecastContext () const
 
const dtNavMeshrecastNavMesh () const
 
const dtNavMeshQueryrecastNavMeshQuery () const
 
const dtQueryFilterrecastNavMeshQueryFilter () const
 

Protected Member Functions

void PostProcessPath (dtStatus FindPathStatus, NavMeshPath &Path, const dtNavMeshQuery &NavQuery, const dtQueryFilter *Filter, int StartPolyID, int EndPolyID, AtomsMath::Vector3f StartLoc, AtomsMath::Vector3f EndLoc, AtomsMath::Vector3f RecastStartPos, AtomsMath::Vector3f RecastEndPos, dtQueryResult &PathResult)
 

Protected Attributes

Mesh m_navPolyMesh
 
AtomsMath::Box3f m_bbox
 
RecastContextm_ctx
 
dtNavMeshm_navMesh
 
dtNavMeshQuery m_navQuery
 
dtQueryFilter m_navQueryFilter
 

The documentation for this class was generated from the following file: