Commit Graph

8536 Commits

Author SHA1 Message Date
Menelaos Karavelas
ec63be14e2 [algorithms][is_valid] in number_of_distinct_values, make size const 2014-06-18 13:06:10 +03:00
Menelaos Karavelas
4f40ffd313 [test][algorithms][is_simple] remove obsolete includes;
put WKTs of test cases in a single line;
use BOOST_CHECK_MESSAGE instead of BOOST_CHECK;
polish some variable names;
add test for variant support;
2014-06-18 12:59:52 +03:00
Menelaos Karavelas
236bb1b9ac [test][algorithms][is_valid] fix order of booleans in BOOST_CHECK_MESSAGE;
add test for variant support;
2014-06-18 12:54:59 +03:00
Menelaos Karavelas
c94ecdbb4d [algorithms][is_simple] add variant support 2014-06-18 12:54:09 +03:00
Menelaos Karavelas
b0a5adc503 [algorithms][is_valid] add variant support 2014-06-18 12:53:53 +03:00
Menelaos Karavelas
a4402a9a31 [test][algorithms][is_valid] replace "const bool" and "static const bool" by "bool const" 2014-06-18 04:54:16 +03:00
Menelaos Karavelas
d92960154a [algorithms][is_valid] make implementation of number_of_distinct_points
more generic: number_of_distinct_values for ranges that also takes an
additional template parameter to indicate how many distinct values
to search for
2014-06-18 04:36:20 +03:00
Menelaos Karavelas
6cecfeea9f [algorithms][is_valid] move implementation of number_of_distinct_points
in separate file; re-design implementation of is_valid for linestrings;
2014-06-18 04:34:45 +03:00
Menelaos Karavelas
4ab3bd3529 [test][is_valid] add a few more test cases 2014-06-18 04:31:22 +03:00
Menelaos Karavelas
332eb42789 [algorithms][is_valid] remove trailing space 2014-06-18 03:47:02 +03:00
Menelaos Karavelas
3a1ee0dbdb [test][is_valid] make is_valid test more elaborate by testing all
types of rings, polygons and multipolygons (open/closed, cw/ccw),
and by testing both then spikes/duplicates are allowed or not
2014-06-17 16:34:32 +03:00
Adam Wulkiewicz
a9e4957800 [geometries] Added tests, also for Boost.Assign 2014-06-17 13:52:33 +02:00
Menelaos Karavelas
ee59e0b6e6 [test][is_valid] fix and re-enable non-running test cases 2014-06-17 11:13:00 +03:00
Adam Wulkiewicz
81bcdc34ed [geometries] Define assignment operators taking initializer lists.
Add constructor taking initializer list for multi_point.
2014-06-16 23:54:16 +02:00
Barend Gehrels
f70398a565 Merge branch 'prepare_1_56_june16' 2014-06-16 22:31:57 +02:00
Barend Gehrels
d9055e9f89 Merge branch 'develop' into prepare_1_56_june16
Conflicts:
	sublibs
