All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TransportGraphModule.h
1 #pragma once
2 
3 #include "Transport.h"
4 #include "Types.h"
5 #include "Modules.h"
6 #include "Graphs.h"
7 
8 namespace Eegeo
9 {
10  namespace Transport
11  {
13  {
14  public:
15  static TransportGraphModule* Create(
17  );
18 
20 
21  ITransportGraphChangedEvent& GetTransportGraphChangedEvent() const { return *m_pTransportGraphChangedEvent; }
22 
23  ITransportTiledGraphService& GetTransportTiledGraphService() const { return *m_pTransportTiledGraphService; }
24 
25  private:
27  ITransportGraphChangedEvent* pTransportGraphChangedEvent,
28  TransportTiledGraphObserver* pRoadTransportTiledGraphObserver,
29  TransportTiledGraphObserver* pRailTransportTiledGraphObserver,
30  TransportTiledGraphObserver* pTramTransportTiledGraphObserver,
31  ITransportWayClassificationLookup* pTransportWayClassificationLookup,
32  ITransportNodeBuilder* pRoadTransportNodeBuilder,
33  ITransportNodeBuilder* pRailTransportNodeBuilder,
34  ITransportNodeBuilder* pTramTransportNodeBuilder,
35  ITransportDirectedEdgeBuilder* pRoadTransportDirectedEdgeBuilder,
36  ITransportDirectedEdgeBuilder* pRailTransportDirectedEdgeBuilder,
37  ITransportDirectedEdgeBuilder* pTramTransportDirectedEdgeBuilder,
38  ITransportWayBuilder* pRoadTransportWayBuilder,
39  ITransportWayBuilder* pRailTransportWayBuilder,
40  ITransportWayBuilder* pTramTransportWayBuilder,
41  Graphs::TiledGraphPathfinder* pRoadTiledGraphPathfinder,
42  Graphs::TiledGraphPathfinder* pRailTiledGraphPathfinder,
43  Graphs::TiledGraphPathfinder* pTramTiledGraphPathfinder,
44  ITransportTiledGraphService* pTransportTiledGraphService
45  );
46 
47  ITransportGraphChangedEvent* const m_pTransportGraphChangedEvent;
48  TransportTiledGraphObserver* const m_pRoadTransportTiledGraphObserver;
49  TransportTiledGraphObserver* const m_pRailTransportTiledGraphObserver;
50  TransportTiledGraphObserver* const m_pTramTransportTiledGraphObserver;
51  ITransportWayClassificationLookup* const m_pTransportWayClassificationLookup;
52  ITransportNodeBuilder* const m_pRoadTransportNodeBuilder;
53  ITransportNodeBuilder* const m_pRailTransportNodeBuilder;
54  ITransportNodeBuilder* const m_pTramTransportNodeBuilder;
55  ITransportDirectedEdgeBuilder* const m_pRoadTransportDirectedEdgeBuilder;
56  ITransportDirectedEdgeBuilder* const m_pRailTransportDirectedEdgeBuilder;
57  ITransportDirectedEdgeBuilder* const m_pTramTransportDirectedEdgeBuilder;
58  ITransportWayBuilder* const m_pRoadTransportWayBuilder;
59  ITransportWayBuilder* const m_pRailTransportWayBuilder;
60  ITransportWayBuilder* const m_pTramTransportWayBuilder;
61  Graphs::TiledGraphPathfinder* const m_pRoadTiledGraphPathfinder;
62  Graphs::TiledGraphPathfinder* const m_pRailTiledGraphPathfinder;
63  Graphs::TiledGraphPathfinder* const m_pTramTiledGraphPathfinder;
64  ITransportTiledGraphService* const m_pTransportTiledGraphService;
65  };
66 
67  }
68 }