mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-19 21:13:35 +00:00
Compare commits
1 Commits
v2025.10.1
...
delete_pas
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d700510c94 |
@@ -328,7 +328,6 @@ RoutingManager::RoutingManager(Callbacks && callbacks, Delegate & delegate)
|
|||||||
nullptr
|
nullptr
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
||||||
m_routingSession.SetRoutingCallbacks(
|
m_routingSession.SetRoutingCallbacks(
|
||||||
[this](Route const & route, RouterResultCode code) { OnBuildRouteReady(route, code); },
|
[this](Route const & route, RouterResultCode code) { OnBuildRouteReady(route, code); },
|
||||||
[this](Route const & route, RouterResultCode code) { OnRebuildRouteReady(route, code); },
|
[this](Route const & route, RouterResultCode code) { OnRebuildRouteReady(route, code); },
|
||||||
@@ -554,8 +553,10 @@ void RoutingManager::RemoveRoute(bool deactivateFollowing)
|
|||||||
es.ClearGroup(UserMark::Type::SPEED_CAM);
|
es.ClearGroup(UserMark::Type::SPEED_CAM);
|
||||||
es.ClearGroup(UserMark::Type::ROAD_WARNING);
|
es.ClearGroup(UserMark::Type::ROAD_WARNING);
|
||||||
}
|
}
|
||||||
if (deactivateFollowing)
|
if (deactivateFollowing) {
|
||||||
SetPointsFollowingMode(false /* enabled */);
|
SetPointsFollowingMode(false /* enabled */);
|
||||||
|
RemovePassedPoints();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (deactivateFollowing)
|
if (deactivateFollowing)
|
||||||
@@ -954,6 +955,13 @@ void RoutingManager::SetPointsFollowingMode(bool enabled)
|
|||||||
routePoints.SetFollowingMode(enabled);
|
routePoints.SetFollowingMode(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RoutingManager::RemovePassedPoints()
|
||||||
|
{
|
||||||
|
ASSERT(m_bmManager != nullptr, ());
|
||||||
|
RoutePointsLayout routePoints(*m_bmManager);
|
||||||
|
routePoints.RemovePassedPoints();
|
||||||
|
}
|
||||||
|
|
||||||
void RoutingManager::ReorderIntermediatePoints()
|
void RoutingManager::ReorderIntermediatePoints()
|
||||||
{
|
{
|
||||||
vector<RouteMarkPoint *> prevPoints;
|
vector<RouteMarkPoint *> prevPoints;
|
||||||
|
|||||||
@@ -354,6 +354,8 @@ private:
|
|||||||
|
|
||||||
void SetPointsFollowingMode(bool enabled);
|
void SetPointsFollowingMode(bool enabled);
|
||||||
|
|
||||||
|
void RemovePassedPoints();
|
||||||
|
|
||||||
void ReorderIntermediatePoints();
|
void ReorderIntermediatePoints();
|
||||||
|
|
||||||
m2::RectD ShowPreviewSegments(std::vector<RouteMarkData> const & routePoints);
|
m2::RectD ShowPreviewSegments(std::vector<RouteMarkData> const & routePoints);
|
||||||
|
|||||||
@@ -353,6 +353,16 @@ void RoutePointsLayout::SetFollowingMode(bool enabled)
|
|||||||
m_editSession.GetMarkForEdit<RouteMarkPoint>(markId)->SetFollowingMode(enabled);
|
m_editSession.GetMarkForEdit<RouteMarkPoint>(markId)->SetFollowingMode(enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RoutePointsLayout::RemovePassedPoints()
|
||||||
|
{
|
||||||
|
for (auto markId : m_manager.GetUserMarkIds(UserMark::Type::ROUTING)) {
|
||||||
|
auto * mark = m_editSession.GetMarkForEdit<RouteMarkPoint>(markId);
|
||||||
|
if (mark->IsPassed())
|
||||||
|
m_editSession.DeleteUserMark(mark->GetId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
RouteMarkPoint const * RoutePointsLayout::GetRoutePoint(RouteMarkType type, size_t intermediateIndex) const
|
RouteMarkPoint const * RoutePointsLayout::GetRoutePoint(RouteMarkType type, size_t intermediateIndex) const
|
||||||
{
|
{
|
||||||
for (auto markId : m_manager.GetUserMarkIds(UserMark::Type::ROUTING))
|
for (auto markId : m_manager.GetUserMarkIds(UserMark::Type::ROUTING))
|
||||||
|
|||||||
@@ -97,7 +97,7 @@ public:
|
|||||||
RouteMarkType destType, size_t destIntermediateIndex);
|
RouteMarkType destType, size_t destIntermediateIndex);
|
||||||
void PassRoutePoint(RouteMarkType type, size_t intermediateIndex = 0);
|
void PassRoutePoint(RouteMarkType type, size_t intermediateIndex = 0);
|
||||||
void SetFollowingMode(bool enabled);
|
void SetFollowingMode(bool enabled);
|
||||||
|
void RemovePassedPoints();
|
||||||
private:
|
private:
|
||||||
using TRoutePointCallback = std::function<void (RouteMarkPoint * mark)>;
|
using TRoutePointCallback = std::function<void (RouteMarkPoint * mark)>;
|
||||||
void ForEachIntermediatePoint(TRoutePointCallback const & fn);
|
void ForEachIntermediatePoint(TRoutePointCallback const & fn);
|
||||||
|
|||||||
Reference in New Issue
Block a user