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

Method CollectBmGroupKMLData

libs/map/bookmark_manager.cpp:3028–3054  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3026}
3027
3028std::unique_ptr<kml::FileData> BookmarkManager::CollectBmGroupKMLData(BookmarkCategory const * group) const
3029{
3030 auto kmlData = std::make_unique<kml::FileData>();
3031 kmlData->m_serverId = group->GetServerId();
3032 kmlData->m_categoryData = group->GetCategoryData();
3033 auto const & markIds = group->GetUserMarks();
3034 kmlData->m_bookmarksData.reserve(markIds.size());
3035 for (auto it = markIds.rbegin(); it != markIds.rend(); ++it)
3036 {
3037 auto const * bm = GetBookmark(*it);
3038 kmlData->m_bookmarksData.emplace_back(bm->GetData());
3039 }
3040 auto const & lineIds = group->GetUserLines();
3041 kmlData->m_tracksData.reserve(lineIds.size());
3042 for (auto trackId : lineIds)
3043 {
3044 auto const * track = GetTrack(trackId);
3045 kmlData->m_tracksData.emplace_back(track->GetData());
3046 }
3047
3048 for (auto const compilationId : group->GetCategoryData().m_compilationIds)
3049 {
3050 auto const & compilation = GetCategoryData(compilationId);
3051 kmlData->m_compilationsData.emplace_back(compilation);
3052 }
3053 return kmlData;
3054}
3055
3056bool BookmarkManager::SaveBookmarkCategory(kml::MarkGroupId groupId)
3057{

Callers

nothing calls this directly

Calls 7

GetBookmarkFunction · 0.85
rbeginMethod · 0.80
rendMethod · 0.80
reserveMethod · 0.45
sizeMethod · 0.45
emplace_backMethod · 0.45
GetDataMethod · 0.45

Tested by

no test coverage detected