[mapnik] 04/05: Drop refactor-markers_placement_finder.patch, applied upstream.
Sebastiaan Couwenberg
sebastic at moszumanska.debian.org
Sat Apr 2 01:09:17 UTC 2016
This is an automated email from the git hooks/post-receive script.
sebastic pushed a commit to branch master
in repository mapnik.
commit 0f1eff5c0fd2fb04e197587cd94aba9efc1c3ea3
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date: Sat Apr 2 01:43:15 2016 +0200
Drop refactor-markers_placement_finder.patch, applied upstream.
Drop refactor-markers_placement_finder.patch, applied upstream.
Refresh remaining patches.
---
debian/changelog | 2 +
debian/patches/initialize-typo.patch | 2 +-
debian/patches/occurred-typo.patch | 2 +-
.../refactor-markers_placement_finder.patch | 693 ---------------------
debian/patches/series | 1 -
5 files changed, 4 insertions(+), 696 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index b8adefb..75147b0 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
mapnik (3.0.11+ds-1) UNRELEASED; urgency=medium
* New upstream release.
+ * Drop refactor-markers_placement_finder.patch, applied upstream.
+ * Refresh remaining patches.
-- Bas Couwenberg <sebastic at debian.org> Sat, 02 Apr 2016 01:38:25 +0200
diff --git a/debian/patches/initialize-typo.patch b/debian/patches/initialize-typo.patch
index a0df67d..7b1bcdc 100644
--- a/debian/patches/initialize-typo.patch
+++ b/debian/patches/initialize-typo.patch
@@ -14,7 +14,7 @@ Author: Bas Couwenberg <sebastic at debian.org>
{
--- a/src/marker_cache.cpp
+++ b/src/marker_cache.cpp
-@@ -265,7 +265,7 @@ std::shared_ptr<mapnik::marker const> ma
+@@ -267,7 +267,7 @@ std::shared_ptr<mapnik::marker const> ma
}
else
{
diff --git a/debian/patches/occurred-typo.patch b/debian/patches/occurred-typo.patch
index 28882f2..e3cb8ec 100644
--- a/debian/patches/occurred-typo.patch
+++ b/debian/patches/occurred-typo.patch
@@ -3,7 +3,7 @@ Author: Bas Couwenberg <sebastic at debian.org>
--- a/src/load_map.cpp
+++ b/src/load_map.cpp
-@@ -751,7 +751,7 @@ void map_parser::parse_layer(Map & map,
+@@ -755,7 +755,7 @@ void map_parser::parse_layer(Map & map,
}
catch (...)
{
diff --git a/debian/patches/refactor-markers_placement_finder.patch b/debian/patches/refactor-markers_placement_finder.patch
deleted file mode 100644
index 1a1d0cf..0000000
--- a/debian/patches/refactor-markers_placement_finder.patch
+++ /dev/null
@@ -1,693 +0,0 @@
-From 66e7ef58d716aae3193325f3855a527fecaa6348 Mon Sep 17 00:00:00 2001
-From: Mickey Rose <mickey.rose at seznam.cz>
-Origin: https://github.com/mapnik/mapnik/commit/66e7ef58d716aae3193325f3855a527fecaa6348
-Date: Wed, 2 Mar 2016 00:53:45 +0100
-Subject: [PATCH] refactor markers_placement_finder
-
-- refs #3327
-
-Replace member variant of placement-type implementations with plain
-union. The active implementation is chosen at construction time like
-before.
-
-Make placement-type implementation classes virtual to allow invoking
-the active union member through a base class pointer.
----
- include/mapnik/markers_placement.hpp | 98 ++++++-------
- include/mapnik/markers_placements/basic.hpp | 153 +++++++++++++++++++++
- include/mapnik/markers_placements/interior.hpp | 24 +---
- include/mapnik/markers_placements/line.hpp | 30 ++--
- include/mapnik/markers_placements/point.hpp | 118 ++--------------
- .../mapnik/markers_placements/vertext_first.hpp | 24 +---
- include/mapnik/markers_placements/vertext_last.hpp | 21 +--
- src/renderer_common/render_markers_symbolizer.cpp | 1 +
- 8 files changed, 235 insertions(+), 234 deletions(-)
- create mode 100644 include/mapnik/markers_placements/basic.hpp
-
---- a/include/mapnik/markers_placement.hpp
-+++ b/include/mapnik/markers_placement.hpp
-@@ -29,7 +29,6 @@
- #include <mapnik/markers_placements/vertext_first.hpp>
- #include <mapnik/markers_placements/vertext_last.hpp>
- #include <mapnik/symbolizer_enumerations.hpp>
--#include <mapnik/util/variant.hpp>
-
- namespace mapnik
- {
-@@ -38,70 +37,71 @@ template <typename Locator, typename Det
- class markers_placement_finder : util::noncopyable
- {
- public:
-- using markers_placement = util::variant<markers_point_placement<Locator, Detector>,
-- markers_line_placement<Locator, Detector>,
-- markers_interior_placement<Locator, Detector>,
-- markers_vertex_first_placement<Locator, Detector>,
-- markers_vertex_last_placement<Locator, Detector>>;
--
-- class get_point_visitor
-- {
-- public:
-- get_point_visitor(double &x, double &y, double &angle, bool ignore_placement)
-- : x_(x), y_(y), angle_(angle), ignore_placement_(ignore_placement)
-- {
-- }
--
-- template <typename T>
-- bool operator()(T &placement) const
-- {
-- return placement.get_point(x_, y_, angle_, ignore_placement_);
-- }
--
-- private:
-- double &x_, &y_, &angle_;
-- bool ignore_placement_;
-- };
-+ using basic_placement = markers_basic_placement<Locator, Detector>;
-
- markers_placement_finder(marker_placement_e placement_type,
- Locator &locator,
- Detector &detector,
- markers_placement_params const& params)
-- : placement_(create(placement_type, locator, detector, params))
-- {
-- }
--
-- // Get next point where the marker should be placed. Returns true if a place is found, false if none is found.
-- bool get_point(double &x, double &y, double &angle, bool ignore_placement)
-- {
-- return util::apply_visitor(get_point_visitor(x, y, angle, ignore_placement), placement_);
-- }
--
--private:
-- // Factory function for particular placement implementations.
-- static markers_placement create(marker_placement_e placement_type,
-- Locator &locator,
-- Detector &detector,
-- markers_placement_params const& params)
-+ : active_placement_(nullptr)
- {
- switch (placement_type)
- {
-+ default:
- case MARKER_POINT_PLACEMENT:
-- return markers_point_placement<Locator, Detector>(locator,detector,params);
-+ active_placement_ = construct(&point_, locator, detector, params);
-+ break;
- case MARKER_INTERIOR_PLACEMENT:
-- return markers_interior_placement<Locator, Detector>(locator,detector,params);
-+ active_placement_ = construct(&interior_, locator, detector, params);
-+ break;
- case MARKER_LINE_PLACEMENT:
-- return markers_line_placement<Locator, Detector>(locator,detector,params);
-+ active_placement_ = construct(&line_, locator, detector, params);
-+ break;
- case MARKER_VERTEX_FIRST_PLACEMENT:
-- return markers_vertex_first_placement<Locator, Detector>(locator,detector,params);
-+ active_placement_ = construct(&vertex_first_, locator, detector, params);
-+ break;
- case MARKER_VERTEX_LAST_PLACEMENT:
-- return markers_vertex_last_placement<Locator, Detector>(locator,detector,params);
-- default: // point
-- return markers_point_placement<Locator, Detector>(locator,detector,params);
-+ active_placement_ = construct(&vertex_last_, locator, detector, params);
-+ break;
- }
-+ // previously placement-type constructors (markers_*_placement)
-+ // rewound the locator; reasons for rewinding here instead:
-+ // 1) so that nobody is tempted to call now-virtual rewind()
-+ // in placement-type class constructors
-+ // 2) it servers as a runtime check that the above switch isn't
-+ // missing cases and active_placement_ points to an object
-+ active_placement_->rewind();
-+ }
-+
-+ ~markers_placement_finder()
-+ {
-+ active_placement_->~basic_placement();
-+ }
-+
-+ // Get next point where the marker should be placed. Returns true if a place is found, false if none is found.
-+ bool get_point(double &x, double &y, double &angle, bool ignore_placement)
-+ {
-+ return active_placement_->get_point(x, y, angle, ignore_placement);
- }
-
-- markers_placement placement_;
-+private:
-+ basic_placement* active_placement_;
-+
-+ union
-+ {
-+ markers_point_placement<Locator, Detector> point_;
-+ markers_line_placement<Locator, Detector> line_;
-+ markers_interior_placement<Locator, Detector> interior_;
-+ markers_vertex_first_placement<Locator, Detector> vertex_first_;
-+ markers_vertex_last_placement<Locator, Detector> vertex_last_;
-+ };
-+
-+ template <typename T>
-+ static T* construct(T* what, Locator & locator, Detector & detector,
-+ markers_placement_params const& params)
-+ {
-+ return new(what) T(locator, detector, params);
-+ }
- };
-
- }
---- /dev/null
-+++ b/include/mapnik/markers_placements/basic.hpp
-@@ -0,0 +1,153 @@
-+/*****************************************************************************
-+ *
-+ * This file is part of Mapnik (c++ mapping toolkit)
-+ *
-+ * Copyright (C) 2016 Artem Pavlenko
-+ *
-+ * This library is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU Lesser General Public
-+ * License as published by the Free Software Foundation; either
-+ * version 2.1 of the License, or (at your option) any later version.
-+ *
-+ * This library is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * Lesser General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU Lesser General Public
-+ * License along with this library; if not, write to the Free Software
-+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-+ *
-+ *****************************************************************************/
-+
-+#ifndef MAPNIK_MARKERS_PLACEMENTS_BASIC_HPP
-+#define MAPNIK_MARKERS_PLACEMENTS_BASIC_HPP
-+
-+// mapnik
-+#include <mapnik/box2d.hpp>
-+#include <mapnik/symbolizer_enumerations.hpp>
-+#include <mapnik/util/math.hpp>
-+#include <mapnik/util/noncopyable.hpp>
-+
-+// agg
-+#include "agg_basics.h"
-+#include "agg_trans_affine.h"
-+
-+namespace mapnik {
-+
-+struct markers_placement_params
-+{
-+ box2d<double> size;
-+ agg::trans_affine tr;
-+ double spacing;
-+ double max_error;
-+ bool allow_overlap;
-+ bool avoid_edges;
-+ direction_enum direction;
-+};
-+
-+template <typename Locator, typename Detector>
-+class markers_basic_placement : util::noncopyable
-+{
-+public:
-+ markers_basic_placement(Locator & locator, Detector & detector,
-+ markers_placement_params const& params)
-+ : locator_(locator),
-+ detector_(detector),
-+ params_(params),
-+ done_(false)
-+ {
-+ // no need to rewind locator here, markers_placement_finder
-+ // does that after construction
-+ }
-+
-+ markers_basic_placement(markers_basic_placement && ) = default;
-+
-+ virtual ~markers_basic_placement()
-+ {
-+ // empty but necessary
-+ }
-+
-+ // Start again at first marker. Returns the same list of markers only works when they were NOT added to the detector.
-+ virtual void rewind()
-+ {
-+ locator_.rewind(0);
-+ done_ = false;
-+ }
-+
-+ // Get next point where the marker should be placed. Returns true if a place is found, false if none is found.
-+ virtual bool get_point(double &x, double &y, double &angle, bool ignore_placement) = 0;
-+
-+protected:
-+ Locator & locator_;
-+ Detector & detector_;
-+ markers_placement_params const& params_;
-+ bool done_;
-+
-+ // Rotates the size_ box and translates the position.
-+ box2d<double> perform_transform(double angle, double dx, double dy) const
-+ {
-+ auto tr = params_.tr * agg::trans_affine_rotation(angle).translate(dx, dy);
-+ return box2d<double>(params_.size, tr);
-+ }
-+
-+ // Checks transformed box placement with collision detector.
-+ // returns false if the box:
-+ // - a) isn't wholly inside extent and avoid_edges == true
-+ // - b) collides with something and allow_overlap == false
-+ // otherwise returns true, and if ignore_placement == true,
-+ // also adds the box to collision detector
-+ bool push_to_detector(double x, double y, double angle, bool ignore_placement)
-+ {
-+ auto box = perform_transform(angle, x, y);
-+ if (params_.avoid_edges && !detector_.extent().contains(box))
-+ {
-+ return false;
-+ }
-+ if (!params_.allow_overlap && !detector_.has_placement(box))
-+ {
-+ return false;
-+ }
-+ if (!ignore_placement)
-+ {
-+ detector_.insert(box);
-+ }
-+ return true;
-+ }
-+
-+ bool set_direction(double & angle) const
-+ {
-+ switch (params_.direction)
-+ {
-+ case DIRECTION_UP:
-+ angle = 0;
-+ return true;
-+ case DIRECTION_DOWN:
-+ angle = M_PI;
-+ return true;
-+ case DIRECTION_AUTO:
-+ if (std::fabs(util::normalize_angle(angle)) > 0.5 * M_PI)
-+ angle += M_PI;
-+ return true;
-+ case DIRECTION_AUTO_DOWN:
-+ if (std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI)
-+ angle += M_PI;
-+ return true;
-+ case DIRECTION_LEFT:
-+ angle += M_PI;
-+ return true;
-+ case DIRECTION_LEFT_ONLY:
-+ angle += M_PI;
-+ return std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI;
-+ case DIRECTION_RIGHT_ONLY:
-+ return std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI;
-+ case DIRECTION_RIGHT:
-+ default:
-+ return true;
-+ }
-+ }
-+};
-+
-+} // namespace mapnik
-+
-+#endif // MAPNIK_MARKERS_PLACEMENTS_BASIC_HPP
---- a/include/mapnik/markers_placements/interior.hpp
-+++ b/include/mapnik/markers_placements/interior.hpp
-@@ -33,14 +33,8 @@ template <typename Locator, typename Det
- class markers_interior_placement : public markers_point_placement<Locator, Detector>
- {
- public:
-- markers_interior_placement(Locator &locator, Detector &detector, markers_placement_params const& params)
-- : markers_point_placement<Locator, Detector>(locator, detector, params)
-- {
-- }
--
-- markers_interior_placement(markers_interior_placement && rhs)
-- : markers_point_placement<Locator, Detector>(std::move(rhs))
-- {}
-+ using point_placement = markers_point_placement<Locator, Detector>;
-+ using point_placement::point_placement;
-
- bool get_point(double &x, double &y, double &angle, bool ignore_placement)
- {
-@@ -51,7 +45,7 @@ public:
-
- if (this->locator_.type() == geometry::geometry_types::Point)
- {
-- return markers_point_placement<Locator, Detector>::get_point(x, y, angle, ignore_placement);
-+ return point_placement::get_point(x, y, angle, ignore_placement);
- }
-
- if (this->locator_.type() == geometry::geometry_types::LineString)
-@@ -73,21 +67,11 @@ public:
-
- angle = 0;
-
-- box2d<double> box = this->perform_transform(angle, x, y);
-- if (this->params_.avoid_edges && !this->detector_.extent().contains(box))
-- {
-- return false;
-- }
-- if (!this->params_.allow_overlap && !this->detector_.has_placement(box))
-+ if (!this->push_to_detector(x, y, angle, ignore_placement))
- {
- return false;
- }
-
-- if (!ignore_placement)
-- {
-- this->detector_.insert(box);
-- }
--
- this->done_ = true;
- return true;
- }
---- a/include/mapnik/markers_placements/line.hpp
-+++ b/include/mapnik/markers_placements/line.hpp
-@@ -35,29 +35,23 @@ template <typename Locator, typename Det
- class markers_line_placement : public markers_point_placement<Locator, Detector>
- {
- public:
-- markers_line_placement(Locator &locator, Detector &detector, markers_placement_params const& params)
-- : markers_point_placement<Locator, Detector>(locator, detector, params),
-+ using point_placement = markers_point_placement<Locator, Detector>;
-+ using point_placement::point_placement;
-+
-+ markers_line_placement(Locator & locator, Detector & detector,
-+ markers_placement_params const& params)
-+ : point_placement(locator, detector, params),
- first_point_(true),
- spacing_(0.0),
- marker_width_((params.size * params.tr).width()),
- path_(locator)
- {
- spacing_ = params.spacing < 1 ? 100 : params.spacing;
-- rewind();
- }
-
-- markers_line_placement(markers_line_placement && rhs)
-- : markers_point_placement<Locator, Detector>(std::move(rhs)),
-- first_point_(std::move(rhs.first_point_)),
-- spacing_(std::move(rhs.spacing_)),
-- marker_width_(std::move(rhs.marker_width_)),
-- path_(std::move(rhs.path_))
-- {}
--
- void rewind()
- {
-- this->locator_.rewind(0);
-- this->done_ = false;
-+ point_placement::rewind();
- first_point_ = true;
- }
-
-@@ -70,7 +64,7 @@ public:
-
- if (this->locator_.type() == geometry::geometry_types::Point)
- {
-- return markers_point_placement<Locator, Detector>::get_point(x, y, angle, ignore_placement);
-+ return point_placement::get_point(x, y, angle, ignore_placement);
- }
-
- double move = spacing_;
-@@ -102,16 +96,10 @@ public:
- {
- continue;
- }
-- box2d<double> box = this->perform_transform(angle, x, y);
-- if ((this->params_.avoid_edges && !this->detector_.extent().contains(box))
-- || (!this->params_.allow_overlap && !this->detector_.has_placement(box)))
-+ if (!this->push_to_detector(x, y, angle, ignore_placement))
- {
- continue;
- }
-- if (!ignore_placement)
-- {
-- this->detector_.insert(box);
-- }
- return true;
- }
- }
---- a/include/mapnik/markers_placements/point.hpp
-+++ b/include/mapnik/markers_placements/point.hpp
-@@ -23,148 +23,54 @@
- #ifndef MAPNIK_MARKERS_PLACEMENTS_POINT_HPP
- #define MAPNIK_MARKERS_PLACEMENTS_POINT_HPP
-
--#include <mapnik/box2d.hpp>
- #include <mapnik/geom_util.hpp>
- #include <mapnik/geometry_types.hpp>
--#include <mapnik/util/math.hpp>
--#include <mapnik/label_collision_detector.hpp>
--#include <mapnik/symbolizer_enumerations.hpp>
--#include <mapnik/util/noncopyable.hpp>
--
--#include "agg_basics.h"
--#include "agg_trans_affine.h"
--
--#include <cmath>
-+#include <mapnik/markers_placements/basic.hpp>
-
- namespace mapnik {
-
--struct markers_placement_params
--{
-- box2d<double> size;
-- agg::trans_affine tr;
-- double spacing;
-- double max_error;
-- bool allow_overlap;
-- bool avoid_edges;
-- direction_enum direction;
--};
--
- template <typename Locator, typename Detector>
--class markers_point_placement : util::noncopyable
-+class markers_point_placement : public markers_basic_placement<Locator, Detector>
- {
- public:
-- markers_point_placement(Locator &locator, Detector &detector, markers_placement_params const& params)
-- : locator_(locator),
-- detector_(detector),
-- params_(params),
-- done_(false)
-- {
-- rewind();
-- }
--
-- markers_point_placement(markers_point_placement && rhs)
-- : locator_(rhs.locator_),
-- detector_(rhs.detector_),
-- params_(rhs.params_),
-- done_(rhs.done_)
-- {}
--
--
-- // Start again at first marker. Returns the same list of markers only works when they were NOT added to the detector.
-- void rewind()
-- {
-- locator_.rewind(0);
-- done_ = false;
-- }
-+ using basic_placement = markers_basic_placement<Locator, Detector>;
-+ using basic_placement::basic_placement;
-
- // Get next point where the marker should be placed. Returns true if a place is found, false if none is found.
- bool get_point(double &x, double &y, double &angle, bool ignore_placement)
- {
-- if (done_)
-+ if (this->done_)
- {
- return false;
- }
-
-- if (locator_.type() == geometry::geometry_types::LineString)
-+ if (this->locator_.type() == geometry::geometry_types::LineString)
- {
-- if (!label::middle_point(locator_, x, y))
-+ if (!label::middle_point(this->locator_, x, y))
- {
-- done_ = true;
-+ this->done_ = true;
- return false;
- }
- }
- else
- {
-- if (!label::centroid(locator_, x, y))
-+ if (!label::centroid(this->locator_, x, y))
- {
-- done_ = true;
-+ this->done_ = true;
- return false;
- }
- }
-
- angle = 0;
-- box2d<double> box = perform_transform(angle, x, y);
-
-- if (params_.avoid_edges && !detector_.extent().contains(box))
-+ if (!this->push_to_detector(x, y, angle, ignore_placement))
- {
- return false;
- }
-- if (!params_.allow_overlap && !detector_.has_placement(box))
-- {
-- return false;
-- }
--
-- if (!ignore_placement)
-- {
-- detector_.insert(box);
-- }
-
-- done_ = true;
-+ this->done_ = true;
- return true;
- }
--
--protected:
-- Locator &locator_;
-- Detector &detector_;
-- markers_placement_params const& params_;
-- bool done_;
--
-- // Rotates the size_ box and translates the position.
-- box2d<double> perform_transform(double angle, double dx, double dy)
-- {
-- agg::trans_affine tr = params_.tr * agg::trans_affine_rotation(angle).translate(dx, dy);
-- return box2d<double>(params_.size, tr);
-- }
--
-- bool set_direction(double & angle)
-- {
-- switch (params_.direction)
-- {
-- case DIRECTION_UP:
-- angle = .0;
-- return true;
-- case DIRECTION_DOWN:
-- angle = M_PI;
-- return true;
-- case DIRECTION_AUTO:
-- angle = (std::fabs(util::normalize_angle(angle)) > 0.5 * M_PI) ? (angle + M_PI) : angle;
-- return true;
-- case DIRECTION_AUTO_DOWN:
-- angle = (std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI) ? (angle + M_PI) : angle;
-- return true;
-- case DIRECTION_LEFT:
-- angle += M_PI;
-- return true;
-- case DIRECTION_LEFT_ONLY:
-- angle += M_PI;
-- return std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI;
-- case DIRECTION_RIGHT_ONLY:
-- return std::fabs(util::normalize_angle(angle)) < 0.5 * M_PI;
-- case DIRECTION_RIGHT:
-- default:
-- return true;
-- }
-- }
- };
-
- }
---- a/include/mapnik/markers_placements/vertext_first.hpp
-+++ b/include/mapnik/markers_placements/vertext_first.hpp
-@@ -31,14 +31,8 @@ template <typename Locator, typename Det
- class markers_vertex_first_placement : public markers_point_placement<Locator, Detector>
- {
- public:
-- markers_vertex_first_placement(Locator &locator, Detector &detector, markers_placement_params const& params)
-- : markers_point_placement<Locator, Detector>(locator, detector, params)
-- {
-- }
--
-- markers_vertex_first_placement(markers_vertex_first_placement && rhs)
-- : markers_point_placement<Locator, Detector>(std::move(rhs))
-- {}
-+ using point_placement = markers_point_placement<Locator, Detector>;
-+ using point_placement::point_placement;
-
- bool get_point(double &x, double &y, double &angle, bool ignore_placement)
- {
-@@ -49,7 +43,7 @@ public:
-
- if (this->locator_.type() == mapnik::geometry::geometry_types::Point)
- {
-- return markers_point_placement<Locator, Detector>::get_point(x, y, angle, ignore_placement);
-+ return point_placement::get_point(x, y, angle, ignore_placement);
- }
-
- double x0, y0;
-@@ -75,21 +69,11 @@ public:
- }
- }
-
-- box2d<double> box = this->perform_transform(angle, x, y);
-- if (this->params_.avoid_edges && !this->detector_.extent().contains(box))
-- {
-- return false;
-- }
-- if (!this->params_.allow_overlap && !this->detector_.has_placement(box))
-+ if (!this->push_to_detector(x, y, angle, ignore_placement))
- {
- return false;
- }
-
-- if (!ignore_placement)
-- {
-- this->detector_.insert(box);
-- }
--
- this->done_ = true;
- return true;
- }
---- a/include/mapnik/markers_placements/vertext_last.hpp
-+++ b/include/mapnik/markers_placements/vertext_last.hpp
-@@ -31,13 +31,8 @@ template <typename Locator, typename Det
- class markers_vertex_last_placement : public markers_point_placement<Locator, Detector>
- {
- public:
-- markers_vertex_last_placement(Locator &locator, Detector &detector, markers_placement_params const& params)
-- : markers_point_placement<Locator, Detector>(locator, detector, params)
-- {}
--
-- markers_vertex_last_placement(markers_vertex_last_placement && rhs)
-- : markers_point_placement<Locator, Detector>(std::move(rhs))
-- {}
-+ using point_placement = markers_point_placement<Locator, Detector>;
-+ using point_placement::point_placement;
-
- bool get_point(double &x, double &y, double &angle, bool ignore_placement)
- {
-@@ -80,20 +75,10 @@ public:
- }
- }
-
-- box2d<double> box = this->perform_transform(angle, x, y);
-- if (this->params_.avoid_edges && !this->detector_.extent().contains(box))
-+ if (!this->push_to_detector(x, y, angle, ignore_placement))
- {
- return false;
- }
-- if (!this->params_.allow_overlap && !this->detector_.has_placement(box))
-- {
-- return false;
-- }
--
-- if (!ignore_placement)
-- {
-- this->detector_.insert(box);
-- }
-
- this->done_ = true;
- return true;
---- a/src/renderer_common/render_markers_symbolizer.cpp
-+++ b/src/renderer_common/render_markers_symbolizer.cpp
-@@ -20,6 +20,7 @@
- *
- *****************************************************************************/
-
-+#include <mapnik/label_collision_detector.hpp>
- #include <mapnik/svg/svg_storage.hpp>
- #include <mapnik/svg/svg_path_adapter.hpp>
- #include <mapnik/vertex_converters.hpp>
diff --git a/debian/patches/series b/debian/patches/series
index 521c20f..5d213c7 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,2 @@
initialize-typo.patch
occurred-typo.patch
-refactor-markers_placement_finder.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/mapnik.git
More information about the Pkg-grass-devel
mailing list