All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NavigationGraphLink.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Navigation.h"
7 #include "VectorMathDecl.h"
8 
9 namespace Eegeo
10 {
11  namespace Resources
12  {
13  namespace Roads
14  {
15  namespace Navigation
16  {
18  {
19 
20  public:
21  NavigationGraphLink(NavigationGraph* navGraphInstance, int roadIndex, bool isAtEndOfRoad);
22  ~NavigationGraphLink() {};
23 
24  NavigationGraph* GetNavGraph() const { return m_navGraph; }
25  int GetRoadIndex() const { return m_roadIndex; }
26  bool GetIsLeavingCell() const { return m_isAtEndOfRoad; }
27 
30  bool IsAtEndOfRoad() const { return m_isAtEndOfRoad; }
31 
34 
35  const v3& GetLinkedRoadVertex() const;
36 
37  int GetLinkedRoadVertexIndex() const;
38 
39  bool IsEqual(const NavigationGraphLink& other) const
40  {
41  return m_navGraph == other.m_navGraph &&
42  m_roadIndex == other.m_roadIndex &&
43  m_isAtEndOfRoad == other.m_isAtEndOfRoad;
44  }
45 
46  private:
47  NavigationGraph* m_navGraph;
48  int m_roadIndex;
49  bool m_isAtEndOfRoad;
50 
51  };
52  }
53  }
54  }
55 }