All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
NavGraphHelpers.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 <vector>
8 
9 namespace Eegeo
10 {
11  namespace Resources
12  {
13  namespace Roads
14  {
15  namespace Navigation
16  {
17 
19  {
20  public:
21  enum ConnectivityFlags
22  {
23  NotConnected = 0x0,
24  StartA_StartB = 0x1,
25  StartA_EndB = 0x2,
26  EndA_StartB = 0x4,
27  EndA_EndB = 0x8
28  };
29 
30  static int FindRoadIndex(const NavigationGraphRoad& road, const NavigationGraph& navGraph);
31 
32  static uint GetConnectivity(const NavigationGraphRoad& roadA, const NavigationGraphRoad& roadB,
33  const NavigationGraph& navGraphA, const NavigationGraph& navGraphB);
34 
35  static uint GetInternalConnectivity(const NavigationGraphRoad& roadA, const NavigationGraphRoad& roadB, const NavigationGraph& navGraph);
36 
37  static uint GetInternalConnectivity(const NavigationGraphRoad& roadA, const NavigationGraphRoad& roadB, const std::vector<NavigationGraphRoad*>& roads);
38 
39  static uint GetLinkConnectivity(const NavigationGraphRoad& roadA, const NavigationGraphRoad& roadB,
40  const NavigationGraph& navGraphA, const NavigationGraph& navGraphB);
41 
42 
43 
44 
45  };
46  }
47  }
48  }
49 }