All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
SolverNode.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Routes.h"
6 #include "Types.h"
7 
8 namespace Eegeo
9 {
10  namespace Routes
11  {
12  namespace Fitting
13  {
14  namespace NavGraphConforming
15  {
16  struct SolverNode
17  {
18  SolverNode()
19  : m_candidate(NULL)
20  , m_prev(NULL)
21  , m_f(0.f)
22  , m_g(0.f)
23  {
24 
25  }
26 
27  SolverNode(const Candidate* candidate,
28  SolverNode* prev,
29  float f,
30  float g)
31  : m_candidate(candidate)
32  , m_prev(prev)
33  , m_f(f)
34  , m_g(g)
35  {
36  }
37 
38  const Candidate* candidate() const { return m_candidate; };
39  SolverNode* prev() const { return m_prev; }
40  float f() const { return m_f; }
41  float g() const { return m_g; }
42 
43 
44  void DebugPrint();
45  private:
46  const Candidate* m_candidate;
47  SolverNode* m_prev;
48  float m_f;
49  float m_g;
50  };
51  }
52  }
53  }
54 }