62 return (
unsigned int)(node - m_nodes)+1;
68 return &m_nodes[idx-1];
74 return &m_nodes[idx-1];
79 return sizeof(*this) +
80 sizeof(
dtNode)*m_maxNodes +
108 const int m_maxNodes;
109 const int m_hashSize;
111 int m_maxRuntimeNodes;
135 dtNode* result = m_heap[0];
137 trickleDown(0, m_heap[m_size]);
144 bubbleUp(m_size-1, node);
149 for (
int i = 0; i < m_size; ++i)
151 if (m_heap[i] == node)
159 inline bool empty()
const {
return m_size == 0; }
163 return sizeof(*this) +
164 sizeof(
dtNode*)*(m_capacity+1);
170 void bubbleUp(
int i,
dtNode* node);
171 void trickleDown(
int i,
dtNode* node);
174 const int m_capacity;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
double dtReal
Definition DetourLargeWorldCoordinates.h:15
dtNodeFlags
Definition DetourNode.h:30
@ DT_NODE_OPEN
Definition DetourNode.h:31
@ DT_NODE_CLOSED
Definition DetourNode.h:32
unsigned short dtNodeIndex
Definition DetourNode.h:35
uint64 dtPolyRef
Definition RecastGraphAStar.h:28
Definition DetourNode.h:50
int getMemUsed() const
Definition DetourNode.h:77
void clear()
Definition DetourNode.cpp:88
dtNode * getNodeAtIdx(unsigned int idx)
Definition DetourNode.h:65
const dtNode * getNodeAtIdx(unsigned int idx) const
Definition DetourNode.h:71
unsigned int getNodeIdx(const dtNode *node) const
Definition DetourNode.h:59
int getNodeCount() const
Definition DetourNode.h:92
dtNode * findNode(dtPolyRef id)
Definition DetourNode.cpp:94
void operator=(const dtNodePool &)
Definition DetourNode.h:54
dtNodeIndex getFirst(int bucket) const
Definition DetourNode.h:95
int getHashSize() const
Definition DetourNode.h:94
dtNode * getNode(dtPolyRef id)
Definition DetourNode.cpp:107
~dtNodePool()
Definition DetourNode.cpp:81
int getMaxNodes() const
Definition DetourNode.h:85
void setMaxRuntimeNodes(const int newMaxRuntimeNodes)
Definition DetourNode.h:100
int getMaxRuntimeNodes() const
Definition DetourNode.h:90
dtNodeIndex getNext(int i) const
Definition DetourNode.h:96
Definition DetourNode.h:117
int getMemUsed() const
Definition DetourNode.h:161
void operator=(dtNodeQueue &)
Definition DetourNode.h:121
bool empty() const
Definition DetourNode.h:159
int getCapacity() const
Definition DetourNode.h:167
void push(dtNode *node)
Definition DetourNode.h:141
~dtNodeQueue()
Definition DetourNode.cpp:154
void modify(dtNode *node)
Definition DetourNode.h:147
void clear()
Definition DetourNode.h:123
dtNode * pop()
Definition DetourNode.h:133
dtNode * top()
Definition DetourNode.h:128
Definition DetourNode.h:39
dtPolyRef id
Polygon ref the node corresponds to.
Definition DetourNode.h:45
dtReal cost
Cost from previous node to current node.
Definition DetourNode.h:41
unsigned int flags
Node flags 0/open/closed.
Definition DetourNode.h:44
dtReal pos[3]
Position of the node.
Definition DetourNode.h:40
dtReal total
Cost up to the node.
Definition DetourNode.h:42
unsigned int pidx
Index to parent node.
Definition DetourNode.h:43