10 #ifndef Navigation_Path_H
11 #define Navigation_Path_H
22 class DatabaseGenMetrics;
37 PathEdgeType_MaxCount,
67 void SetNavigationProfileId(
KyUInt32 navigationProfileId);
68 KyUInt32 GetNavigationProfileId()
const;
87 const Vec3f& GetPathStartPosition()
const;
88 const Vec3f& GetPathEndPosition()
const;
90 const Vec3f* GetNodePositionBuffer()
const;
106 const Vec3f& GetPathEdgeStartPosition(
KyUInt32 edgeIdx)
const;
107 const Vec3f& GetPathEdgeEndPosition (
KyUInt32 edgeIdx)
const;
119 void SetNodePosition (
KyUInt32 nodeIdx,
const Vec3f& position );
132 const CellBox& GetPathCellBox()
const;
134 void SetPathCellBox(
const CellBox& cellBox);
136 void ComputeAllNodeIntegerPositionAndPathCellBox(
const DatabaseGenMetrics& genMetrics);
143 void ClearAllBeforeDestruction();
146 void ClearBufferCPP(T*& buffer,
KyUInt32 count);
148 void ClearBufferPOD(T*& buffer,
KyUInt32 count);
150 void InitBufferCPP(T*& buffer,
KyUInt32 count,
char*& memory);
152 void InitBufferPOD(T*& buffer,
KyUInt32 count,
char*& memory);
180 Vec3f* m_nodePositions;
195 int GetRefCount()
const {
return RefCount; }
This class represents a two-dimensional axis-aligned bounding box whose dimensions are stored using 3...
Definition: box2i.h:119
A class that configures the creation of a Path.
Definition: path.h:52
The PathEdge corresponds to a NavGraph edge.
Definition: path.h:30
The PathEdge is going along an a NavGraphEdge but not starting nor ending at one of the NavGrapHVerte...
Definition: path.h:35
Database * m_database
The Database on which the Path has been computed.
Definition: path.h:201
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
The PathEdge is going from the NavMesh to outside.
Definition: path.h:34
The PathEdgeType has not yet been set for the corresponding PathEdge.
Definition: path.h:28
This class is a runtime container for all NavData that represents the world from the point of view of...
Definition: database.h:64
unsigned char KyUInt8
Type used internally to represent an unsigned 8-bit integer.
Definition: types.h:41
Definition: gamekitcrowddispersion.h:20
Each instance of this class uniquely identifies a single NavGraphVertex in a NavGraph.
Definition: navgraphvertexptr.h:22
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
The PathEdge is going from the NavMesh to outside.
Definition: path.h:32
Utilities for dealing with NavData coordinates, which are expressed in a world space based on integer...
Definition: worldintegerpos.h:21
PathEdgeType
Defines the different kind of PathEdge within a Path.
Definition: path.h:26
The PathEdge has been computed on the NavMesh.
Definition: path.h:29
KyFloat32 GetPathCost() const
Retrieves the total sum of the cost calculated for each segment of the path by a RayCanGoQuery.
Definition: path.inl:45
The PathEdge is coming from outside to the NavMesh.
Definition: path.h:31
Each instance of this class uniquely identifies a single NavTriangle in a NavFloor.
Definition: navtriangleptr.h:22
The PathEdge is coming from outside to the NavMesh.
Definition: path.h:33
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
Ptr< ChannelArray > m_channelArray
The ChannelArray maintaining Channels around the path sections laying on the NavMesh.
Definition: path.h:204
KyFloat32 GetPathDistance() const
Retrieves the total sum of the distance covered by each segment of the path.
Definition: path.inl:44
Each instance of this class uniquely identifies a single and mono-directionnal NavGraphEdge in a NavG...
Definition: navgraphedgeptr.h:25
The PathEdge is fro an abstract Path.
Definition: path.h:36
static Ptr< Path > CreatePath(const CreateConfig &createConfig)
Creates a Path instance and allocates necessary memory accordingly to the information provided throug...
This class gathers a set of generation parameters of one Database and manages the conversion between ...
Definition: databasegenmetrics.h:24
The class representing a path.
Definition: path.h:42
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23