gwnavruntime/navmesh/itrianglecostmap.h Source File
Go to the documentation of this file.
26 class ActiveNavFloorCollection;
27 class NavTriangleRawPtr;
28 class TriangleCostInCell;
32 class ITriangleCostMap :
public RefCountBase<ITriangleCostMap, MemStat_CostMap>
37 virtual ~ITriangleCostMap();
44 virtual
void Recompute() = 0;
56 template<class CostMultiplierComputer>
57 void InitAndBrowseAllTrianglesInBox3f(CostMultiplierComputer& compute, const Box3f& aabb);
73 template<class CostMultiplierComputer>
74 void InitAndPropagateInTrianglesFromPosInVolume(CostMultiplierComputer& compute, const Box3f& aabb, const Vec3f& inputPosition);
77 void BindToDatabase(Database* database);
78 void UnbindFromDatabase();
79 bool IsBindToADatabase()
const {
return m_database !=
nullptr; }
81 void SetCostMultiplier(
const NavTriangleRawPtr& triangle,
KyFloat32 costMultiplier);
82 KyFloat32 GetCostMultiplier(
const NavTriangleRawPtr& triangle)
const;
84 const CellBox& GetCellBox()
const {
return m_cellBox; }
90 bool InitCostMapForBox3f(
const Box3f& aabb);
93 bool DoesNavFloorIntersectBox3f(NavFloor* navFloor,
const Box3f& aabb)
const;
97 char* m_bufferOfCostsInCell;
103 void InitFromNewCellBox();
105 void InitBuffer(
KyUInt32 newElementCount);
107 void AllocateMemory(
KyUInt32 newElementCount);
108 void ReleaseMemory();
111 KyUInt32 GetIndexInCollection()
const {
return m_indexInCollection; }
112 void SetIndexInCollection(
KyUInt32 indexInCollection) { m_indexInCollection = indexInCollection; }
Box2i CellBox
A type that represents a bounding box around cells in a 2D grid.
Definition: navmeshtypes.h:31
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
float KyFloat32
float
Definition: types.h:32