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

Method FindMarkInRect

libs/map/bookmark_manager.cpp:1716–1737  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1714}
1715
1716UserMark const * BookmarkManager::FindMarkInRect(kml::MarkGroupId groupId, m2::AnyRectD const & rect,
1717 bool findOnlyVisible, double & d) const
1718{
1719 CHECK_THREAD_CHECKER(m_threadChecker, ());
1720 auto const * group = GetGroup(groupId);
1721
1722 UserMark const * resMark = nullptr;
1723 if (group->IsVisible())
1724 {
1725 FindMarkFunctor f(&resMark, d, rect);
1726 for (auto markId : group->GetUserMarks())
1727 {
1728 auto const * mark = GetMark(markId);
1729 if (findOnlyVisible && !mark->IsVisible())
1730 continue;
1731
1732 if (mark->IsAvailableForSearch() && rect.IsPointInside(mark->GetPivot()))
1733 f(mark);
1734 }
1735 }
1736 return resMark;
1737}
1738
1739void BookmarkManager::SetIsVisible(kml::MarkGroupId groupId, bool visible)
1740{

Callers 1

operator()Method · 0.80

Calls 5

GetMarkFunction · 0.85
IsVisibleMethod · 0.45
IsAvailableForSearchMethod · 0.45
IsPointInsideMethod · 0.45
GetPivotMethod · 0.45

Tested by

no test coverage detected