Commit Graph

137 Commits

Author SHA1 Message Date
Barend Gehrels
ac4bf34329 Merge branch 'develop' into prepare
Conflicts:
	include/boost/geometry/extensions/nsphere/algorithms/num_points.hpp
	include/boost/geometry/extensions/nsphere/index/detail/rtree/rstar/redistribute_elements.hpp
2014-10-20 19:44:24 +02:00
Adam Wulkiewicz
cc9b1292a6 Merge pull request #152 from awulkiew/fix/convex_hull
Fix/convex hull
2014-10-18 13:38:16 +02:00
Menelaos Karavelas
8481591e5c [test][algorithms][for_each] add test cases for open geometries (open
ring, open polygon, open multipolygon)
2014-10-02 12:52:56 +03:00
Adam Wulkiewicz
a17b534a06 [test][convex_hull] Update convex_hull tests.
Update multi_convex_hull test to reflect recently made changes for Point-like and Segment-like Output.

Remove the test for MultiPoint from convex_hull test since it's already tested in multi_convex_hull test.
2014-10-02 03:42:03 +02:00
Adam Wulkiewicz
2f1ef806cf [test] Rename multi/io tests. 2014-09-12 22:06:59 +08:00
Barend Gehrels
573c21f933 Merge branch 'develop' into prepare
Conflicts:
	extensions/example/gis/io/shapelib/shapelib.cpp
	include/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp
	include/boost/geometry/extensions/algorithms/offset.hpp
	include/boost/geometry/extensions/gis/io/wkb/detail/parser.hpp
	include/boost/geometry/extensions/gis/projections/impl/pj_auth.hpp
	include/boost/geometry/extensions/gis/projections/impl/pj_ell_set.hpp
2014-07-21 22:58:40 +02:00
Adam Wulkiewicz
9cfee81a09 [geometry] Replace tabs with spaces 2014-07-08 02:27:17 +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
Adam Wulkiewicz
188b1c3e48 [test] Fix unused typedef warnings 2014-06-03 16:20:11 +02:00
Menelaos Karavelas
5c5d42341c [test][distance] move unit test code from test/multi/algorithms/multi_distance.cpp to test/algorithms/distance.cpp;
delete test/multi/algorithms/multi_distance.cpp;
2014-05-09 22:25:45 +03:00
Barend Gehrels
dc2993ae3a Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/relate/turns.hpp
	include/boost/geometry/algorithms/touches.hppq
2014-04-23 13:26:59 +02:00
Barend Gehrels
561fab72d2 Fixed expectactions for difference_spike, after enhanced IP calculation 2014-04-19 21:39:49 +02:00
Adam Wulkiewicz
a0d03ed4cf [test] Divide relate() test into several smaller ones.
The intention is to prevent creation of too big files in MinGW.
Move predefined Geometries for relops from test_relate.hpp to predef_relop.hpp
Move test_geometry<> defined in relate.cpp to test_relate.hpp
2014-04-17 13:55:28 +02:00
Adam Wulkiewicz
08cc83be49 [geometry] Fix compilation errors
point_in_geometry - Intel 11 probably can't handle BOOST_STATIC_ASSERT() inside which some template is directly instiantated - replace by intermediate value + BOOST_MPL_ASSERT_MSG for better error message.
multi_touches test - include missing header
2014-04-17 01:42:48 +02:00
Barend Gehrels
77703f439e [unit tests] Fixed traverse cases changed by new approach 2014-03-30 13:03:36 +02:00
Barend Gehrels
13aa0b07db [geometry] Append without duplicates, fixed 3 calls 2014-02-19 11:18:20 +01:00
Barend Gehrels
98b4271ba4 [geometry] Added testcase for union with spike generated 2014-02-12 22:44:54 +01:00
Barend Gehrels
6900fdd46b [geometry] Fixed most of the remaining unit-tests
w.r.t. rescale changes
2014-02-12 12:38:48 +01:00
Barend Gehrels
8d202fd319 [geometry] Verified compatibility with/without robust rescaling
We now have the define BOOST_GEOMETRY_NO_ROBUSTNESS to avoid rescaling
(probably should be renamed)
2014-02-12 11:45:02 +01:00
Barend Gehrels
175032c841 [geometry] Integer coordinates are now not rescaled
which fixes corresponding tests
2014-01-17 19:58:31 +01:00
Barend Gehrels
75c1010ef1 [geometry] Fixed multi testcases w.r.t. rescaling to robust 2014-01-16 19:34:02 +01:00
Barend Gehrels
90b75b7640 Merge branch 'develop' into rescale_to_integer 2014-01-16 14:19:01 +01:00
Barend Gehrels
e3893d31ea [geometry] Modified #clips, caused by fix in touch
(note: this was modified to 4 in 9a9efcff89,
18 dec 19:19:10 so this is effectively a reversal)
2013-12-19 22:43:26 +01:00
Barend Gehrels
9a9efcff89 [geometry] Work in progress: factor (rational) instead of distance
This is a large commit. It replaces enriched.distance with factor. Factor
is based on integer calculations, calculated in cart_intersect, from the
passed robust points, so always trustable.

We had to do this because without certain tests failed because of FP
problems with distance (calculated with FP).

This commit also greatly simplifies relate_collinear, where most things and checks
are replaced by simple unified calculations. This is also based on robust
fractions (but could have been done earlier).

Many (but not all) testcases commented in previous commit are now uncommented
again, they now work thanks to the fractions. There are also testcases
uncommented which now work correctly using clang/Linux

