Skip to content

Commit

Permalink
[pykmlib] [bookmarks] Make SetBookmarksMinZoom a separate function. M…
Browse files Browse the repository at this point in the history
…APSME-14916
  • Loading branch information
tomilov authored and mpimenov committed Oct 16, 2020
1 parent 554d400 commit 2360668
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 6 deletions.
3 changes: 2 additions & 1 deletion kml/pykmlib/bindings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -946,11 +946,12 @@ BOOST_PYTHON_MODULE(pykmlib)
.def_readwrite("bookmarks", &FileData::m_bookmarksData)
.def_readwrite("tracks", &FileData::m_tracksData)
.def_readwrite("compilations", &FileData::m_compilationsData)
.def("set_bookmarks_min_zoom", &FileData::SetBookmarksMinZoom)
.def("__eq__", &FileData::operator==)
.def("__ne__", &FileData::operator!=)
.def("__str__", &FileDataToString);

def("set_bookmarks_min_zoom", &SetBookmarksMinZoom);

def("get_supported_languages", GetSupportedLanguages);
def("get_language_index", GetLanguageIndex);
def("timestamp_to_int", &ToSecondsSinceEpoch);
Expand Down
3 changes: 2 additions & 1 deletion kml/pykmlib/bindings_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,8 @@ def make_compilation():
file_data.bookmarks.append(bookmark)
file_data.tracks.append(track)
file_data.compilations = compilations
file_data.set_bookmarks_min_zoom(1.0, 19)

pykmlib.set_bookmarks_min_zoom(file_data, 1.0, 19)

s = pykmlib.export_kml(file_data)
imported_file_data = pykmlib.import_kml(s)
Expand Down
4 changes: 2 additions & 2 deletions kml/types.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@

namespace kml
{
void FileData::SetBookmarksMinZoom(double countPerTile, int maxZoom)
void SetBookmarksMinZoom(FileData & fileData, double countPerTile, int maxZoom)
{
using ValueType = std::pair<BookmarkData *, int /* score */>;
auto const scoreLess = [](ValueType const & lhs, ValueType const & rhs) -> bool
{
return lhs.second < rhs.second;
};
MinZoomQuadtree<ValueType, decltype(scoreLess)> minZoomQuadtree{scoreLess};
for (auto & bm : m_bookmarksData)
for (auto & bm : fileData.m_bookmarksData)
{
auto const & properties = bm.m_properties;
int score = 0;
Expand Down
4 changes: 2 additions & 2 deletions kml/types.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -464,8 +464,6 @@ struct FileData

bool operator!=(FileData const & data) const { return !operator==(data); }

void SetBookmarksMinZoom(double countPerTile, int maxZoom);

// Device id (it will not be serialized in text files).
std::string m_deviceId;
// Server id.
Expand All @@ -479,6 +477,8 @@ struct FileData
// Compilation collection.
std::vector<CategoryData> m_compilationsData;
};

void SetBookmarksMinZoom(FileData & fileData, double countPerTile, int maxZoom);

inline std::string DebugPrint(BookmarkIcon icon)
{
Expand Down

0 comments on commit 2360668

Please sign in to comment.