All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TransportPathfindOptionsBuilder.h
1 #pragma once
2 
3 #include "Transport.h"
4 #include "Types.h"
5 #include "TransportPathfindOptions.h"
6 
7 namespace Eegeo
8 {
9  namespace Transport
10  {
12  {
13  public:
15 
16  TransportPathfindOptionsBuilder& SetPointOnGraphA(const TransportPositionerPointOnGraph& pointOnGraph);
17  TransportPathfindOptionsBuilder& SetPointOnGraphB(const TransportPositionerPointOnGraph& pointOnGraph);
18  TransportPathfindOptionsBuilder& SetPointOnGraphA(const TransportDirectedEdgeId& directedEdgeIdA, double parameterizedPointOnEdgeA);
19  TransportPathfindOptionsBuilder& SetPointOnGraphB(const TransportDirectedEdgeId& directedEdgeIdB, double parameterizedPointOnEdgeB);
20  TransportPathfindOptionsBuilder& SetUTurnAllowedAtA(bool uTurnAllowedAtA);
21  TransportPathfindOptionsBuilder& SetUTurnAllowedAtB(bool uTurnAllowedAtB);
22 
24 
25  private:
26  TransportDirectedEdgeId m_directedEdgeIdA;
27  TransportDirectedEdgeId m_directedEdgeIdB;
28  double m_parameterizedPointOnEdgeA;
29  double m_parameterizedPointOnEdgeB;
30  bool m_uTurnAllowedAtA;
31  bool m_uTurnAllowedAtB;
32 
33  bool m_isPointASet;
34  bool m_isPointBSet;
35  };
36  }
37 }