Kaim::Path Class Reference

#include <path.h>

Class Description

Classes

class  CreateConfig
 

Path Creation

static Ptr< PathCreatePath (const CreateConfig &createConfig)
 
void SetNavigationProfileId (KyUInt32 navigationProfileId)
 
KyUInt32 GetNavigationProfileId () const
 

Get Counts

KyUInt32 GetNodeCount () const
 
KyUInt32 GetEdgeCount () const
 

Get Cost and Distance

KyFloat32 GetPathDistance () const
 
KyFloat32 GetPathCost () const
 

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)
 

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
 
Ptr< ChannelArraym_channelArray
 

For internal use only

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

Member Function Documentation

static 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.

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: