All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
RedundantNodeEvicter.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 <vector>
8 
9 namespace Eegeo
10 {
11  namespace Streaming
12  {
14  {
15  private:
16  QuadTreeNodePool *p_mNodePool;
17  int m_numOfNodesEvicted;
18  int m_totalNodesEvicted;
19 
20  public:
21  int numOfNodesEvicted() { return m_numOfNodesEvicted; }
22  int totalNodesEvicted() { return m_totalNodesEvicted; }
23 
25  :p_mNodePool(pNodePool),
26  m_numOfNodesEvicted(0),
27  m_totalNodesEvicted(0)
28  {
29  }
30 
31  void evictEmptyLeafNodes(int updateCount, std::vector<MortonKey>& keysThatAreNoLongerVisible);
32  void evictAllNodes();
33  };
34  }
35 }