mirror of
https://github.com/boostorg/geometry.git
synced 2026-02-10 23:42:12 +00:00
Merge branch 'develop-1.57' into prepare
This commit is contained in:
@@ -23,7 +23,8 @@
|
||||
|
||||
* The support of parameters convertible to value_type in rtree insert(), remove() and count() functions
|
||||
* Support for counterclockwise input/output in algorithm buffer
|
||||
* Support for degenerate input in algorithm buffer
|
||||
* Support for open-geometry input in algorithm buffer (open output not yet supported)
|
||||
* Support for degenerate input (point-like linestrings, polygons) in algorithm buffer
|
||||
|
||||
[*Solved tickets]
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <boost/range.hpp>
|
||||
|
||||
#include <boost/geometry/core/closure.hpp>
|
||||
#include <boost/geometry/core/exterior_ring.hpp>
|
||||
#include <boost/geometry/core/interior_rings.hpp>
|
||||
|
||||
@@ -513,7 +514,12 @@ struct buffer_inserter<ring_tag, RingInput, RingOutput>
|
||||
bool has_output = false;
|
||||
|
||||
std::size_t n = boost::size(simplified);
|
||||
if (n > 3)
|
||||
std::size_t const min_points = core_detail::closure::minimum_ring_size
|
||||
<
|
||||
geometry::closure<RingInput>::value
|
||||
>::value;
|
||||
|
||||
if (n >= min_points)
|
||||
{
|
||||
detail::normalized_view<RingInput const> view(simplified);
|
||||
if (distance.negative())
|
||||
|
||||
@@ -388,9 +388,12 @@ void test_mixed()
|
||||
bg::strategy::buffer::end_flat end_flat;
|
||||
|
||||
std::ostringstream name;
|
||||
name << "mixed_" << std::boolalpha << InputClockwise << "_" << OutputClockwise << "_" << InputClosed << "_" << OutputClosed;
|
||||
name << "mixed_" << std::boolalpha
|
||||
<< InputClockwise << "_" << OutputClockwise
|
||||
<< "_" << InputClosed << "_" << OutputClosed;
|
||||
|
||||
test_one<input_polygon_type, output_polygon_type>(name.str(), simplex, join_round, end_flat, 47.4831, 1.5);
|
||||
test_one<input_polygon_type, output_polygon_type>(name.str(),
|
||||
simplex, join_round, end_flat, 47.4831, 1.5);
|
||||
}
|
||||
|
||||
#ifdef HAVE_TTMATH
|
||||
@@ -402,13 +405,25 @@ int test_main(int, char* [])
|
||||
typedef bg::model::point<double, 2, bg::cs::cartesian> dpoint;
|
||||
|
||||
test_all<true, dpoint>();
|
||||
|
||||
#if ! defined(BOOST_GEOMETRY_TEST_ONLY_ONE_TYPE)
|
||||
test_all<false, dpoint>();
|
||||
//test_all<bg::model::point<tt, 2, bg::cs::cartesian> >();
|
||||
|
||||
test_mixed<dpoint, dpoint, false, false, true, true>();
|
||||
test_mixed<dpoint, dpoint, false, true, true, true>();
|
||||
test_mixed<dpoint, dpoint, true, false, true, true>();
|
||||
test_mixed<dpoint, dpoint, true, true, true, true>();
|
||||
|
||||
test_mixed<dpoint, dpoint, false, false, false, true>();
|
||||
test_mixed<dpoint, dpoint, false, true, false, true>();
|
||||
test_mixed<dpoint, dpoint, true, false, false, true>();
|
||||
test_mixed<dpoint, dpoint, true, true, false, true>();
|
||||
|
||||
#ifdef HAVE_TTMATH
|
||||
test_all<bg::model::point<tt, 2, bg::cs::cartesian> >();
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user