All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SolverNodeAllocator.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Routes.h"
7 #include <deque>
8 
9 
10 namespace Eegeo
11 {
12  namespace Routes
13  {
14  namespace Fitting
15  {
16  namespace NavGraphConforming
17  {
19  {
20  public:
21  virtual ~SolverNodeAllocator();
22  virtual SolverNode* CreateNode(const Candidate* candidate, SolverNode* prev, float f, float g);
23  virtual void ReleaseNode(SolverNode* pNode);
24  virtual void ReleaseAllNodes();
25  virtual void DestroyNodes();
26  private:
27  std::deque<SolverNode*> m_allocatedNodes;
28  std::deque<SolverNode*> m_freeNodes;
29 
30  };
31  }
32  }
33  }
34 }