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

Class IterT

libs/map/routing_manager.cpp:1331–1362  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1329void RoutingManager::DistanceAltitude::Simplify(double altitudeDeviation)
1330{
1331 class IterT
1332 {
1333 DistanceAltitude const & m_da;
1334 size_t m_ind = 0;
1335
1336 public:
1337 IterT(DistanceAltitude const & da, bool isBeg) : m_da(da) { m_ind = isBeg ? 0 : m_da.GetSize(); }
1338
1339 IterT(IterT const & rhs) = default;
1340 IterT & operator=(IterT const & rhs)
1341 {
1342 m_ind = rhs.m_ind;
1343 return *this;
1344 }
1345
1346 bool operator!=(IterT const & rhs) const { return m_ind != rhs.m_ind; }
1347
1348 IterT & operator++()
1349 {
1350 ++m_ind;
1351 return *this;
1352 }
1353 IterT operator+(size_t inc) const
1354 {
1355 IterT res = *this;
1356 res.m_ind += inc;
1357 return res;
1358 }
1359 int64_t operator-(IterT const & rhs) const { return int64_t(m_ind) - int64_t(rhs.m_ind); }
1360
1361 m2::PointD operator*() const { return {m_da.m_distances[m_ind], double(m_da.m_altitudes[m_ind])}; }
1362 };
1363
1364 std::vector<m2::PointD> out;
1365

Callers 1

SimplifyMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected