5 #include "BuiltResourceWithKey.h"
7 #include "Navigation.h"
9 #include "VectorMath.h"
10 #include "CubeMapCellInfo.h"
11 #include "DoublePlane.h"
13 #include "Point3Spline.h"
31 typedef std::vector<NavigationGraphRoad*> TRoadsVector;
35 const std::vector<Geometry::DoublePlane>& cellBoundaryPlanes,
37 const std::vector<u16>::const_iterator roadIndicesJoiningCellBegin,
38 const std::vector<u16>::const_iterator roadIndicesJoiningCellEnd,
39 const std::vector<u16>::const_iterator roadIndicesLeavingCellBegin,
40 const std::vector<u16>::const_iterator roadIndicesLeavingCellEnd,
42 size_t totalVerticesInNavigationGraph,
43 const std::vector<Geometry::Point3Spline>& roadSplines,
49 const std::vector<Geometry::DoublePlane>& cellBoundaryPlanes,
51 const std::vector<Geometry::Point3Spline>& roadSplines,
58 const std::vector<Geometry::DoublePlane>& GetCellBoundaryPlanes()
const {
return m_cellBoundaryPlanes; }
59 size_t GetTotalVerticesInNavigationGraph()
const {
return m_totalVerticesInNavigationGraph; }
61 const Eegeo::v3& GetUpECEF()
const {
return m_upECEF; }
62 const TRoadsVector& GetRoads()
const {
return m_roads; }
63 const std::vector<u16> GetRoadIndicesJoiningCell()
const {
return m_roadIndicesJoiningCell; }
64 const std::vector<u16> GetRoadIndicesLeavingCell()
const {
return m_roadIndicesLeavingCell; }
65 const TRoadsVector& GetRoadsWithCellConnections()
const {
return m_roadsWithCellConnections; }
66 void ClearRoadsWithCellConnections() { m_roadsWithCellConnections.clear(); }
69 void AddedToSceneGraph();
70 void RemovedFromSceneGraph();
73 bool OwnsRoad(
NavigationGraphRoad* road)
const {
return std::find(m_roads.begin(), m_roads.end(), road) != m_roads.end(); }
75 const std::vector<Geometry::Point3Spline>& GetRoadSplines()
const {
return m_roadSplines; }
80 bool AreConnectionsValid()
const;
83 TRoadsVector m_roadsWithCellConnections;
84 std::vector<u16> m_roadIndicesLeavingCell;
85 std::vector<u16> m_roadIndicesJoiningCell;
87 std::vector<Geometry::DoublePlane> m_cellBoundaryPlanes;
90 size_t m_totalVerticesInNavigationGraph;
92 std::vector<Geometry::Point3Spline> m_roadSplines;