This commit breaks compiling disjoint (because of rescale), and running buffer
(also because of rescale), and some more (probably all because or rescaling),
this has to be fixed soon after.
2013-12-18 19:19:10 +01:00
Adam Wulkiewicz
8f5aa8f236 [geometry] 2-parameter touches() properly dispatched for non-areal geometries, fixed sub_geometry::get() for multi geometries - const correctness 2013-12-15 03:43:07 +01:00
Barend Gehrels
d988e1ac93 [geometry] Work in progress: rescaling to robust-type
A robust type is integer for float/double. The rescaled points will only
be used for side-information and equality and distance-comparisons, not
to calculate the intersection points themselves.
Currently the code is #ifdefed
2013-12-14 13:25:46 +01:00
Barend Gehrels
3e5333a8c4 [geometry] Remove all trailing spaces (tests) 2013-12-05 19:38:32 +01:00
Barend Gehrels
52867f02ee [geometry] fixed WKT errors in convert-unit-tests. We now check extra on num_points
[SVN r86596]
2013-11-09 11:52:56 +00:00
Barend Gehrels
36acf71ab9 [geometry] fixed multi_for_each which requires a closing point (since WKT now always closes rings explicitly, few weeks ago)
[SVN r86592]
2013-11-09 11:22:57 +00:00
Bruno Lalande
cfeaaf0cab Made disjoint variant-aware.
[SVN r86523]
2013-10-30 12:03:54 +00:00
Barend Gehrels
ac40228b07 [geometry] Major bugfix: intersection problem(s) caused by robustness, reported in ticket 9081. Causes were inconsistent side information by floating point precision. We now switch to integer for a specific region (6 points) to have the side information consistent. This removes many separate robustness checks previously done in cart_intersect, which is now more simple and ~200 lines shorter. And it removes also some robustness checks in get_turn_info (probably more were actually needed by old approach). It also uses this system in handle_tangencies and enrich_intersection_points.
It now also used the passed side information in direction.hpp, which saves calculations and is shorter.
In the end the performance is similar.
One (of many) situations in ticket 9081 is added in multi unit tests.


[SVN r85867]
2013-09-24 14:18:13 +00:00
Barend Gehrels
6567f7fab9 [geometry] merged to release
[SVN r85862]
2013-09-23 21:54:07 +00:00
Barend Gehrels
32aa8ebd08 [geometry] Unit tests, updated float-versions due to differences in spikes in recent commit (August). This is not tested by default..
[SVN r85775]
2013-09-18 12:20:12 +00:00
Barend Gehrels
7d329b3582 [geometry] added bigobj for the failing MSVC tests
[SVN r85562]
2013-09-04 11:17:34 +00:00
Barend Gehrels
d1c4cb7b6d [geometry] avoid generation of spikes in overlays, this fixes ticket 8364 and 8365. Added unit tests for these tickets. These changes result in (at about 3 places) changes in the output-number-of-points, this is verified visually
[SVN r85451]
2013-08-24 22:53:43 +00:00
Barend Gehrels
fdccdbff5e [geometry] cleanup, removing MSVC proj-files where were for version 2005
[SVN r85375]
2013-08-17 15:43:41 +00:00
Barend Gehrels
018502c52c [geometry] adapted transform strategies, they have points now as member-template, and calculation-type as template. Similar to what was done for Distane. This commit includes updated tests/doc/examples
[SVN r85325]
2013-08-12 21:22:53 +00:00
Bruno Lalande
4246ea4217 Distance strategies no longer need to be parameterized with the point type(s).
[SVN r85040]
2013-07-14 22:54:43 +00:00
Barend Gehrels
485923d149 [geometry] merge of Boost.Geometry into release branch
[SVN r84242]
2013-05-12 10:58:26 +00:00
Bruno Lalande
22fff3f43b Made clear() variant-aware.
[SVN r82395]
2013-01-08 00:05:36 +00:00
Bruno Lalande
2a5b55ffe9 Made num_points variant-aware.
[SVN r82378]
2013-01-06 22:27:38 +00:00
Barend Gehrels
5ce1a36676 [geometry] merged to release branch
[SVN r82022]
2012-12-16 15:14:35 +00:00
Barend Gehrels
202f8db2b2 [geometry] updated traverse to avoid output of nearly empty rings, like in convert_rings. This also affects unit tests
[SVN r82020]
2012-12-16 13:26:21 +00:00
Barend Gehrels
129f6cf7dd [geometry] updated testsuite for difference, added test which checks convert_ring on inner-ring point-count
[SVN r82019]
2012-12-16 12:18:44 +00:00
Barend Gehrels
b1d571076a [geometry] added combinations point/ring, point/polygon, point/multi_polygon for disjoint and intersects (unit tests, multi)
[SVN r81957]
2012-12-14 22:31:19 +00:00
Barend Gehrels
a9d243b636 [geometry] Unit tests belonging to bugfix difference problem reported by H2 at Boost.Geometry list at 2012-09-14 and 2012-10-11
[SVN r80994]
2012-10-15 21:15:00 +00:00
Barend Gehrels
e3c8eed009 [geometry] merged since r77001
[SVN r78712]
2012-05-28 11:29:18 +00:00
Barend Gehrels
4db3b6b782 [geometry] added touch - unit tests
[SVN r78691]
2012-05-27 17:47:28 +00:00
Barend Gehrels
d2643ac319 [geometry] fixed disjoint (unit test) including release notes for this fix and older commits
[SVN r78686]
2012-05-27 15:17:29 +00:00
Barend Gehrels
4680355b30 [geometry] added test for multi/disjoint (with case to be fixed)
[SVN r78683]
2012-05-27 14:47:19 +00:00