All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
ITransportTiledGraphService.h
1 #pragma once
2 
3 #include "Transport.h"
4 #include "Graphs.h"
5 #include "TransportEventTypes.h"
6 #include "TransportWay.h"
7 #include "TransportNode.h"
8 #include "TransportDirectedEdge.h"
9 #include "TransportPathfindResult.h"
10 
11 #include <vector>
12 
13 namespace Eegeo
14 {
15  namespace Transport
16  {
18  {
19  public:
20  virtual ~ITransportTiledGraphService() { ; }
21 
22  virtual ITransportGraphChangedEvent& GetTransportGraphChangedEvent() const = 0;
23 
24  virtual const Eegeo::Graphs::TiledGraph& GetTiledGraphForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
25 
26  virtual TransportPathfindResult FindShortestPath(const TransportPathfindOptions& options) = 0;
27 
28  virtual void ReleasePathfindResult(int pathfindResultId) = 0;
29 
30  virtual bool PathfindResultExists(int pathfindResultId) = 0;
31 
32  virtual const TransportPathfindResult& GetPathfindResult(int pathfindResultId) = 0;
33 
34  virtual bool NodeExists(const TransportNodeId& nodeId) const = 0;
35 
36  virtual TransportNode GetNode(const TransportNodeId& nodeId) const = 0;
37 
38  virtual bool DirectedEdgeExists(const TransportDirectedEdgeId& directedEdgeId) const = 0;
39 
40  virtual TransportDirectedEdge GetDirectedEdge(const TransportDirectedEdgeId& directedEdgeId) const = 0;
41 
42  virtual bool WayExists(const TransportWayId& wayId) const = 0;
43 
44  virtual TransportWay GetWay(const TransportWayId& wayId) const = 0;
45 
46  virtual std::vector<TransportNodeId> GetNodeIdsForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
47 
48  virtual std::vector<TransportDirectedEdgeId> GetDirectedEdgeIdsForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
49 
50  virtual std::vector<TransportWayId> GetWayIdsForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
51 
52  virtual std::vector<TransportNodeId> GetNodeIdsForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
53 
54  virtual std::vector<TransportDirectedEdgeId> GetDirectedEdgeIdsForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
55 
56  virtual std::vector<TransportWayId> GetWayIdsForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
57 
58  virtual int GetNodeCountForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
59 
60  virtual int GetDirectedEdgeCountForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
61 
62  virtual int GetWayCountForNetwork(TransportNetwork::Type transportNetworkType) const = 0;
63 
64  virtual int GetNodeCountForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
65 
66  virtual int GetDirectedEdgeCountForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
67 
68  virtual int GetWayCountForNetworkInCell(TransportNetwork::Type transportNetworkType, const Eegeo::Streaming::MortonKey& cellKey) const = 0;
69 
70 
71  };
72  }
73 }