MCPcopy Create free account
hub / github.com/comaps/comaps / Update

Method Update

libs/routing/base/followed_polyline.cpp:85–109  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

83}
84
85void FollowedPolyline::Update()
86{
87 size_t n = m_poly.GetSize();
88 ASSERT_GREATER(n, 1, ());
89 --n;
90
91 m_segDistance.clear();
92 m_segDistance.reserve(n);
93 m_segProj.clear();
94 m_segProj.reserve(n);
95
96 double dist = 0.0;
97 for (size_t i = 0; i < n; ++i)
98 {
99 m2::PointD const & p1 = m_poly.GetPoint(i);
100 m2::PointD const & p2 = m_poly.GetPoint(i + 1);
101
102 dist += mercator::DistanceOnEarth(p1, p2);
103
104 m_segDistance.emplace_back(dist);
105 m_segProj.emplace_back(p1, p2);
106 }
107
108 m_current = Iter(m_poly.Front(), 0);
109}
110
111bool FollowedPolyline::IsFakeSegment(size_t index) const
112{

Callers

nothing calls this directly

Calls 8

IterClass · 0.85
DistanceOnEarthFunction · 0.50
GetSizeMethod · 0.45
clearMethod · 0.45
reserveMethod · 0.45
GetPointMethod · 0.45
emplace_backMethod · 0.45
FrontMethod · 0.45

Tested by

no test coverage detected