Plasma Engine  2.0
Loading...
Searching...
No Matches
NavMeshPointsOfInterest.h
1#pragma once
2
3#include <Foundation/Time/Time.h>
4#include <RecastPlugin/Components/PointOfInterestGraph.h>
5#include <RecastPlugin/RecastPluginDLL.h>
6
7struct rcPolyMesh;
8
9struct PL_RECASTPLUGIN_DLL plNavMeshPointsOfInterest
10{
11 plVec3 m_vFloorPosition;
12 plUInt32 m_uiVisibleMarker = 0;
13};
14
15class PL_RECASTPLUGIN_DLL plNavMeshPointOfInterestGraph
16{
17public:
20
21 void ExtractInterestPointsFromMesh(const rcPolyMesh& mesh, bool bReinitialize = true /* bad interface design */);
22
23 plUInt32 GetCheckVisibilityTimeStamp() const { return m_uiCheckVisibilityTimeStamp; }
24 void IncreaseCheckVisibiblityTimeStamp(plTime now);
25
26 plPointOfInterestGraph<plNavMeshPointsOfInterest>& GetGraph() { return m_NavMeshPointGraph; }
27 const plPointOfInterestGraph<plNavMeshPointsOfInterest>& GetGraph() const { return m_NavMeshPointGraph; }
28
29protected:
30 plTime m_LastTimeStampStep;
31 plUInt32 m_uiCheckVisibilityTimeStamp = 100;
33};
Definition NavMeshPointsOfInterest.h:16
Definition PointOfInterestGraph.h:9
Definition NavMeshPointsOfInterest.h:10
The time class encapsulates a double value storing the time in seconds.
Definition Time.h:12