Plasma Engine  2.0
Loading...
Searching...
No Matches
DynamicTree.h
1#pragma once
2
3#include <Foundation/Containers/Map.h>
4#include <Foundation/Math/BoundingBox.h>
5#include <Foundation/Math/Frustum.h>
6#include <Foundation/Math/Vec3.h>
7#include <Utilities/UtilitiesDLL.h>
8
10{
12 {
13 plInt32 m_iObjectType;
14 plInt32 m_iObjectInstance;
15 };
16
18 {
19 plUInt32 m_uiKey;
20 plUInt32 m_uiCounter;
21
23 {
24 m_uiKey = 0;
25 m_uiCounter = 0;
26 }
27
28 inline bool operator<(const plMultiMapKey& rhs) const
29 {
30 if (m_uiKey == rhs.m_uiKey)
31 return m_uiCounter < rhs.m_uiCounter;
32
33 return m_uiKey < rhs.m_uiKey;
34 }
35
36 inline bool operator==(const plMultiMapKey& rhs) const { return (m_uiCounter == rhs.m_uiCounter && m_uiKey == rhs.m_uiKey); }
37 };
38};
39
42
44using PL_VISIBLE_OBJ_CALLBACK = bool (*)(void*, plDynamicTreeObjectConst);
45
46class plDynamicOctree;
A loose Octree implementation that is very lightweight on RAM.
Definition DynamicOctree.h:32
A loose Quadtree implementation that is very lightweight on RAM.
Definition DynamicQuadtree.h:32
Definition DynamicTree.h:18
Definition DynamicTree.h:12
Definition DynamicTree.h:10
Base class for all iterators.
Definition Map.h:11
Forward Iterator to iterate over all elements in sorted order.
Definition Map.h:103