Kaim::Path Class Reference

#include <path.h>

Class Description

Classes

class  CreateConfig
 A class that configures the creation of a Path. More...
 

Related Functions

(Note that these are not member functions.)

enum  PathEdgeType
 Defines the different kind of PathEdge within a Path. More...
 

Path Creation

static Ptr< PathCreatePath (const CreateConfig &createConfig)
 Creates a Path instance and allocates necessary memory accordingly to the information provided through createConfig. More...
 
void SetNavigationProfileId (KyUInt32 navigationProfileId)
 
KyUInt32 GetNavigationProfileId () const
 

Get Counts

KyUInt32 GetNodeCount () const
 
KyUInt32 GetEdgeCount () const
 

Get Cost and Distance

KyFloat32 GetPathDistance () const
 Retrieves the total sum of the distance covered by each segment of the path. More...
 
KyFloat32 GetPathCost () const
 Retrieves the total sum of the cost calculated for each segment of the path by a RayCanGoQuery. More...
 

Get Node Data

const Vec3fGetPathStartPosition () const
 
const Vec3fGetPathEndPosition () const
 
const Vec3fGetNodePositionBuffer () const
 
const Vec3fGetNodePosition (KyUInt32 nodeIdx) const
 
Vec3fGetNodePosition (KyUInt32 nodeIdx)
 
const WorldIntegerPosGetNodeIntegerPositionBuffer () const
 
const WorldIntegerPosGetNodeIntegerPosition (KyUInt32 nodeIdx) const
 
WorldIntegerPosGetNodeIntegerPosition (KyUInt32 nodeIdx)
 
const NavTrianglePtrGetNodeNavTrianglePtr (KyUInt32 nodeIdx) const
 
NavTrianglePtrGetNodeNavTrianglePtr (KyUInt32 nodeIdx)
 
const NavGraphVertexPtrGetNodeNavGraphVertexPtr (KyUInt32 nodeIdx) const
 
NavGraphVertexPtrGetNodeNavGraphVertexPtr (KyUInt32 nodeIdx)
 
bool HasEpsilonEdges () const
 

Get Edge Data

const Vec3fGetPathEdgeStartPosition (KyUInt32 edgeIdx) const
 
const Vec3fGetPathEdgeEndPosition (KyUInt32 edgeIdx) const
 
const NavTrianglePtrGetPathEdgeStartNavTrianglePtr (KyUInt32 edgeIdx) const
 
const NavTrianglePtrGetPathEdgeEndNavTrianglePtr (KyUInt32 edgeIdx) const
 
const NavGraphEdgePtrGetEdgeNavGraphEdgePtr (KyUInt32 edgeIdx) const
 
NavGraphEdgePtrGetEdgeNavGraphEdgePtr (KyUInt32 edgeIdx)
 
PathEdgeType GetPathEdgeType (KyUInt32 edgeIdx) const
 

Set Node Data

void SetNodePosition (KyUInt32 nodeIdx, const Vec3f &position)
 
void SetNodeIntegerPosition (KyUInt32 nodeIdx, const WorldIntegerPos &integerPos)
 
void SetNodeNavTrianglePtr (KyUInt32 nodeIdx, const NavTrianglePtr &navTrianglePtr)
 
void SetNodeNavGraphVertexPtr (KyUInt32 nodeIdx, const NavGraphVertexPtr &navGraphVertexPtr)
 
void SetNodePosition3fAndInteger (KyUInt32 nodeIdx, const Vec3f &position, const WorldIntegerPos &integerPos)
 

Set Edge Data

void SetEdgeNavGraphEdgePtr (KyUInt32 edgeIdx, const NavGraphEdgePtr &navGraphEdgePtr)
 
void SetPathEdgeType (KyUInt32 edgeIdx, PathEdgeType edgeType)
 
void SetPathCostAndDistance (KyFloat32 pathCost, KyFloat32 pathDistance)
 
const CellBoxGetPathCellBox () const
 
CellBoxGetPathCellBox ()
 
void SetPathCellBox (const CellBox &cellBox)
 
void ComputeAllNodeIntegerPositionAndPathCellBox (const DatabaseGenMetrics &genMetrics)
 
KyUInt32 GetByteSize () const
 

Public Data Members

Databasem_database
 The Database on which the Path has been computed. More...
 
Ptr< ChannelArraym_channelArray
 The ChannelArray maintaining Channels around the path sections laying on the NavMesh. More...
 

For internal use only

void AddRef ()
 
void Release ()
 
int GetRefCount () const
 

Member Function Documentation

Ptr< Path > Kaim::Path::CreatePath ( const CreateConfig createConfig)
static

Creates a Path instance and allocates necessary memory accordingly to the information provided through createConfig.

KyFloat32 Kaim::Path::GetPathCost ( ) const
inline

Retrieves the total sum of the cost calculated for each segment of the path by a RayCanGoQuery.

Note that this value is calculated when the path is created, and is not updated dynamically.

KyFloat32 Kaim::Path::GetPathDistance ( ) const
inline

Retrieves the total sum of the distance covered by each segment of the path.

Note that this value is calculated when the path is created, and is not updated dynamically.

Friends And Related Function Documentation

enum PathEdgeType
related

Defines the different kind of PathEdge within a Path.

Member Data Documentation

Ptr<ChannelArray> Kaim::Path::m_channelArray

The ChannelArray maintaining Channels around the path sections laying on the NavMesh.

Database* Kaim::Path::m_database

The Database on which the Path has been computed.

If you created the Path by yourself and want a Bot follow it you must set m_database to the Database on which the Bot will move.


The documentation for this class was generated from the following files:
  • gwnavruntime/path/path.h
  • gwnavruntime/path/path.cpp
  • gwnavruntime/path/path.inl