8 #include "ClippedRoute.h"
9 #include "RouteVertex.h"
18 std::vector<RouteVertex> m_points;
22 bool m_fittingToNavigationGraphEnabled;
23 bool m_projectToTerrain;
26 Route(
const std::vector<RouteVertex>& clippedRouteVertices,
28 bool fittingToNavigationGraphEnabled,
32 const std::vector<RouteVertex>& GetPoints()
const;
34 void GetCoveredKeys(std::vector<Streaming::MortonKey>& coverage)
const;
36 bool TryGetClippedRouteSectionsForCell(
const Streaming::MortonKey& key, std::vector<Clipping::ClippedRouteSection>& sections)
const;
40 const std::vector<Clipping::ClippedRouteSection>& GetClippedRouteSectionsForCell(
const Streaming::MortonKey& key)
const;
42 void GetClippedRouteSectionsForCells(
const std::vector<Streaming::MortonKey>& keys, std::vector<Clipping::ClippedRouteSection>& out_clippedRouteSections)
const;
44 bool GetFittingToNavigationGraphEnabled()
const;
46 double GetLength()
const;
48 bool ShouldProjectToTerrain()
const;
50 static int FindRouteVertexIndexImmediatelyBefore(
const std::vector<RouteVertex>& routeVertices,
const double routeParam);
52 static RouteVertex GetInterpolatedRouteVertex(
const std::vector<RouteVertex>& routeVertices,
const double routeParam,
v3& out_direction);
54 static double DistanceToRoute(
const std::vector<RouteVertex>& routeVertices,
const dv3& pointEcef,
double& out_paramAtClosestApproach,
int& out_indexImmediatelyBefore);