2014-06-16 21:34:35 +02:00
Barend Gehrels
7d7bd17daf [build] removed extensions from buildfile 2014-06-16 21:33:12 +02:00
Barend Gehrels
31a3fc57a1 [sublibs] added newline 2014-06-16 21:32:34 +02:00
Barend Gehrels
8102c48d65 Merge branch 'develop' into prepare_1_56_june16
Conflicts:
	doc/doxy/doxygen_output/html/doxygen.css
	doc/doxy/doxygen_output/html/doxygen.png
	doc/doxy/doxygen_output/html/tabs.css
	doc/html/index.html
	doc/index/rtree/query.qbk
	doc/make_qbk.py
	doc/quickbook/quickref.xml
	doc/quickref.xml
	doc/release_notes.qbk
	doc/src/docutils/tools/doxygen_xml2qbk/configuration.hpp
	doc/src/docutils/tools/doxygen_xml2qbk/doxygen_xml2qbk.cpp
	example/07_b_graph_route_example.cpp
	example/c11_custom_cs_transform_example.cpp
	example/ml02_distance_strategy.cpp
	extensions/example/gis/io/shapelib/shapelib.cpp
	extensions/example/gis/latlong/distance_example.cpp
	extensions/example/gis/latlong/point_ll_example.cpp
	extensions/example/gis/projections/p03_projmap_example.cpp
	extensions/example/gis/projections/p04_example.cpp
	extensions/example/gis/projections/p05_example.cpp
	extensions/test/algorithms/Jamfile.v2
	extensions/test/algorithms/dissolve.cpp
	extensions/test/algorithms/offset.cpp
	extensions/test/gis/latlong/andoyer.cpp
	extensions/test/gis/latlong/cross_track.cpp
	extensions/test/gis/latlong/distance_mixed.cpp
	extensions/test/gis/latlong/vincenty.cpp
	extensions/test/gis/projections/projections.cpp
	extensions/test/nsphere/Jamfile.v2
	extensions/test/nsphere/nsphere-access.cpp
	extensions/test/nsphere/nsphere-area.cpp
	extensions/test/nsphere/nsphere-circle.cpp
	extensions/test/nsphere/nsphere-disjoint.cpp
	extensions/test/nsphere/nsphere-index_content.cpp
	extensions/test/nsphere/nsphere-index_margin.cpp
	extensions/test/nsphere/nsphere-multi_within.cpp
	extensions/test/nsphere/nsphere-nsphere_in_box.cpp
	extensions/test/nsphere/nsphere-point_in_nsphere.cpp
	extensions/test/nsphere/nsphere-point_type.cpp
	extensions/test/nsphere/nsphere-within.cpp
	include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp
	include/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp
	include/boost/geometry/algorithms/detail/buffer/buffered_ring.hpp
	include/boost/geometry/algorithms/detail/buffer/line_line_intersection.hpp
	include/boost/geometry/algorithms/detail/disjoint.hpp
	include/boost/geometry/algorithms/detail/multi_modify.hpp
	include/boost/geometry/algorithms/detail/overlay/append_no_dups_or_spikes.hpp
	include/boost/geometry/algorithms/detail/overlay/copy_segments.hpp
	include/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp
	include/boost/geometry/algorithms/detail/overlay/get_turns.hpp
	include/boost/geometry/algorithms/detail/overlay/self_turn_points.hpp
	include/boost/geometry/algorithms/detail/overlay/traverse.hpp
	include/boost/geometry/algorithms/detail/point_is_spike_or_equal.hpp
	include/boost/geometry/algorithms/detail/sections/sectionalize.hpp
	include/boost/geometry/algorithms/disjoint.hpp
	include/boost/geometry/algorithms/distance.hpp
	include/boost/geometry/algorithms/num_points.hpp
	include/boost/geometry/algorithms/simplify.hpp
	include/boost/geometry/extensions/algebra/algebra.hpp
	include/boost/geometry/extensions/algebra/algorithms/convert.hpp
	include/boost/geometry/extensions/algebra/algorithms/detail.hpp
	include/boost/geometry/extensions/algebra/algorithms/rotation.hpp
	include/boost/geometry/extensions/algorithms/connect.hpp
	include/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp
	include/boost/geometry/extensions/algorithms/dissolve.hpp
	include/boost/geometry/extensions/algorithms/offset.hpp
	include/boost/geometry/extensions/algorithms/remove_holes_if.hpp
	include/boost/geometry/extensions/algorithms/remove_marked.hpp
	include/boost/geometry/extensions/algorithms/selected.hpp
	include/boost/geometry/extensions/contrib/ttmath_stub.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/andoyer.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp
	include/boost/geometry/extensions/gis/geographic/strategies/vincenty.hpp
	include/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp
	include/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp
	include/boost/geometry/extensions/gis/projections/new_projection.hpp
	include/boost/geometry/extensions/gis/projections/projection_point_type.hpp
	include/boost/geometry/extensions/multi/algorithms/dissolve.hpp
	include/boost/geometry/extensions/nsphere/algorithms/disjoint.hpp
	include/boost/geometry/extensions/nsphere/algorithms/within.hpp
	include/boost/geometry/extensions/nsphere/core/radius.hpp
	include/boost/geometry/extensions/nsphere/core/tags.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/bounds.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/comparable_distance_near.hpp
	include/boost/geometry/extensions/nsphere/index/detail/algorithms/content.hpp
	include/boost/geometry/extensions/nsphere/index/detail/rtree/linear/redistribute_elements.hpp
	include/boost/geometry/extensions/nsphere/nsphere.hpp
	include/boost/geometry/extensions/nsphere/strategies/cartesian/nsphere_in_box.hpp
	include/boost/geometry/extensions/nsphere/strategies/cartesian/point_in_nsphere.hpp
	include/boost/geometry/extensions/nsphere/views/center_view.hpp
	include/boost/geometry/index/detail/rtree/utilities/gl_draw.hpp
	include/boost/geometry/index/rtree.hpp
	include/boost/geometry/multi/algorithms/distance.hpp
	include/boost/geometry/multi/geometries/concepts/multi_linestring_concept.hpp
	include/boost/geometry/multi/geometries/concepts/multi_point_concept.hpp
	include/boost/geometry/multi/geometries/concepts/multi_polygon_concept.hpp
	include/boost/geometry/multi/io/wkt/read.hpp
	include/boost/geometry/strategies/agnostic/buffer_distance_asymmetric.hpp
	include/boost/geometry/strategies/agnostic/buffer_distance_symmetric.hpp
	include/boost/geometry/strategies/agnostic/buffer_end_skip.hpp
	include/boost/geometry/strategies/buffer.hpp
	include/boost/geometry/strategies/cartesian/buffer_end_flat.hpp
	include/boost/geometry/strategies/cartesian/buffer_end_round.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_miter.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_round.hpp
	include/boost/geometry/strategies/cartesian/buffer_join_round_by_divide.hpp
	include/boost/geometry/strategies/cartesian/distance_projected_point.hpp
	include/boost/geometry/strategies/cartesian/distance_pythagoras.hpp
	include/boost/geometry/strategies/concepts/distance_concept.hpp
	include/boost/geometry/strategies/default_distance_result.hpp
	include/boost/geometry/strategies/spherical/distance_cross_track.hpp
	include/boost/geometry/strategies/spherical/distance_haversine.hpp
	include/boost/geometry/util/math.hpp
	index/example/benchmark_experimental.cpp
	index/example/glut_vis.cpp
	index/example/serialize.cpp
	index/test/rtree/interprocess/Jamfile.v2
	index/test/rtree/test_rtree.hpp
	test/algorithms/Jamfile.v2
	test/algorithms/buffer/Jamfile.v2
	test/algorithms/buffer/multi_linestring_buffer.cpp
	test/algorithms/buffer/multi_point_buffer.cpp
	test/algorithms/buffer/multi_polygon_buffer.cpp
	test/algorithms/buffer/point_buffer.cpp
	test/algorithms/buffer/polygon_buffer.cpp
	test/algorithms/difference.cpp
	test/algorithms/intersection.cpp
	test/algorithms/intersects.cpp
	test/algorithms/overlay/overlay_cases.hpp
	test/algorithms/overlay/robustness/Jamfile.v2
	test/algorithms/test_intersection.hpp
	test/algorithms/test_simplify.hpp
	test/algorithms/test_union.hpp
	test/algorithms/union.cpp
	test/geometry_test_common.hpp
	test/multi/algorithms/Jamfile.v2
	test/multi/algorithms/multi_difference_spike.cpp
	test/multi/algorithms/multi_distance.cpp
