Merge branch 'develop-1.57' into prepare

This commit is contained in:
Barend Gehrels
2014-10-24 19:39:38 +02:00
3 changed files with 27 additions and 5 deletions

View File

@@ -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]

View File

@@ -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())

View File

@@ -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;
}