Plasma Engine  2.0
Loading...
Searching...
No Matches
PointOfInterestGraph.h
1#pragma once
2
3#include <Foundation/Math/Vec3.h>
4#include <GameComponentsPlugin/GameComponentsDLL.h>
5#include <Utilities/DataStructures/DynamicOctree.h>
6
7template <typename POINTTYPE>
9{
10public:
11 void Initialize(const plVec3& vCenter, const plVec3& vHalfExtents, float fCellSize = 1.0f);
12
13 POINTTYPE& AddPoint(const plVec3& vPosition);
14
15 void FindPointsOfInterest(const plVec3& vPosition, float fRadius, plDynamicArray<plUInt32>& out_points) const;
16
17 const plDeque<POINTTYPE>& GetPoints() const { return m_Points; }
18 plDeque<POINTTYPE>& AccessPoints() { return m_Points; }
19
20private:
21 plDeque<POINTTYPE> m_Points;
22 plDynamicOctree m_Octree;
23};
24
25#include <RecastPlugin/Components/PointOfInterestGraph_inl.h>
Definition Deque.h:270
Definition DynamicArray.h:81
A loose Octree implementation that is very lightweight on RAM.
Definition DynamicOctree.h:32
Definition PointOfInterestGraph.h:9