50 InvalidCurrentPosition,
51 InvalidTargetPosition,
58 static constexpr plUInt32 MaxPathNodes = 64;
59 static constexpr plUInt32 MaxSearchNodes = MaxPathNodes * 8;
61 State GetState()
const {
return m_State; }
65 void CancelNavigation();
67 void SetCurrentPosition(
const plVec3& vPosition);
68 void SetTargetPosition(
const plVec3& vPosition);
69 const plVec3& GetTargetPosition()
const;
71 void SetQueryFilter(
const dtQueryFilter& filter);
81 float GetCurrentElevation()
const;
83 void ComputeSteeringInfo(
plAiSteeringInfo& out_info,
const plVec2& vForwardDir,
float fMaxLookAhead = 5.0f);
88 float m_fPolySearchRadius = 0.5f;
89 float m_fPolySearchUp = 1.5f;
90 float m_fPolySearchDown = 1.5f;
94 constexpr static float c_fPathSearchBoundary = 10.0f;
98 State m_State = State::Idle;
103 plUInt8 m_uiCurrentPositionChangedBit : 1;
104 plUInt8 m_uiTargetPositionChangedBit : 1;
105 plUInt8 m_uiEnvironmentChangedBit : 1;
106 plUInt8 m_uiReinitQueryBit : 1;
109 dtNavMeshQuery m_Query;
110 const dtQueryFilter* m_pFilter =
nullptr;
111 dtPathCorridor m_PathCorridor;
113 dtPolyRef m_PathSearchTargetPoly;
114 plVec3 m_vPathSearchTargetPos;
116 plUInt8 m_uiOptimizeTopologyCounter = 0;
117 plUInt8 m_uiOptimizeVisibilityCounter = 0;
119 bool UpdatePathSearch();
Used in plDebugRenderer to determine where debug geometry should be rendered.
Definition DebugRendererContext.h:11