mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-11 11:52:11 +00:00
[geometry] take output point type (overlay) / enable different point types (point on border)
[SVN r78797]
This commit is contained in:
@@ -233,7 +233,7 @@ std::cout << "traverse" << std::endl;
|
||||
std::cout << "map_turns: " << timer.elapsed() << std::endl;
|
||||
#endif
|
||||
|
||||
typedef ring_properties<typename geometry::point_type<Geometry1>::type> properties;
|
||||
typedef ring_properties<typename geometry::point_type<GeometryOut>::type> properties;
|
||||
|
||||
std::map<ring_identifier, properties> selected;
|
||||
select_rings<Direction>(geometry1, geometry2, map, selected, ! turn_points.empty());
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <boost/geometry/geometries/concepts/check.hpp>
|
||||
|
||||
#include <boost/geometry/algorithms/assign.hpp>
|
||||
#include <boost/geometry/algorithms/detail/convert_point_to_point.hpp>
|
||||
#include <boost/geometry/algorithms/detail/disjoint.hpp>
|
||||
|
||||
|
||||
@@ -50,7 +51,8 @@ struct get_point
|
||||
template<typename Point, std::size_t Dimension, std::size_t DimensionCount>
|
||||
struct midpoint_helper
|
||||
{
|
||||
static inline bool apply(Point& p, Point const& p1, Point const& p2)
|
||||
template <typename InputPoint>
|
||||
static inline bool apply(Point& p, InputPoint const& p1, InputPoint const& p2)
|
||||
{
|
||||
typename coordinate_type<Point>::type const two = 2;
|
||||
set<Dimension>(p,
|
||||
@@ -63,7 +65,8 @@ struct midpoint_helper
|
||||
template <typename Point, std::size_t DimensionCount>
|
||||
struct midpoint_helper<Point, DimensionCount, DimensionCount>
|
||||
{
|
||||
static inline bool apply(Point& , Point const& , Point const& )
|
||||
template <typename InputPoint>
|
||||
static inline bool apply(Point& , InputPoint const& , InputPoint const& )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -102,7 +105,7 @@ struct point_on_range
|
||||
|
||||
if (n > 0)
|
||||
{
|
||||
point = *boost::begin(range);
|
||||
geometry::detail::conversion::convert_point_to_point(*boost::begin(range), point);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user