8 #include "VectorMathDecl.h"
9 #include "VectorMath.h"
19 namespace NavGraphConforming
25 const std::vector<int>& clipVertexIndices,
27 const std::vector<const NavGraphFittingInfoForKey*>& roadFittingInfos,
28 const std::vector<const NavGraphFittingInfoForKey*>& railFittingInfos,
30 const float maxRadius,
33 void CreateCandidateSets(std::vector<const CandidateSet*>& out_candidateSets,
bool& out_anyCandidatesFound);
38 void CreateCandidatesForVertex(
39 const v3& lineSegmentStart,
40 const v3& lineSegmentEnd,
41 const std::vector<const NavGraphRoadFittingInfo*>& fittingInfos,
42 std::vector<Candidate*>& out_candidates,
43 int& out_uniqueRoadCount
46 void CreateCandidatesForRoad(
const v3& lineSegmentStartInFittingInfo,
47 const v3& lineSegmentEndInFittingInfo,
49 const v3& translationToFittingInfoCell,
50 std::vector<Candidate*>& out_candidates);
54 bool IsRoadEncapsulatedByInflatedRoute(
56 const v3& translationToCentralCell)
const;
59 const v3& translationToFittingInfoCell,
60 std::vector<v3>::const_iterator routePointsStart,
61 std::vector<v3>::const_iterator routePointsEnd)
const;
63 void FindRoadsPotentiallyIntersectingRoute(
const std::vector<const NavGraphFittingInfoForKey*>& fittingInfos,
64 std::vector<const NavGraphRoadFittingInfo*>& out_roadFittingInfos)
const;
66 void FindRoadsEncapsulatedByInflatedRoute(
const std::vector<const NavGraphRoadFittingInfo*>& roadsPotentiallyIntersectingRoute,
67 std::vector<const NavGraphRoadFittingInfo*>& out_roadsEncapsulatedByInflatedRoute,
68 std::vector<const NavGraphRoadFittingInfo*>& out_remainder)
const;
70 void FindRoadsPotentiallyClipped(
const std::vector<const NavGraphRoadFittingInfo*>& roads,
71 std::vector<const NavGraphRoadFittingInfo*>& out_roadsPotentiallyClipped)
const;
73 void FindCandidateRoads(
const std::vector<const NavGraphFittingInfoForKey*>& fittingInfos,
74 std::vector<const NavGraphRoadFittingInfo*>& out_roadFittingInfos)
const;
77 const std::vector<LocalRouteVertex>& m_inputLocalRouteVertices;
78 const std::vector<int>& m_clipVertexIndices;
81 std::vector<const NavGraphRoadFittingInfo*> m_roadCandidateFittingInfos;
82 std::vector<const NavGraphRoadFittingInfo*> m_railCandidateFittingInfos;
85 const float m_maxRadius;