Do not select passed route mark.

This commit is contained in:
Daria Volvenkova 2017-08-28 18:15:52 +03:00 committed by Vladimir Byko-Ianko
parent 1636266c34
commit 248ac712be
3 changed files with 3 additions and 1 deletions

View file

@ -38,6 +38,7 @@ public:
std::string GetSymbolName() const override;
UserMark::Type GetMarkType() const override { return Type::ROUTING; }
bool IsAvailableForSearch() const override { return !IsPassed(); }
RouteMarkType GetRoutePointType() const { return m_markData.m_pointType; }
void SetRoutePointType(RouteMarkType type);

View file

@ -57,6 +57,7 @@ public:
UserMarkContainer const * GetContainer() const;
ms::LatLon GetLatLon() const;
virtual Type GetMarkType() const = 0;
virtual bool IsAvailableForSearch() const { return true; }
protected:
void SetDirty() { m_isDirty = true; }

View file

@ -76,7 +76,7 @@ UserMark const * UserMarkContainer::FindMarkInRect(m2::AnyRectD const & rect, do
FindMarkFunctor f(&mark, d, rect);
for (size_t i = 0; i < m_userMarks.size(); ++i)
{
if (rect.IsPointInside(m_userMarks[i]->GetPivot()))
if (m_userMarks[i]->IsAvailableForSearch() && rect.IsPointInside(m_userMarks[i]->GetPivot()))
f(m_userMarks[i].get());
}
}