All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
QuadTreeNodePool.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Streaming.h"
7 #include "Pool.h"
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Streaming
13  {
15  {
16  public:
17  static const int POOL_SIZE = 1780;
18 
19  private:
20  QuadTreeNodePoolItemFactory *m_pFactory;
22 
23  public:
24  int GetCount() { return m_pNodePool->GetCount(); }
25  int GetCapacity() { return m_pNodePool->GetCapacity(); }
26  const std::vector<DataStructures::PoolEntry<QuadTreeNode*> >& GetEntries() { return m_pNodePool->GetEntries(); }
27 
30 
31  QuadTreeNode* allocateNode();
32 
33  void releaseNode(QuadTreeNode *node);
34  };
35  }
36 }