2014-06-16 19:57:43 +02:00
Barend Gehrels
2ec5536406 [is_valid] fix non-running testcases and therefore add appropriate failure message 2014-06-16 19:18:16 +02:00
Adam Wulkiewicz
9aaffa5f78 [geometries] Add support for std::initializer_list 2014-06-16 19:06:19 +02:00
Barend Gehrels
56d163fe1e [is_valid] fix unit test linkage problem with two/three_or_more 2014-06-16 19:04:05 +02:00
Barend Gehrels
b8535cab3c [is_valid] fix unit test compilation typos 2014-06-16 19:02:28 +02:00
Barend Gehrels
eb36979f46 Merge pull request #59 from mkaravel/feature/is_simple
Feature/is simple
2014-06-16 18:48:49 +02:00
Adam Wulkiewicz
10e9ea81dc Merge pull request #61 from mkaravel/feature/math-sqrt
[test][util] guard use of boost::long_long_type inside a
2014-06-16 14:05:50 +02:00
Menelaos Karavelas
c3ed6692bf [test][util] add missing include 2014-06-16 15:02:00 +03:00
Menelaos Karavelas
a7beb51f92 [test][util] guard use of boost::long_long_type inside a
BOOST_HAS_LONG_LONG block
2014-06-16 14:54:18 +03:00
Menelaos Karavelas
ee28794572 [test][is_valid] re-factor code so that when an open ring is tested,
the corresponding closed ring is tested as well.
2014-06-16 14:39:55 +03:00
Menelaos Karavelas
2b9a55adc0 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 14:39:07 +03:00
Adam Wulkiewicz
bee0fdc0ae Merge pull request #60 from mkaravel/feature/math-sqrt
[test][util] replace compile time check that uses __cplusplus
2014-06-16 13:36:58 +02:00
Menelaos Karavelas
d265965b2e [test][util] replace 2LL literal by boost::long_long_type(2) 2014-06-16 14:36:11 +03:00
Menelaos Karavelas
b05dd041a6 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 14:30:58 +03:00
Menelaos Karavelas
c48fd6f903 [test][util] replace compile time check that uses __cplusplus
with BOOST_NO_LONG_LONG
2014-06-16 14:27:52 +03:00
Adam Wulkiewicz
76b13c42bc [util][math] Add the conversion to double (C++11 approach) before passing the integral argument to std::sqrt() 2014-06-16 13:04:22 +02:00
Menelaos Karavelas
1f07f292ec [algorithms][is_valid] add include that is missing if GEOMETRY_TEST_DEBUG is defined 2014-06-16 13:45:38 +03:00
Menelaos Karavelas
4c9db293b4 [test][algorithms] use boost::geometry:: instead of bg:: 2014-06-16 13:45:06 +03:00
Menelaos Karavelas
a68bcb3b13 [test][algorithms] factor-out common code 2014-06-16 12:30:36 +03:00
Menelaos Karavelas
2438af55b3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 12:20:38 +03:00
Menelaos Karavelas
a1a2856743 [test][algorithms][is_simple] assert that the geometries tested
for simplicity are valid
2014-06-16 12:19:12 +03:00
Menelaos Karavelas
a0b1e53a92 [test][is_valid] update is_valid unit test to take into account
that duplicate points for areal geometries may be acceptable or not
2014-06-16 12:14:08 +03:00
Menelaos Karavelas
1163128748 [algorithms][is_valid] templatize is_valid dispatch class with
one more boolean template parameter to control the behavior with
respect to allowing duplicate points; modify algorithm for rings
polygons and multi-polygons to take the additional template parameter
that controls behavior with respect to duplicate points;
2014-06-16 12:12:20 +03:00
Adam Wulkiewicz
1403662e39 [doc] Update status matrices for intersects() and disjoints() 2014-06-16 03:59:07 +02:00
Adam Wulkiewicz
76917a4e70 [within][covered_by][test][doc] Support Point in Segment.
Add tests and update implementation status.
Add the test for intersects(Point, Segment).
2014-06-16 03:49:51 +02:00
Menelaos Karavelas
a4566ad92d [algorithms][is_simple] replace inclusion of detail/is_simple/pointlike.hpp
by inclusion of detail/is_simple/multipoint.hpp
2014-06-16 03:38:14 +03:00
Menelaos Karavelas
c1ca7590fd [test][is_simple] remove tests involving non-valid geometries;
fix test cases with closed linestrings; add more test cases;
add tests for areal geometries with duplicate points;
2014-06-16 03:34:26 +03:00
Menelaos Karavelas
a4b42e8bbc [algorithms][is_valid] re-implement has_spikes to return false if
the range has one or two distinct points (instead of calling
BOOST_ASSERT)
2014-06-16 03:30:53 +03:00
Menelaos Karavelas
8200c0c0a7 [algorithms][is_valid] re-implement has_duplicates to return false,
instead of calling BOOST_ASSERT, for geometries with no points;
2014-06-16 03:27:55 +03:00
Menelaos Karavelas
7d6f54539b [algorithms][is_simple] fix bug for closed linestrings (they do not
have boundary points); re-implement is_simple for linear geometries
assuming they are valid;
2014-06-16 03:26:10 +03:00
Menelaos Karavelas
be66dfe3f8 [algorithms][is_simple] print boundary points instead of endpoints
of linear geometries
2014-06-16 03:24:54 +03:00
Menelaos Karavelas
987cf6ee1e [algorithms][is_simple] re-arrange code:
rename detail/is_simple/pointlike.hpp to detail/is_simple/multipoint.hpp;
move code for geometries that are always simple to detail/is_simple/always_simply.hpp;
for areal geometries (rings, polygons, multi-polygons) implement
simpliciality check by checking for duplicate points;
2014-06-16 02:44:37 +03:00