Commit Graph

2201 Commits

Author SHA1 Message Date
Barend Gehrels
6be98196ed [buffer] Piece visitor, remove unused types and we still need to check on geometry_code 2014-11-22 14:32:20 +01:00
Barend Gehrels
0c34c58e5e Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-11-22 12:51:25 +01:00
Barend Gehrels
fc2652323b [buffer] refactor analysis of piece into shorter and slightly more efficient (few %) code.
It is now one function. In later commits we will extend this by checking helper
segments separately, which should also be more efficient.

It changes one test-case, probably because ofn ear_offsetted. The change is not visible
and the result is probably more correct. SQL Server reports this polygon as invalid.
2014-11-22 12:50:31 +01:00
Menelaos Karavelas
db51e59aae [test][algorithms][distance][spherical equatorial] update unit test to account
for the changes in the cross track strategy (that now has a comparable counterpart)
2014-11-19 23:55:51 +02:00
Adam Wulkiewicz
11d627808a Merge pull request #160 from awulkiew/fix/read_wkt
Fix/read wkt
2014-11-19 17:57:48 +01:00
Menelaos Karavelas
445fa3fd8e [test][algorithms][distance][spherical equatorial] print, in debug mode, the
radius of the strategy; change the label in one of the test cases;
2014-11-18 08:30:06 +02:00
Barend Gehrels
0667c87e1d [buffer][test] added unit test using large country multi_polygons
This one is not enabled by default.
Aimes-test is no enabled by default
2014-11-12 14:07:19 +01:00
Barend Gehrels
9a9e16f936 [buffer] major fix: we now create concave helper-pieces differently
In the past there was one with a straight line going from one piece to the next.
Now there are two, going from one piece to the point on the geometry, and the
second going from the point on the geomety to the next piece.
They are now zero-volume.
They fix:
1) crossings of sides with flat-ends (unit-test cases curve, field_sprayer, bend_near_start)
2) joins with limited number of points (unit-test cases concave_b_rough, italy_part, nl_part)
3) joins with large distances
4) many self-intersections on remaining aimes-cases
2014-11-12 13:59:29 +01:00
Barend Gehrels
4ad1abe80f [buffer][test] enhance display of pieces 2014-11-12 13:39:51 +01:00
Adam Wulkiewicz
45ef3cd37d Merge pull request #180 from mkaravel/feature/distance
Feature/distance
2014-11-10 11:51:15 +01:00
Barend Gehrels
95583233e7 [buffer] polygon add tests, which are partly failing 2014-11-09 14:29:39 +01:00
Barend Gehrels
a34e408ade [buffer][test] disable failing test for CCW 2014-11-09 12:18:17 +01:00
Menelaos Karavelas
46bb719a63 [test][algorithms][distance] add unit test for testing distance
computations for pointlike/linear geometries in the spherical equatorial
coordinate system
2014-11-07 23:28:05 +02:00
Menelaos Karavelas
3f19ebab75 [test][algorithms][distance] cleanup unit test for distances of
pointlike/pointlike geometries in the spherical equatorial coordinate system;
add testing when a comparable strategy is passed;
2014-11-07 23:26:54 +02:00
Menelaos Karavelas
111d9537a1 [test][distance] add algorithm (used in unit tests) for computing the distance
in a brute force manner, using BG's distance only for the following combinations:
* point/point
* point/segment
* segment/segment
2014-11-07 23:25:11 +02:00
Menelaos Karavelas
2c3d9e898b [test][distance] cleanup common code for distance unit tests in the
spherical_equatorial coordinate system
2014-11-07 23:24:19 +02:00
Barend Gehrels
8c75d81fff [overlay] fix behaviour of u/u turns for difference. This fixes
the assemble unit test which broke in earlier commits today
2014-11-06 18:54:55 +01:00
Barend Gehrels
9b91655c05 [test] updated select_rings unit test after code changes 2014-11-06 17:44:40 +01:00
Barend Gehrels
c5417f6f43 [overlay] fix ticket #10108: rings only touching should check for u/u turns
and don't call point_on_border because that might be located on the border of the
other geometry. This also avoids passing the mid_point boolean, and including
within_code in ring_properties
2014-11-06 14:29:35 +01:00
Barend Gehrels
12c6d22a5e Merge pull request #177 from mkaravel/feature/disjoint
More test cases for disjoint
2014-11-05 15:13:06 +01:00
Menelaos Karavelas
6d1a764629 [test][algorithms][disjoint] add a case ID string to each test case;
remove the pretty_print_geometry functionality; simplify the calls
to BOOST_CHECK_MESSAGE;
2014-11-05 16:03:50 +02:00
Barend Gehrels
5563d2f8e2 [test] small change, move types/constants upwards to conveniently exclude/comment
testcases if necessary
2014-11-05 13:39:28 +01:00
Barend Gehrels
448040613d [overlay][fix] fix rescaling when coordinate-differences are larger than recaling range,
which is unfortunately slipped through. This fixes ticket #10747
2014-11-05 13:38:12 +01:00
Menelaos Karavelas
b8234413e0 [test][algorithms][disjoint] add a few more test cases, some of them related
to the recent bug in the Cartesian segment-segment intersection strategy;
replace calls to BOOST_CHECK by calls to BOOST_CHECK_MESSAGE;
2014-11-05 08:34:46 +02:00
Adam Wulkiewicz
f0c5554190 Merge pull request #129 from mkaravel/feature/disjoint-1.57
Feature/disjoint 1.57
2014-11-04 22:25:35 +01:00
Menelaos Karavelas
1b638c66fc [test][distance] add some more P/L and L/L test cases; some of them
have triggered the bug in the Cartesian segment-segment intersection
strategy and the distance has produced wrong results; with the fix
in the Cartesian segment-segment intersection strategy, the distance
computation test cases added succeed;
2014-11-04 22:06:18 +02:00
Menelaos Karavelas
7b3ced0c6a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint-1.57 2014-11-04 15:16:42 +02:00
Menelaos Karavelas
96243eb580 [test][distance] add test cases for multipoint/polygon and
multipoint/multipolygon with points inside the polygon/multipolygon
2014-11-03 20:58:58 +02:00
Adam Wulkiewicz
ae9c2953d0 Merge branch 'develop' into fix/read_wkt 2014-11-03 19:55:39 +01:00
Adam Wulkiewicz
9fec00c796 [test] Move the rest of the tests from multi directory and remove this directory. 2014-10-30 14:04:14 +01:00
Adam Wulkiewicz
61c9fa6bd2 [test] Move overlay tests from multi directory. 2014-10-30 13:41:41 +01:00
Adam Wulkiewicz
2bef2facc1 [test] Move set operations tests from multi directory. 2014-10-30 13:24:10 +01:00
Adam Wulkiewicz
0568463385 [test] Move relational operations tests from multi directory. 2014-10-30 13:18:38 +01:00
Adam Wulkiewicz
26b338a20f [test] Move set and relational operations tests to separate directories. 2014-10-30 13:09:12 +01:00
Adam Wulkiewicz
0279dca727 [test] Move disjoint, relate and within tests to separate directories. 2014-10-30 12:00:59 +01:00
Adam Wulkiewicz
7fc973ce66 [test] Move set ops algorithms tests to separate directories. 2014-10-30 01:31:12 +01:00
Adam Wulkiewicz
7e1e794dd0 [test] Move from_wkt to main test directory and tweak #includes. 2014-10-30 00:52:10 +01:00
Adam Wulkiewicz
aaa96982cf [test] Move distance() tests to separate directory. 2014-10-30 00:32:02 +01:00
Barend Gehrels
0be9f2dfca [test][buffer] test symmetric distance strategy too, if right distance
is not specified. This tests the fix in last commit, already merged to master (for 1.57)
2014-10-29 22:54:06 +01:00
Barend Gehrels
26da077654 [test][buffer] enhance SVG display for deflate, with pieces displayed 2014-10-29 17:27:25 +01:00
Barend Gehrels
254999addd [buffer] Fix case for square with buffer-distance = half the size, IP's
are on border of original and should be discarded for both inflate/deflate
This fixes the cases added to unit tests before
2014-10-29 17:26:43 +01:00
Barend Gehrels
c8af337ad7 [test][buffer] remove _neg suffix from test-case-name, it is done automatically 2014-10-29 12:50:48 +01:00
Barend Gehrels
79b944483d [test][buffer] add simplex square for failing deflate case 2014-10-29 12:50:20 +01:00
Barend Gehrels
32d5c78623 [test][buffer] add deflate test for multi, including failing for distance=half of square 2014-10-29 12:35:41 +01:00
Barend Gehrels
b98c653335 [test][buffer] test ccw by default 2014-10-29 12:15:15 +01:00
Barend Gehrels
39c149ed22 [test][buffer] more deflation tests and move order 2014-10-29 12:14:43 +01:00
Barend Gehrels
761fc9f8b1 [test][buffer] uncommented deflated indentation tests, which pass now 2014-10-29 12:00:01 +01:00
Barend Gehrels
8e6268c50e [test][buffer] enhance svg display for test results and deflated polygons.
By default pieces/turns are non visible now
2014-10-29 11:52:25 +01:00
Barend Gehrels
cef05d3bf2 [buffer][test] remove default values for new tests 2014-10-29 11:16:42 +01:00
Barend Gehrels
4a7c63fb17 [buffer][test] add custom-strategy version and test scenario which did round-join buffer fail 2014-10-29 11:16:11 +01:00
Adam Wulkiewicz
c411f2bdb3 [test][buffer] Add test cases for Polygon. 2014-10-28 15:07:36 +01:00
Adam Wulkiewicz
3500cc4355 [test][buffer] Add CCW test polygons (not tested yet). 2014-10-28 13:49:08 +01:00
Menelaos Karavelas
e82e199e00 [test][distance] add unit test for distance of pointlike-pointlike geometries
in the spherical equatorial coordinate system
2014-10-27 22:11:55 +02:00
Barend Gehrels
a5b9cfe0bc [buffer][fix] fix for open input of 3 points 2014-10-24 19:39:01 +02:00
Barend Gehrels
0f72af95f0 [buffer] fix simplify which should work on input ringtype
and added unit test which tests different input/output types w.r.t. point order
(different point types are not yet supported)
2014-10-24 15:52:05 +02:00
Barend Gehrels
ffd3cd1e3d [buffer][test] fix ccw suffix which should use output geometry 2014-10-24 15:33:03 +02:00
Barend Gehrels
6f09c5fd98 [buffer][test] test counter clockwise output for (multi)linestrings / points 2014-10-24 15:17:05 +02:00
Barend Gehrels
bd4de457d8 [buffer][fix] fixes counter clockwise polygons 2014-10-24 15:02:55 +02:00
Barend Gehrels
b40c1096a4 [buffer][test] fix 3 testcase names 2014-10-24 14:20:15 +02:00
Barend Gehrels
d762543676 [buffer][test] add reported testcase which succeeds 2014-10-24 13:33:17 +02:00
Barend Gehrels
6280a2b67e [buffer] support buffer for degenerate polygons (pointlike, not enough points) 2014-10-24 13:12:10 +02:00
Barend Gehrels
fd75d83fd1 [buffer][fix] fix output for generated linestrings with two equal points only
It now simplifies first and removes second point if necessary. Also it is
defensive such that generation is stopped if length is 0.
Including unit tests.
2014-10-24 12:36:22 +02:00
Barend Gehrels
e4cd46ac5d [buffer] support degenerate linestrings containing one point. In that
case point-buffer is applied. Including updated unit tests
2014-10-24 11:21:32 +02:00
Adam Wulkiewicz
0526a104eb [test][algorithms] Fix unused parameter warnings. 2014-10-20 18:17:41 +02:00
Adam Wulkiewicz
7c5056dae1 [test][set_ops] Fix unused parameter warnings. 2014-10-20 16:32:21 +02:00
Adam Wulkiewicz
e3f9af9292 [test][difference] Fix unused parameter warnings. 2014-10-20 16:26:42 +02:00
Adam Wulkiewicz
e59976b358 [test][point_on_surface] Remove unused typedef. 2014-10-19 22:43:49 +02:00
Adam Wulkiewicz
1808886487 Merge pull request #155 from awulkiew/fix/centroid
Fix/centroid
2014-10-18 17:35:29 +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
Adam Wulkiewicz
a0a7db675b [test][disjoint] Add tests for A/A 2014-10-18 03:07:35 +02:00
Adam Wulkiewicz
d1eb1add3e Merge branch 'develop' into fix/read_wkt 2014-10-16 16:03:27 +02:00
Matt Amos
1bc7382cea Merge remote-tracking branch 'origin/master' into ccw_point_on_surface
Conflicts:
	test/algorithms/point_on_surface.cpp

Conflicts:
	test/algorithms/point_on_surface.cpp
2014-10-15 14:27:33 +02:00
Matt Amos
183da9585e [test][point_on_surface] Added test for CCW point on surface calculation.
Conflicts:
	test/algorithms/point_on_surface.cpp
2014-10-15 13:56:31 +02:00
Matt Amos
882d9d0fad [test][point_on_surface] Add test for point_on_surface using integer coordinates. 2014-10-15 13:55:19 +02:00
Barend Gehrels
8528423314 Merge branch 'develop' into feature/buffer 2014-10-15 13:08:39 +02:00
Barend Gehrels
ee7dc28b65 [test] fix creation of SVG for intersection, the SVG block was placed
in the wrong function when splitting the original function
2014-10-15 12:08:11 +02:00
Barend Gehrels
9a72b838a6 [test] added note about out-of-date. It is not part of any Jamfile currently 2014-10-15 12:00:01 +02:00
Barend Gehrels
98d8c88372 [buffer][test] remove redundant index 2014-10-15 11:59:18 +02:00
Adam Wulkiewicz
743d4fadd4 [test] Update tests to be in line with the change in behavior of read_wkt() for open Rings. 2014-10-14 01:38:48 +02:00
Adam Wulkiewicz
5e3656a09a [centroid] Disable error-reducing translation for other coordinate systems than cartesian.
Remove undefined namespace.
Add missing headers.
Add a note about other coordinate systems.
Add copyright info.
2014-10-11 01:42:20 +02:00
Adam Wulkiewicz
379c40ea20 [test][centroid] Improve the test for Polygon using big coordinates. 2014-10-10 22:30:08 +02:00
Adam Wulkiewicz
d5f8b1c5fc [test][point_on_surface] Add missing closing Point in on of the tests. 2014-10-10 20:38:44 +02:00
Adam Wulkiewicz
72c838c16d Merge pull request #153 from awulkiew/feature/refactor_turns
Overlay/Turns refactorization
2014-10-10 20:32:55 +02:00
Adam Wulkiewicz
9a01219429 [test][point_on_surface] Add test for Polygon containing non-uniformly distributed points. 2014-10-10 16:21:36 +02:00
Adam Wulkiewicz
9b9bde7f34 [test][centroid] Add test for big doubles. 2014-10-10 13:48:30 +02:00
Adam Wulkiewicz
5ea7bcc5a7 [test][point_on_surface] Add test for Polygon using big coordinates (ticket 10643) 2014-10-10 13:05:40 +02:00
Adam Wulkiewicz
326d267f9d [test][setops] Fix invalid namespace in test_get_turns_ll_invariance. 2014-10-09 01:41:43 +02:00
Adam Wulkiewicz
7cf47bb1e5 [overlay][is_valid] Replace int with signed_index_type for segments indexes. 2014-10-08 23:50:16 +02:00
Adam Wulkiewicz
e6331558a5 Merge pull request #150 from mkaravel/fix/for_each-alternate
[algorithms][for_each] Alternative fix
2014-10-02 12:33:47 +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
2368590f76 [test][convex_hull] Add test for MultiPoint for which convex_hull() should return invalid Polygon. 2014-10-01 21:53:19 +02:00
Adam Wulkiewicz
e14fd7d950 [test][convex_hull] Add tests for open output Geometries. 2014-10-01 18:32:21 +02:00
Barend Gehrels
bf7ca70687 Merge branch 'develop' into feature/buffer 2014-10-01 10:26:21 +02:00
Menelaos Karavelas
03d505061a [test][algorithms][distance] add test case between linestring and open multipolygon
where the distance is realized between the linestring and an implicit segment of the
multipolygon
2014-10-01 09:35:46 +03:00
Menelaos Karavelas
c81a75f1dd [test][algorithms][distance] add test case for open polygon and linestring
where the distance is materialized between the linestring and the last (implicit)
segment of the polygon
2014-09-30 17:12:50 +03:00
Barend Gehrels
94bd840102 [buffer][test] make labels for turns optional, for good turns and for bad turns 2014-09-24 16:47:29 +02:00
Barend Gehrels
a0d7a260dc [buffer][test] add failing test for which there is not yet a solution.
It is related to colocated turns and sorting
2014-09-24 16:46:41 +02:00
Barend Gehrels
2c84bb4d49 [buffer] block turns instead of discarding them
This fixes case rt_u11
New result of recursive_polygons_buffer: 2 errors out of 510372
2014-09-24 10:36:15 +02:00
Barend Gehrels
e02c82623a [buffer] add new failing testcases (now 9 out of 500000 fail for miter) 2014-09-17 16:53:55 +02:00
Barend Gehrels
8de1b4da16 [buffer] fix comment 2014-09-17 16:52:19 +02:00
Barend Gehrels
c55e000eef [buffer] small changes in comments/test svg 2014-09-17 16:32:25 +02:00
Barend Gehrels
9298ac2a2c [buffer] fix intersection points on border, equal points should not be checked
and correct order in call to side strategy
This fixes case rt_u10
2014-09-17 16:30:03 +02:00
Barend Gehrels
e3130b2f39 [buffer][test] added new failing testcase rt_u10 2014-09-10 15:45:32 +02:00
Barend Gehrels
e6043d9a5c [buffer] fix cases where intersection point falls between robust piece
and non-robust original. We now check robust representions of originals
where this cannot happen
This fixes rt_u9
This obsoletes turn_in_input
2014-09-10 15:33:44 +02:00
Barend Gehrels
fcd0c5b768 [buffer] helper_points (formerly called helper_segments) are now optional
and we rescale/finish the piece on the fly and not in a separate call
2014-09-10 13:05:13 +02:00
Barend Gehrels
9a69055b6c Merge branch 'develop' into feature/buffer 2014-09-10 11:07:53 +02:00
Barend Gehrels
e0b82cd47f [test] enable rt_u8 case and change comments 2014-09-10 11:01:21 +02:00
Barend Gehrels
6fcdf246e0 [test] comment update 2014-09-10 10:34:43 +02:00
Menelaos Karavelas
b43faf5457 [test][algorithms][num_points] add test cases for open geometries (including
the edge case where the geometry is defined as open but the first/last points
are identical)
2014-09-05 10:19:43 +03:00
Barend Gehrels
9b5a8dfb2f [buffer][test] add testcase rt_u8, currently still failing 2014-09-03 17:54:17 +02:00
Barend Gehrels
95d794e218 [buffer] fix order when multiple turns are colocated on the same point.
This replaces get_relative_order which was not effectively used anymore and
(most probably) get_left_turns.
This fixes case rt_u7
2014-09-03 17:53:21 +02:00
Barend Gehrels
c271df6a8b Merge branch 'feature/buffer' into develop
Conflicts:
	test/algorithms/buffer/polygon_buffer.cpp
2014-09-03 11:42:30 +02:00
Barend Gehrels
5b42d85326 [buffer][test] add testcase for ticket 10412 (Olivier) 2014-08-30 11:54:57 +02:00
Barend Gehrels
c42aeb4447 [buffer][fix] fix neighbour check in calculating turns. This fixes ticket 10398 2014-08-27 12:27:57 +02:00
Barend Gehrels
12b61c6a0f Merge branch 'develop' into feature/buffer 2014-08-27 11:34:07 +02:00
Barend Gehrels
7a7d5935d6 [buffer][test] add failing ticket 10398 2014-08-27 11:32:33 +02:00
Adam Wulkiewicz
be637c0929 Merge pull request #128 from mkaravel/feature/counting-algorithms
Feature/counting algorithms
2014-08-14 12:57:48 +02:00
Menelaos Karavelas
8fa69ca016 [test][num_segments] change unit test for num_segments, to eliminate testing
for the optional boolean argument in the num_segments free function that no
longer exists
2014-08-11 13:18:08 +03:00
Menelaos Karavelas
77f5a5b136 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/counting-algorithms 2014-08-11 13:12:30 +03:00
Barend Gehrels
c72cccb7ed [test][robustness] move overlay/robustness folder to robustness folder 2014-08-11 11:48:34 +02:00
Menelaos Karavelas
0afb92a72c [test][algorithms][num_interior_rings] simplified unit test (by removing unnecessary tests) 2014-08-11 01:09:21 +03:00
Menelaos Karavelas
527d169ba8 [test][algorithms]pnum_geometries] simplified unit test (by removing
unnecessary tests)
2014-08-11 01:08:42 +03:00
Barend Gehrels
1830208b74 [buffer][test] Add rt_u7 which is currently failing because of tripled IP,
needing get_left_turn info again. Added debug info
2014-08-10 19:21:21 +02:00
Barend Gehrels
f98549f82d [buffer][test] Minor change in comments/whitespace 2014-08-10 15:34:33 +02:00
Barend Gehrels
9c3ca1e69a [buffer][test] improve piece labelling on round joins 2014-08-10 15:32:46 +02:00
Barend Gehrels
a7764c1b9e [buffer][fix] use taxicab distance instead of comparable distance
This is faster and avoids overflows. This fixes rt_u6
2014-08-10 15:32:07 +02:00
Barend Gehrels
31abd20829 [buffer][fix] Distinguish between "within" and "within_near_offsetted"
The last one might be offsetted by 1 due to integer rounding. It is not
selectable as a starting point but may be used for traversal
2014-08-10 14:15:04 +02:00
Barend Gehrels
6df7738d3a [buffer][fix] Fix turns which were only on helper-segments, they can be discarded.
This fixes rt_u3 and rt_u4 where a false interior ring was generated
2014-08-10 12:49:37 +02:00
Barend Gehrels
468c3dd36a [buffer][test] clean up old comments/cases 2014-08-10 00:03:15 +02:00
Barend Gehrels
a46e2603d8 [buffer][fix] In rare cases an extra ring was traversed and created. Fixed, that ring is
discarded now. This fixes behaviour of assign_parents with positive-rings in positive-rings (when
check_for_orientation is true; normally (for overlay) it is false)

It also reverses a negative-only ring so fixes a linestring_buffer testcase.

For multi-polygon it fixes new testcase rt_u2 found by recursive-polygon-buffer test
2014-08-09 23:51:42 +02:00
Barend Gehrels
6cf72447d1 [buffer][test] remove unused variable 2014-08-09 23:33:15 +02:00
Barend Gehrels
9df6901a87 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-08-09 22:56:59 +02:00
Menelaos Karavelas
03705c3df7 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint-1.57 2014-08-09 01:03:41 +03:00
Menelaos Karavelas
6f285b11ea [test][num_geometries][num_interior_rings] combined tests for
open/closed cw/ccw rings, polygons and multi-polygons
2014-08-09 00:42:29 +03:00
Menelaos Karavelas
fe4244692d [test][algorithms][num_segments] add tests for boxes in 3, 4 and 5 dimensions 2014-08-08 13:14:31 +03:00
Menelaos Karavelas
2d539902f0 [test][algorithms][num_points] add tests for boxes in 3, 4 and 5 dimensions 2014-08-08 13:07:16 +03:00
Menelaos Karavelas
2b83e7493a [test][algorithms] add the unit tests for num_geometries and
num_interior_rings to the Jamfile
2014-08-08 13:06:25 +03:00
Menelaos Karavelas
ec87092dfa [test][algorithms][num_interior_rings] add unit test for num_interior_rings
algorithm, including test for variant support
2014-08-08 13:05:56 +03:00
Menelaos Karavelas
e9b79bce23 [test][algorithms][num_geometries] add unit test for num_geometries
algorithm, including test for variant support
2014-08-08 13:04:53 +03:00
Adam Wulkiewicz
b5cea9aaf0 [test] Fix size_t to int conversion in test_difference 2014-08-07 00:18:06 +02:00
Barend Gehrels
e1fc427e30 [buffer][fix] Mark points in buffered areas as not startable instead of discarding them
Within can have in rare cases a rounding issue. We don't discard this
point, so it can be used to continue started rings in traversal. But
will never start a new ring from this type of points.

This fixes p17
2014-08-06 13:27:52 +02:00
Menelaos Karavelas
be586b5947 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-08-06 14:02:26 +03:00
Adam Wulkiewicz
42cf08658c [test] Add test for ticket 10234 2014-08-04 14:09:29 +02:00
Menelaos Karavelas
f34f4d4cce [test][algorithms] add missing include 2014-08-04 12:51:55 +03:00
Marek Kurdej
5248675469 Fixed: compilation error requiring /bigobj compiler flag on MSVC. 2014-08-01 15:04:27 +02:00
Menelaos Karavelas
79d8a2c59b [test][algorithms][disjoint] add test cases with empty multipoints;
enable tests for the combinations:
* point / multipoint
* multipoint / multipoint
* multipoint / segment
* multipoint / box
2014-07-31 11:41:22 +03:00
Menelaos Karavelas
e98bfaca4a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-07-29 00:34:33 +03:00
Barend Gehrels
a999baa01e [buffer][test] Exclude failing tests (Aimes),
include succeeding test (O1)
avoid reporting (false) self-intersection (aimes120)
2014-07-27 20:39:46 +02:00
Barend Gehrels
27b95ee544 [buffer][test] increased tolerance for aimes test
Most of them now succeed, with exception of 6 cases
2014-07-27 18:50:43 +02:00
Barend Gehrels
a94d0ce415 [buffer][test] enabled field_sprayer test, added aimes-167 test
Both tests are disabled for flat-ends for the same reason: flat ends should
be intersected with helper-segments too
2014-07-27 18:49:25 +02:00
Barend Gehrels
76bebeee6c [buffer][fix] don't check within concave helper pieces 2014-07-27 18:12:04 +02:00
Barend Gehrels
9467d5d060 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-07-27 17:13:13 +02:00
Barend Gehrels
4d05c94b94 [buffer][test] count only if self IP's are reported (has_self_intersection does
additional checks)
2014-07-27 17:12:01 +02:00
Barend Gehrels
710a0e4308 [buffer][test] enhanced svg debug display 2014-07-27 17:11:29 +02:00
Barend Gehrels
feccd380ee [buffer][fix] Fix limit for consideration as continue, as it was too high
(for Aimes test or in general cases using lat long)
Including addition of unit test (aimes181)
2014-07-27 17:07:32 +02:00
Barend Gehrels
51b82988e9 Merge pull request #113 from mkaravel/fix/buffer-unused-local-typedef
[test][buffer] remove used local typedef
2014-07-27 16:15:15 +02:00
Menelaos Karavelas
43c253fd27 [test][simplify] remove unused local typedef;
uncomment concept check for simplify strategy;
2014-07-27 13:51:41 +03:00
Menelaos Karavelas
cea3a65e7e [test][buffer] remove used local typedef 2014-07-27 13:48:49 +03:00
Adam Wulkiewicz
bf7c758967 [test] Fix unused typedef warning in simplify test 2014-07-25 17:14:27 +02:00
Barend Gehrels
f3c000aadd [buffer][test] comment one test case now failing because of other rescaling factor 2014-07-23 16:05:36 +02:00
Barend Gehrels
6b29736b6c [buffer][test] added missing includes (that depend on Boost.Test) 2014-07-23 15:14:38 +02:00
Barend Gehrels
1fa87bcbba [buffer][fix] to get a proper rescale policy, the buffer distance must be added 2014-07-23 15:13:16 +02:00
Barend Gehrels
dd418dbc69 [buffer][test] catch exceptions per test and
remove skipped testcases
2014-07-23 13:33:37 +02:00
Barend Gehrels
04eeee1b56 [buffer][test] Display name of testcases with self-ips and
disable piece labels by default
2014-07-23 13:29:58 +02:00
Barend Gehrels
e4260a9445 [buffer][test] Extracted test-case for difference spike/continue case 2014-07-23 13:29:19 +02:00
Barend Gehrels
77b2723935 [buffer] make miter_limit flexibel and correct IP to exactly that limit 2014-07-20 16:38:32 +02:00
Barend Gehrels
03b6571555 [buffer][test] join/end strategies are now arguments, such that we can change
the default without changing the tests.
This only changes the parameter / involves many lines but nothing else is changed.
2014-07-20 15:27:24 +02:00
Barend Gehrels
0e77ef5342 [buffer] rename buffer_side to side_straight to make it consistent with other buffer strategies
and buffer is already part of the namespace
2014-07-20 10:52:48 +02:00
Barend Gehrels
0b635e342d [buffer] rename buffer_circle to point_circle to have it consistent with other strategies,
and buffer is already in the namespace. same for buffer_square -> point_square
2014-07-20 10:38:40 +02:00
Menelaos Karavelas
428e010146 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-07-17 03:29:16 +03:00
Menelaos Karavelas
ad350863ea [test][algorithms] include unit test for num_segments in Jamfile 2014-07-17 03:02:59 +03:00
Adam Wulkiewicz
d16a343c0a [buffer] Fix buffer_inserter() call in multi_point_buffer test
Function was moved to namespace bg::detail::buffer
2014-07-16 22:28:10 +02:00
Barend Gehrels
97fd8f5332 [buffer] move buffer_inserter to namespace detail::buffer, add overload using 5 strategies 2014-07-16 16:58:02 +02:00
Menelaos Karavelas
b4a9bc4551 [test][algorithms] add unit test for num_segments algorithm 2014-07-16 17:36:15 +03:00
Barend Gehrels
038253e8f5 [buffer] remove end_skip strategy 2014-07-16 15:21:11 +02:00
Barend Gehrels
61ed918240 [buffer] add side/circle strategies to include 2014-07-16 15:12:52 +02:00
Barend Gehrels
bac1ac66af [buffer] avoid having point types in strategies which can be deferred 2014-07-16 15:11:55 +02:00
Barend Gehrels
0f027b5ff9 [buffer] add buffer_circle strategy for points and multi-points, and pass
it all the way through the dispatches
2014-07-16 11:31:35 +02:00
Barend Gehrels
58fa94c897 [buffer][test] use Aimes to test simplify with ax strategy, optionally count number of self-ips 2014-07-16 10:48:27 +02:00
Adam Wulkiewicz
95990f98b1 [test][within] Comment out, mistakenly not commented out line 2014-07-14 19:05:28 +02:00
Adam Wulkiewicz
edf2c00db6 [within][winding] Add more robust calculation of sides in winding strategy.
This commit fixes the ticket https://svn.boost.org/trac/boost/ticket/9628.
The side is calculated always WRT the vertical segment if the p<1> is "equal" to one of the segment endpoint's <1>.
For more information see the comment in the code.
2014-07-14 16:05:26 +02:00
Barend Gehrels
bbe89053ce [simplify] protect work in progress by define because it is still failing 2014-07-12 11:41:26 +02:00
Menelaos Karavelas
6d12d7f715 [test][distance] add test cases for the combinations: polygon/ring,
multipolygon/ring, ring/ring and ring/box
2014-07-11 17:15:43 +03:00
Menelaos Karavelas
48a1951300 [test][distance] add test cases for the multilinestring/ring combination 2014-07-11 17:15:07 +03:00
Menelaos Karavelas
3f762ea23a [test][distance] add test cases for the segment/ring and linestring/ring combinations 2014-07-11 17:12:46 +03:00
Menelaos Karavelas
8e2043bcb4 [algorithms][distance] add test cases for the point/ring and multipoint/ring combinations 2014-07-11 17:11:36 +03:00
Menelaos Karavelas
baf3042d77 [test][distance] add include for rings 2014-07-11 17:11:00 +03:00
Adam Wulkiewicz
bd76327102 Merge pull request #84 from mkaravel/feature/distance
Feature/distance
2014-07-10 23:35:37 +02:00
Menelaos Karavelas
e89234a541 [test][comparable distance] remove tests involving default_comparable_strategy 2014-07-10 11:31:30 +03:00
Adam Wulkiewicz
a6ed7d86ea Merge branch 'develop' into feature/projected_point 2014-07-09 13:59:23 +02:00
Barend Gehrels
5a3cfd62d5 [simplify] add zigzag testcase for testing adt/xdt 2014-07-09 13:39:07 +02:00
Adam Wulkiewicz
c55cee5dd3 [strategies] Fix projected_point_ax+douglass_peucker compilation errors.
Add again operator< for projected_point_ax_result needed to compare the distance with 0 (explicitly converted into the same type).
Remove template parameter from projected_point_ax_less::operator().
Add tests for simplify() and detail::simplify_insert().
2014-07-09 12:58:02 +02:00
Barend Gehrels
e9ac6476aa [simplify] prepare for Adam's enhanced douglas_peucker with pull request #89 2014-07-09 12:01:07 +02:00
Barend Gehrels
0c8f953ee9 [simplify][test] splitted tests such that test with strategy does not
test the version without strategy, to avoid mixing strategy types
2014-07-09 12:00:20 +02:00
Barend Gehrels
64303076dc [simplify][test] added test with strategy 2014-07-09 11:29:30 +02:00
Barend Gehrels
de7ae5dd65 [simplify] prepare for other simplify strategy: added testcase 2014-07-09 11:25:17 +02:00
Barend Gehrels
999ba36e06 [simplify] prepare test for distance object instead of always value, and
added overload accepting a strategy
2014-07-09 11:24:50 +02:00
Menelaos Karavelas
8820e7e266 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/distance 2014-07-08 12:44:32 +03:00
Menelaos Karavelas
b40d0648db [test][algorithms][comparable distance] add tests for variant support 2014-07-08 12:43:51 +03:00
Menelaos Karavelas
91935eea08 [test][algorithms][distance] replace result_of::distance by distance_result 2014-07-08 12:42:49 +03:00
Adam Wulkiewicz
9cfee81a09 [geometry] Replace tabs with spaces 2014-07-08 02:27:17 +02:00
Barend Gehrels
b6b49f5308 [buffer] fix check of buffer_flat_end for inside 2014-07-06 20:22:04 +02:00
Barend Gehrels
da1323716a [buffer] Pass side strategy 2014-07-03 19:59:28 +02:00
Menelaos Karavelas
f2c8ccefca [test][is_valid] add as test case the polygon used in the documentation
example for is_valid
2014-07-02 11:28:40 +03:00
Menelaos Karavelas
6490d2db4a [test][is_valid] add one more test case: add a polygon with many holes
(important note here: many means more than the number of turns)
2014-07-02 02:29:06 +03:00
Adam Wulkiewicz
e9178b6a80 Merge pull request #75 from mkaravel/feature/is_simple
Feature/is simple
2014-07-01 17:27:01 +02:00
Barend Gehrels
b637012bf3 [test] add bigobj flag for union/buffer 2014-06-28 13:22:32 +02:00
Menelaos Karavelas
a156ba17dc [test][is_valid] add test cases for polygons and multi-polygons inspired by email
exchanges with Barend Gehrels
2014-06-27 13:02:39 +03:00
Menelaos Karavelas
f0f037df2b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-26 22:52:43 +03:00
Barend Gehrels
7baf1a29e5 [buffer] We have to simplify the ring before to avoid very small-scaled
features in the original (convex/concave/convex) being enlarged
in a very large scale and causing issues (IP's within pieces).
This might be reconsidered later. Simplifying with a very small
distance will never be visible in the result,
if it is using round joins. For miter joins they are even more
sensitive to small scale input features, however the result will
look better.

A distance strategy can change behaviour (make larger - set simplify
distance to 0.0 to avoid simplification)

This fixes the parcel issue(s)
2014-06-25 13:32:42 +02:00
Menelaos Karavelas
bcaf4a374a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-25 01:54:15 +03:00
Barend Gehrels
7f3b509fb5 [buffer] use endcap strategy for spikes. Check jointype also (again)
for line-line intersection because it is based on buffered segments.
2014-06-24 22:48:04 +02:00
Menelaos Karavelas
a9526bbbc5 [test][is_valid] add multi-polygon test cases where one polygon is inside
a hole of another
2014-06-24 14:47:53 +03:00
Menelaos Karavelas
ec2417f701 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-24 14:08:06 +03:00
Menelaos Karavelas
346784d5e5 [test][is_valid] move validity check functions/classes and related
code to file test_is_valid.hpp; make testing more elaborate: for rings,
convert them to polygons and multi-polygons and test them as such;
for polygons, convert them to multi-polygons and test them as such;
2014-06-24 13:43:52 +03:00
Barend Gehrels
9b6aa189bd [buffer] changes in includes/defines 2014-06-23 22:40:03 +02:00
Barend Gehrels
aa307b5ad2 [buffer] add join_selector and use it before generating the join.
This moves responsibility of generation to the calling code, removes it
from the join strategies. It also enables using the end-strategy for the
spikes
2014-06-23 22:39:29 +02:00
Menelaos Karavelas
91df67e3ce [test][is_valid] add more tests cases for polygon and multi-polygons 2014-06-23 15:44:23 +03:00
Menelaos Karavelas
e7e7f958fb Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
Conflicts:
	include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp
	include/boost/geometry/algorithms/detail/is_valid/polygon.hpp
2014-06-22 23:09:47 +03:00
Barend Gehrels
51121c1e35 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-22 21:07:36 +02:00
Barend Gehrels
5c3f1f2006 [buffer] fix limit which was too low for LatLong coordinates. Also fix in test
for tolerance which was too high. Added unit test
2014-06-22 19:54:13 +02:00
Barend Gehrels
b6ba959f7b [buffer][test] SVG enhancements 2014-06-22 19:50:06 +02:00
Adam Wulkiewicz
3b1c327922 [test] Replace automatic unit tests with minimal test framework included by geometry_test_common.hpp.
This should silence the msvc-8.0 errors - ambiguous enable_if/disable_if.
2014-06-22 17:57:30 +02:00
Barend Gehrels
b1bcc9c4dc [buffer] test - indentation, remove old comment 2014-06-22 16:11:58 +02:00
Barend Gehrels
2f6abfce3f [buffer] test: remove old code and instead add 3 parcels
which went wrong earlier or still have issues
2014-06-22 16:08:56 +02:00
Adam Wulkiewicz
17f08e3ac4 Merge pull request #66 from mkaravel/feature/debug_macro
Feature/debug macro
2014-06-22 15:29:16 +02:00
Barend Gehrels
3628e85a25 [buffer] fix non-intersecting sides around concave points
there was no segment in between generated, therefore if the side-segments
did not intersect (e.g. donut_diamond in polygon_buffer.cpp unit test),
there was no intersection at all. Now a helper piece is generated and it
will intersect.
2014-06-22 15:12:40 +02:00
Barend Gehrels
7df029b176 [buffer] make buffer (miter, round) around spike possible
including unit testcase. For miters, the limit is enlarged (after
visual inspection of spike_simplex_miter)
2014-06-20 22:34:40 +02:00
Menelaos Karavelas
2eea41b82e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-20 12:30:18 +03:00
Adam Wulkiewicz
05891db57a [test][buffer] Remove unused typedefs. 2014-06-20 00:00:55 +02:00
Adam Wulkiewicz
38afbb322f [test][buffer] Remove unused typedefs. 2014-06-19 23:57:01 +02:00
Barend Gehrels
289a982d89 [difference] change in testcase, fix for MSVC, enabled for other compilers.
enabled for all FP types
2014-06-19 22:07:32 +02:00
Barend Gehrels
c5de26945b [overlay] use uniform robust policy, this obsoletes zoom_to_robust 2014-06-19 19:10:28 +02:00
Menelaos Karavelas
7656be4221 [test][is_valid] explicitly set the 2nd template parameter of
check_iterator_range to false
2014-06-19 13:59:01 +03:00
Menelaos Karavelas
17ed15b44c [test][algorithms] prefix (commented) GEOMETRY_TEST_DEBUG macro with BOOST_ 2014-06-19 12:37:49 +03:00
Menelaos Karavelas
4a4d52b082 [geometry][test] prefix macro GEOMETRY_TEST_DEBUG with BOOST_ 2014-06-19 12:24:27 +03:00
Barend Gehrels
76a56c787c [buffer] exclude failing testcase for MSVC 2014-06-18 16:51:13 +02:00
Barend Gehrels
ea222cd5b3 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-18 14:24:53 +02:00
Barend Gehrels
dadfe91378 [buffer][test] use other robust_point for counting dupplicate points 2014-06-18 14:08:05 +02:00
Barend Gehrels
0194072516 [buffer][test] optinally skip self-intersection check 2014-06-18 14:07:21 +02:00
Barend Gehrels
84d240ee9d [buffer][test] visit collection twice for mapping 2014-06-18 14:02:18 +02: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
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
4ab3bd3529 [test][is_valid] add a few more test cases 2014-06-18 04:31:22 +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
Menelaos Karavelas
ee59e0b6e6 [test][is_valid] fix and re-enable non-running test cases 2014-06-17 11:13:00 +03:00
Barend Gehrels
2ec5536406 [is_valid] fix non-running testcases and therefore add appropriate failure message 2014-06-16 19:18:16 +02:00
Barend Gehrels
b8535cab3c [is_valid] fix unit test compilation typos 2014-06-16 19:02:28 +02: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
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
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
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
363414a23b [test][is_valid] allow spikes for linear geometries 2014-06-15 21:48:09 +03:00
Adam Wulkiewicz
b9ff3a7fc4 [index][strategies][test] Modify some of the header includes.
The purpose of this is to allow the compilation of the rtree without the need of including the geometry.hpp ond require only index/rtree.hpp or to make the order of includes irrelevant.
Furthermore, this is backward compatible.

Add missing variant include in the intersection tests.
Fix the unused typedefs in the pythagoras_point_box test.
2014-06-15 02:29:57 +02:00
Menelaos Karavelas
1b251a7346 [test][algorithms][is_simple] add missing include (strategies) 2014-06-15 00:03:15 +03:00
Menelaos Karavelas
0d577e7d4c [test][algorithms][is_valid] add missing include 2014-06-14 23:50:56 +03:00
Menelaos Karavelas
07039bf584 [test][algorithms][is_valid] fix includes; polish and cleanup code;
add test cases for rings and polygons and onyl a couple for
multi-polygons;
2014-06-14 22:33:55 +03:00
Menelaos Karavelas
ca8d8c7876 [test][algorithms][is_simple] remove unused code; fix includes;
polish and cleanup code; add test case for areal geometries;
2014-06-14 22:30:56 +03:00
Menelaos Karavelas
28ed3e4e59 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-14 16:04:24 +03:00
Barend Gehrels
1e7a631379 [buffer] rename check_original to turn_in_input
comparable to point_in_geometry.
This removes multi_buffer_inserter
2014-06-14 11:39:49 +02:00
Barend Gehrels
e00e307f2f [buffer] remove unused functionality 2014-06-14 11:01:42 +02:00
Barend Gehrels
cee0903f2d [buffer] Remove buffer_piece_collection_with_mapper
this was a debugging tool. It is now replaced by a visiting policy (like
in partition), and implemented in the unit test itself
2014-06-14 10:57:59 +02:00
Barend Gehrels
fdd983ce72 [buffer] Changes in (folder)locations of strategies, and
moved buffer_side_selector and piece_type used by strategies.
2014-06-13 21:30:53 +02:00
Barend Gehrels
c96d6394a9 [buffer] update include guards/copyright info 2014-06-13 20:45:34 +02:00
Barend Gehrels
31af14453a [buffer] Move from extensions to algorithms/detail 2014-06-13 20:26:33 +02:00
Adam Wulkiewicz
8fe51dbd6c [test] Remove the #includes of geometry.hpp and multi/* from the relops tests 2014-06-13 18:48:14 +02:00
Adam Wulkiewicz
3edeaeb2af [algorithms][io][test] Fix some rather harmless conversions warnings and add /bigobj for some tests for VS. 2014-06-13 16:13:35 +02:00
Menelaos Karavelas
50826192c6 [test][algorithms] polish copyright header 2014-06-13 16:22:28 +03:00
Menelaos Karavelas
ed781446ae [test][algorithms] add entries in Jamfile about is_simple and is_valid
unit tests
2014-06-13 15:48:38 +03:00
Menelaos Karavelas
9027a0fcab [test][is_simple] create segment by WKT string instread of by make_segment function 2014-06-13 12:16:31 +03:00
Menelaos Karavelas
163357c315 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-13 11:43:45 +03:00
Barend Gehrels
d06c25bc5f [buffer] Remove helper functions now not used/need anymore 2014-06-12 18:50:47 +02:00
Barend Gehrels
0287c1d3bb [partition] support heterogenous collections 2014-06-11 14:17:09 +02:00
Barend Gehrels
b0786ddff1 [partition] fix non-svg unit test 2014-06-11 13:41:02 +02:00
Barend Gehrels
a707a887f2 [partition] add unit test for partition of two collections 2014-06-11 13:29:40 +02:00
Barend Gehrels
269afda349 [partition] fix unit test
check was only done if SVG was enabled
2014-06-11 13:28:42 +02:00
Menelaos Karavelas
82bb00ed40 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-10 10:07:39 +03:00
Barend Gehrels
5a85076f4b [get_left_turns] reimplement using integer arithmetic
including unit test
2014-06-08 19:03:11 +02:00
Menelaos Karavelas
73bcb4a54e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-06 01:48:13 +03:00
Adam Wulkiewicz
f6ba62a43a [comparable_distance][test][extensions] Break comparable_distance into interface and implementation.
Also remove geometry.hpp header include from comparable_distance test and nsphere header included in all tests.
2014-06-06 00:29:31 +02:00
Menelaos Karavelas
ed956a4eaf Merge branch 'feature/is_simple' of github.com:mkaravel/geometry into feature/is_simple 2014-06-04 12:10:38 +03:00
Adam Wulkiewicz
188b1c3e48 [test] Fix unused typedef warnings 2014-06-03 16:20:11 +02:00
Menelaos Karavelas
b970646722 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-30 15:12:51 +03:00
Barend Gehrels
3333ee09b1 Merge pull request #47 from mkaravel/feature/distance-default-strategy
Feature/distance default strategy
2014-05-28 15:30:45 +02:00
Barend Gehrels
d799a9a6b5 Merge pull request #44 from mkaravel/feature/distance
Feature/distance
2014-05-28 15:28:59 +02:00
Menelaos Karavelas
bb20a1c1c7 [distance] fix order of template parameters for default strategy:
the two geometry tags should be the first two template parameters
2014-05-28 16:07:20 +03:00
Menelaos Karavelas
8d7c448315 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-28 11:09:59 +03:00
Menelaos Karavelas
d3e5c63b7a [test][disjoint] add more segment-box test cases in disjoint_coverage unit test 2014-05-28 03:47:32 +03:00
Adam Wulkiewicz
dd7d298d72 [test][crosses] Add tests for more geometries combinations. 2014-05-27 16:03:15 +02:00
Adam Wulkiewicz
bb305769bc [test][overlaps] Add test for Ls/MLs and the reversed order of parameters. 2014-05-27 15:49:06 +02:00
Adam Wulkiewicz
b1fb018c11 [test][equals] Add test for the reversed order of parameters. 2014-05-27 15:38:05 +02:00
Barend Gehrels
38ae13e362 Merge pull request #42 from mkaravel/feature/assign
[test][assign] fix errors in test of variant support for assign
2014-05-26 13:39:31 +02:00
Menelaos Karavelas
ebbcb39daa [test][assign] fix errors in test of variant support for assign 2014-05-26 14:26:07 +03:00
Menelaos Karavelas
d3d018b1ec [test][distance] add missing typename 2014-05-26 14:04:18 +03:00
Bruno Lalande
e370877089 Use the appropriate type to get the area type 2014-05-24 10:56:10 +01:00
brunolalande
5697607195 Merge pull request #40 from sdebionne/variant/intersection
[intersection] Add variant support
2014-05-23 23:32:48 +01:00
brunolalande
34f7fb1d19 Merge pull request #37 from sdebionne/variant/assign
[assign] Add variant support
2014-05-23 23:30:55 +01:00
brunolalande
ba53f02d54 Merge pull request #38 from sdebionne/variant/crosses
[crosses] Add variant support
2014-05-23 23:29:32 +01:00
Adam Wulkiewicz
4f69224c35 Merge pull request #35 from mkaravel/feature/disjoint
Feature/disjoint
2014-05-24 00:09:07 +02:00
brunolalande
d563f3706d Merge pull request #39 from sdebionne/variant/expand
[expand] Add variant support
2014-05-23 23:03:55 +01:00
Menelaos Karavelas
4c1bf7b28f Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint 2014-05-23 20:47:39 +03:00
Samuel Debione
b8a581f3ad Revert "[expand] Adds support for variant box"
This reverts commit 52ce484c7f.
2014-05-23 16:26:54 +02:00
Samuel Debione
52ce484c7f [expand] Adds support for variant box 2014-05-23 15:02:46 +02:00
Samuel Debione
158433af6f [intersection] Add test for variant 2014-05-23 12:35:52 +02:00
Samuel Debione
8f2addce33 [expand] Add tests for variant 2014-05-23 10:55:06 +02:00
Samuel Debione
4b32473630 [crosses] Add tests for variants 2014-05-23 10:37:49 +02:00
Samuel Debione
9e61d9d759 [assign] Fix the variant tests
Reference was missing.
2014-05-23 10:18:17 +02:00
Samuel Debione
999fdff2eb [assign] Add copyright notice 2014-05-23 10:12:39 +02:00
Samuel Debione
594add5e1b [assign] Add tests for variants 2014-05-22 16:32:47 +02:00
Samuel Debione
82abc509df Merge remote-tracking branch 'boostorg/geometry/develop' into develop 2014-05-22 12:15:04 +02:00
Samuel Debione
421abd19c6 Merge remote-tracking branch 'boostorg/geometry/develop' into variant/expand 2014-05-22 12:10:14 +02:00
Menelaos Karavelas
3ec53c8626 [test][disjoint] fix definition of polygon that is inconsistent with WKTs used 2014-05-22 02:24:14 +03:00
Samuel Debionne
c5b3acb70c [expand] Add variant support 2014-05-21 21:02:53 +02:00
Menelaos Karavelas
da4ee4d6fe [test][disjoint] add unit test for checking which geometry combinations
work with disjoint
2014-05-21 17:07:00 +03:00
Menelaos Karavelas
90ac851e4e [disjoint] add missing includes 2014-05-21 17:06:36 +03:00
Menelaos Karavelas
678ecd1541 [test][distance] in the case of the segment-box combination,
also test output with respect to the generic algorithm that first
checks for intersection, and if that fails, checks all possible
point-segment combinations of the segment and and the box
2014-05-19 16:42:07 +03:00
Menelaos Karavelas
42105b5f82 [test][distance L/A] add two seg-box test cases provided by Adam Wulkiewicz 2014-05-19 16:41:14 +03:00
Samuel Debione
09a8ba53a7 [distance] Use transform_variant
Remove dependency to is_implemented. Update transform_variant to support
MPL sequence input.
2014-05-19 13:52:09 +02:00
brunolalande
6d8a31951b Merge pull request #32 from mkaravel/develop
Develop
2014-05-18 21:40:52 +01:00
Adam Wulkiewicz
c4ca605bab [overlay][relate][within][test] Fix unused variable warnings. 2014-05-18 00:20:36 +02:00
Adam Wulkiewicz
d0cf100a65 [get_turns][relate][test][index] Fix unused variable warnings.
In the rtree/pack_create replace (void)variable to boost::ignore_unused_variable_warning().
2014-05-17 14:10:34 +02:00
Samuel Debione
595f6fe457 [distance] Fix some typo and add more tests 2014-05-16 16:14:50 +02:00
Samuel Debione
e07e5052ee [distance] Merge from upstream 2014-05-16 15:57:48 +02:00
Samuel Debione
11e2d964d3 Merge from upstream 2014-05-16 13:34:41 +02:00
Menelaos Karavelas
b992ddf185 [test][perimeter] do not test the variant-related code if GEOMETRY_TEST_DEBUG is defined
(the variant-related code does not compile when GEOMETRY_TEST_DEBUG is defined);
replace bg::perimeter_result (non-existing) by bg::default_lentgh_result (error
produced when compiling with -DGEOMETRY_TEST_DEBUG)
2014-05-16 14:24:32 +03:00
Menelaos Karavelas
91d461100c [test][length] do not test the variant-related code if GEOMETRY_TEST_DEBUG is defined
(the variant-related code does not compile when GEOMETRY_TEST_DEBUG is defined)
2014-05-16 14:17:48 +03:00
Adam Wulkiewicz
8aa3ef425e [equals][index/examples] Optimize equals(Seg,Seg) and fix index/examples
Use less comparisions in equals(Seg,Seg) - suggested by Menelaos Karavelas
Add missing include to examples - caused by the recent change of the distance/rtree
2014-05-15 02:56:15 +02:00
Menelaos Karavelas
087a42e9fd [test][distance] make sure sqrt is called with a double argument (to avoid problems with VS2010 that does not promote ints to doubles in sqrt) 2014-05-14 17:58:46 +03:00
Menelaos Karavelas
eb5f82aecd [test][distance] eliminate make_* functions in test_distance_common.hpp; replace occurrences of these functions with wkt descriptions of the geometries (boxes and segments) 2014-05-14 17:54:13 +03:00
Samuel Debione
3d528db92c [distance] First step to fix tests 2014-05-14 16:27:55 +02:00
Menelaos Karavelas
04455dc1ce Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-14 16:29:50 +03:00
Menelaos Karavelas
a9fd41e355 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-05-14 15:42:25 +03:00
Menelaos Karavelas
aebd3cefe2 [test][set ops L/L] fix unused variable warnings produced with clang++ and -Wextra 2014-05-14 15:39:56 +03:00
Barend Gehrels
71be9ab855 [test] added include for multi 2014-05-14 14:19:04 +02:00
Barend Gehrels
a703cae46e [num_points][test] Added test for num_points which was not yet there 2014-05-14 14:18:48 +02:00
Barend Gehrels
afb301f6ed [unit test] Made from_wkt inline and avoid abbreviations 2014-05-14 13:47:22 +02:00
Barend Gehrels
09365f0086 [unit test] Added copyright info 2014-05-14 13:46:52 +02:00
Samuel Debione
124f783d3b [distance] Add variant tests
No finished yet
2014-05-13 16:40:41 +02:00
Menelaos Karavelas
ef5d49a3fa [test][distance] replace operator() by static apply method in tester of distance of two geometries; activate test for the segment-ring combination 2014-05-13 11:57:09 +03:00
Menelaos Karavelas
cfb445773e [test][distance] make clear the distinction between distance result and comparable distance result (use correct types and checks) 2014-05-13 11:01:45 +03:00
Menelaos Karavelas
9d9f1241be [test][distance] add test case for distance between boxes with integer coordinates 2014-05-13 10:54:35 +03:00
Menelaos Karavelas
aba739439b [test][distance L/A] add test case for segment-box distance, where the segment degenerates to a point 2014-05-09 23:07:00 +03: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
Menelaos Karavelas
a7d02e0391 [distance][test] enable segment-segment distance computations 2014-05-09 00:20:24 +03:00
Menelaos Karavelas
8a23c01061 [test][distance] add common code for distance unit tests 2014-05-08 15:02:49 +03:00
Menelaos Karavelas
319f9a7b83 [test][algorithms] add new unit tests for distance in Jamfile 2014-05-08 13:46:31 +03:00
Menelaos Karavelas
302c25280d [distance] add unit tests for all geometry combinations 2014-05-08 13:45:10 +03:00
Menelaos Karavelas
cdd4bbc1aa Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-08 02:01:53 +03:00
Adam Wulkiewicz
dffd4a4f64 Merge pull request #22 from mkaravel/feature/setops
Feature/setops
2014-05-07 11:58:11 +02:00
Adam Wulkiewicz
8eefe4d3ba [equals] Add missing copyright info 2014-05-06 19:00:28 +02:00
Adam Wulkiewicz
8bb1d98aaf [equals][relate] Add equals() Ls/MLs, MLs/MLs. Fix relate(L/L).
Also use relate() in equals(Ls,Ls) because collect_vectors() approach doesn't work properly for non-simple or even opposite/reversed Linestrings.

Fix how 'u' is handled in relate() in the edge case when there are more 'u' operations in the same point, also when 'u' is on the first endpoint followed by 'i' on the same IP.

Add tests for equals() and relate().
2014-05-06 16:18:05 +02:00
Menelaos Karavelas
321d12c56a [test][set ops L/L] add two more test cases with spikes (examples sent by Adam on the BG mailing list) 2014-05-05 14:45:26 +03:00
Menelaos Karavelas
606295db4a [test][set ops L/L] add more test cases for difference and intersection of linear geometries; the geometries in these test cases have spikes 2014-05-05 12:08:36 +03:00
Menelaos Karavelas
a73ce5fbd6 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-05-05 10:23:45 +03:00
Adam Wulkiewicz
aea578c602 [get_turns] Fix turn operation is_collinear values for L/L and L/A.
is_collinear for the first endpoint of L is now unified and is always equal to FALSE.

Add tests of is_collinear. It is tested by passing 4th and 5th char in the expected turn string (= means collinear, + means non-collinear), e.g. "mxi=+" for L/L means that L1 ends in this IP and was collinear before meeting the Point, L2 is going "inside" intersection and wasn't collinear before.

Replace method_and_operation_replacer with turn_transformer.
2014-05-04 22:31:13 +02:00
Adam Wulkiewicz
47d581304e [relate][test] Enable tests for 2-Point degenerated Linestrings 2014-05-03 13:57:08 +02:00
Adam Wulkiewicz
8775e65b20 [get_turns] Add tests for t-spikes vs collinear internal pt for L/L 2014-05-03 04:11:22 +02:00
Adam Wulkiewicz
7192e6cbf6 [get_turns] Add more tests for t-spikes for L/L 2014-05-03 04:02:44 +02:00
Adam Wulkiewicz
d4d7bf9657 [get_turns] Fix the generation of some special cases of touch-spike-turns for L/L and L/A 2014-05-03 02:40:21 +02:00
Adam Wulkiewicz
288c7e6980 [get_turns] Fix for L/L spike vs. endpoint for the same direction segments. Add failing test cases for spikes touching internal point 2014-05-01 12:37:54 +02:00
Menelaos Karavelas
542278e42c Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-30 22:06:13 +03:00
Menelaos Karavelas
c2bf14e1c3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-30 22:05:09 +03:00
Adam Wulkiewicz
566957de29 [test][get_turns] Add failing test cases for L/L 2014-04-30 12:57:39 +02:00
Menelaos Karavelas
c5c22d720c [is_valid / is_simple] move files one directory level up (ommit the ogc directory);
move code one namespace up (ommit the ogc namespace);
2014-04-30 12:34:52 +03:00
Menelaos Karavelas
d7c6c39182 [test][difference L/L] add a couple more test cases of geometries with spikes 2014-04-30 12:09:37 +03:00
Menelaos Karavelas
f605bbc7d1 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-30 01:27:23 +03:00
Menelaos Karavelas
2b93a1e390 [test][is_simple] more test cases for linear geometries; add missing includes; 2014-04-29 20:03:12 +03:00
Menelaos Karavelas
342d7d2a45 [test] add missing includes; fix wrong result with empty multilinestring 2014-04-29 20:02:14 +03:00
Adam Wulkiewicz
d682a74c1b [extensions/dissolve] Fix compilation error - pass segment_ratio<> to traversal_turn_info<>. Remove mistankenly commited test change 2014-04-29 13:19:11 +02:00
Adam Wulkiewicz
d44e1a1e01 [get_turns][extensions/dissolve] Fix VS compilation error (STATIC_ASSERT + template). Add not_implemented<> info to extensions/dissolve. 2014-04-29 13:06:04 +02:00
Menelaos Karavelas
f5589c6ebf Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-28 18:11:38 +03:00
Menelaos Karavelas
b4774ff964 [is_valid] implementation of OGC's is_valid for pointlike and linear geometries; moved unit tests to test/algorithms/ogc directory; 2014-04-28 18:08:47 +03:00
Adam Wulkiewicz
2349c817e2 [get_turns] Fix turns generation for double collinear spikes.
Add check if a spike Point is realy an IP.
2014-04-28 12:21:06 +02:00
Menelaos Karavelas
82ce56765d [test][set ops] separate test with duplicate points as different test cases; add test cases with spikes; 2014-04-28 12:07:56 +03:00
Menelaos Karavelas
f25e0c2d7e [test][set ops] separate tests with multiple points as different test cases 2014-04-28 12:07:08 +03:00
Menelaos Karavelas
333cfdccfb [turns] rename less functor from less_seg_dist_other_op to less_seg_fraction_other_op (to indicate that the fraction comparison is now used) 2014-04-28 10:29:45 +03:00
Adam Wulkiewicz
7615ac3392 [get_turns] Add template parameters to side_calculator<> defining types of all points.
It is possible to use side_calculator<> with Points of various types without the conversion.
2014-04-26 15:27:53 +02:00
Adam Wulkiewicz
b682b8996b [test] Add intersection test for 1-3d boxes 2014-04-26 14:23:35 +02:00
Adam Wulkiewicz
1da9113046 [relate][get_turns] Support spikes for Linear in relate(L/A). Fix errors in get_turns for L/L and L/A.
relate_linear_areal:
handle non-endpoint x-c turns pair generated for a collinear spike.

relate/follow helpers:
fix turn_on_the_same_ip to use fraction instead of dimension.

get_turns:
L/L and L/A - use base_turn_handler::assign_point() to set fractions properly for collinear-opposite spikes.
L/A - fix the condition in calculate_spike_operation() used to check if a spike goes into the interior or exterior.
2014-04-24 23:49:36 +02:00
Adam Wulkiewicz
b4b902ac85 [get_turns] Add the support for spikes for Linear Geometry in get_turns_linear_areal 2014-04-24 18:41:37 +02:00
Adam Wulkiewicz
85b7589bb1 [geometry] Merge develop with feature/relate, resolve conflicts 2014-04-24 00:37:46 +02:00
Adam Wulkiewicz
babe91b210 [relate][get_turns] Add the support for spikes in relate(L/L). Fix errors in get_turns L/L.
Some asserts are invalid when 'x' operation can be somewhere in the middle (boundary_checker).
boundary_checker::is_boundary() function removed since it's not used anywhere.
Errors in get_turns are related to the handling of touches turn. t,i/i must be handled and is_collinear must be set in operations for spikes.
2014-04-23 23:43:00 +02:00
Adam Wulkiewicz
973e5a58bc [get_turns] Add handling of spikes for L/L for endpoints 2014-04-23 22:09:00 +02:00
Adam Wulkiewicz
db318225f3 [touches] Add the implementation for Box/Box 2014-04-23 16:33:43 +02:00
Adam Wulkiewicz
e351063b9d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-23 14:53:11 +02:00
Adam Wulkiewicz
f9c51246c2 [touches][relate] Replace use_relate with relate_base<> for automatic support generation. Also implement static_mask_touches_type<> as 2 parameter template. 2014-04-23 14:53:04 +02:00
Barend Gehrels
2bfede47f3 updated tests due to changes in rescale_to_integer branch 2014-04-23 13:30:00 +02: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
Adam Wulkiewicz
9ee78e4686 [get_turns] Handle m spike for L/L, add more tests 2014-04-23 12:53:36 +02:00
Adam Wulkiewicz
3fc8acc3f9 [get_turns] Add the generation of spike IPs for L/L non-endpoint touching and collinear-opposite segments 2014-04-22 16:11:04 +02:00
Barend Gehrels
c3bd204708 [remove_spikes] Fixed polygons consisting only of a spike.
If so, spike is now removed and only one point is left.
2014-04-21 19:44:42 +02:00
Adam Wulkiewicz
12797dbfb7 [get_turns][relate] Handle spikes for L/L !opposite collinear and equal turns.
2 Turns are generated for a spike, one with operation_blocked the second one with operation_intersection.
relate_linear_linear is not working yet, for now it is only ensured that boundaries will not be checked for those turns, which would result with assert failure.
TODO: opposite collinear and equal, touches c/c and endpoints intersecting a spike + the adaptation of relate(L,L).
2014-04-20 01:36:08 +02:00
Barend Gehrels
2077f81164 Merge branch 'rescale_to_integer' of github.com:boostorg/geometry into rescale_to_integer 2014-04-19 20:01:16 +02:00
Barend Gehrels
d54ced58d4 Use smallest of the segment_ratios to calculate the intersection point,
w.r.t. either segment a or segment b.
This results in small differences in the unit test for difference, which are
checked visually and/or compared with other output. In these cases it is
an enhancement
2014-04-19 19:59:14 +02:00
Adam Wulkiewicz
0d01847701 [relate][test] Add tests for consistency check (overlapping and Point-sized Lss) 2014-04-18 14:58:29 +02:00
Adam Wulkiewicz
a99fda5362 [relate] Fix L/L : handling of MLs containing overlapping, collinear Linestrings.
It's also consistent with the behavior for Point-like Linestrings.

E.g. some MultiLinestring may have boundary and interior in the same point:

Ls1:
  |--------------|
MLs2:
  |------------|
|------|

In this case the current version of the algorithm will set BB=0 and BI=0.
2014-04-18 14:43:07 +02:00
Adam Wulkiewicz
89955b787b [get_turns][relate] Handle Point-size Linestrings
Point-size Linestring is a linestring containing exactly 2 equal points.

Add generation of positions for degenerated turns, non-degenerated segments in get_turns_linear_linear.
The code should be polished after the addition of info about the degeneration of segments into Turns.
2014-04-18 02:22:33 +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
b87400d822 [test][within] Divide within() test into several smaller files.
The intention is to prevent creation of too big files in MinGW.
2014-04-17 13:30:51 +02:00
Menelaos Karavelas
14df2155d2 [test][set ops] remove linking dependency with Boost.Test for P/P and L/L unit tests for union 2014-04-16 12:51:07 +03:00
Barend Gehrels
d3876c017f Removed dependancy on linking with Boost.Test, using header only 2014-04-16 11:18:46 +02:00
Adam Wulkiewicz
4a4dbf4512 [relate][touches] Implement touches() for L/L and L/A using relate(), fix error in L/A.
Enable touches() for other pairs of Geometries.
Implement ready-to-use in the implementations of relate() less comparators of operations.
Change the less comparator for L/A.
Fix: handling of the entry/interior for some turn with MultiID which comes before union for some other turn with different MultiID.
Finish the support for boost::mpl::vector<> as a complex StaticMask.
2014-04-15 16:28:35 +02:00
Menelaos Karavelas
70a5fafba9 [test][algorithms][set ops] replace BOOST_CHECK by BOOST_CHECK_MESSAGE and in case of error output the two geometries, the expected and the computed results 2014-04-14 10:36:12 +03:00
Menelaos Karavelas
1c301e7503 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-14 03:05:01 +03:00
Adam Wulkiewicz
0631d4ca52 [test][touches] remove invalid #include in multi_touches test 2014-04-12 03:19:11 +02:00
Adam Wulkiewicz
d7b7df8614 [within][covered_by] Add the support for Areal geometries for within() and all OGC geometries for covered_by().
Also the specializations for Multi Geometries was moved from geometry/multi/algorithms to geometry/algorithms. They're now in one place.
The default strategies are point_in_point for PointLike, winding<> for PointLike/AnyGeometry, relate for L/L, L/A and A/A.
Point/MultiGeometry version now uses point_in_geometry directly which implements the correct behavior - this fixes the wrong handling of MultiLinestrings (boundary point of a Linestring may not be a boundary point of a MultiLinestring which contains it).
2014-04-12 01:40:27 +02:00
Menelaos Karavelas
4b7549a39a [test][algorithms] do linking of the unit test framework on a per-unit-test basis 2014-04-11 00:04:40 +03:00
Menelaos Karavelas
b9ea14b76d [test][algorithms] modify Jamfile to work with unit tests for P/P and L/L set ops (need to require that the unit test framework library is available for linking) 2014-04-10 23:39:10 +03:00
Menelaos Karavelas
b88dbfb0cd [test][get_turns] replace AssignPolicy by assign_policy 2014-04-10 15:46:43 +03:00
Menelaos Karavelas
b03318a647 [test] fixed header macros for the from_wkt.hpp file 2014-04-10 15:24:46 +03:00
Menelaos Karavelas
63365a8208 [test][set ops] clean up code; finish up unit test for L/L union; 2014-04-10 15:13:02 +03:00
Menelaos Karavelas
6646470a55 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops-develop 2014-04-10 10:03:43 +03:00
Menelaos Karavelas
fc6ae619ac [test][algorithms] add tests for set operations of L/L and P/P geometries; update copyright header; 2014-04-10 09:25:30 +03:00
Menelaos Karavelas
b8765e195a [set ops] added missing include (fstream) 2014-04-10 08:46:20 +03:00
Menelaos Karavelas
caadd6ce00 [set ops] replace included unit test by unit test 2014-04-10 08:45:38 +03:00
Adam Wulkiewicz
2753f5e30a [crosses] add missing files required by bg::crosses() algorithm 2014-04-09 01:34:34 +02:00
Adam Wulkiewicz
d3f8ea2f6b [crosses] add bg::crosses() algorithm 2014-04-09 01:33:37 +02:00
Adam Wulkiewicz
c1d4a09ec7 [overlaps] add support for P/P, L/L and A/A to overlaps() 2014-04-09 00:23:26 +02:00
Adam Wulkiewicz
1cb4f1f013 [relate] add tests for Poly/MPoly, CCW and open Polygons 2014-04-08 23:40:54 +02:00
Adam Wulkiewicz
d60b0e7cc4 [relate] add tests for Polygons with rings for which IPs were not generated 2014-04-08 15:49:15 +02:00
Adam Wulkiewicz
9e00853dfa [relate] fix: add missing handling of single geometries for which no IPs were generated (exterior ring inside, hole outside) 2014-04-08 15:33:18 +02:00
Adam Wulkiewicz
d76c94d643 [relate] add optimization for L/L ommitting parts of the algorithm if the result mustnot be updated 2014-04-07 23:52:40 +02:00
Adam Wulkiewicz
e7e0083428 [relate] Add optimization to A/A skipping parts of the algorithm if it's not possible to change the final result.
Add may_update() funcionality which may be used if it's possible to change the result for the specified matrix fields and overlap dimension.
Initialize flags in no_turns_aa_pred and uncertain_rings_analyser with values calculated using this functionality.
Add manual checks around the parts of areal_areal::apply() where IPs are sorted and analysed.
2014-04-07 14:18:34 +02:00
Adam Wulkiewicz
8c2ee6152a [relate] Fix wrong type in interrupt_policy for A/A.
Add tests for MLs/MLs, Ring/Poly, Ring/Ring.
2014-04-07 01:30:05 +02:00
Adam Wulkiewicz
7bde891d7a [relate] Add the support for IPs generated for "real" and "fake" holes.
Rename turns::less_seg_dist_op<> to relate::turns::less<>
It now takes the Comp defining how operations are sorted if segment and distance are equal.
Add 2 different operations comparators for L/L,L/A and A/A.
Add tests.
2014-04-07 01:08:24 +02:00
Adam Wulkiewicz
09ab2351f9 [relate] Add support for rings with no turns and some special cases in A/A.
Add support for:
- single geometries for which no turns were generated
- rings for which no turns were generated
- i/i and u/u turns

TODO: some cases where turns are generated for the intersection of a "real" hole and a "fake" hole (self-touching exterior ring).
2014-04-06 02:52:24 +02:00
Menelaos Karavelas
7ac1188823 [feature/is_simple] add test case for multi-points 2014-04-04 16:24:06 +03:00
Menelaos Karavelas
029517cff8 [feature/is_simple] modify debug print-outs a bit 2014-04-04 16:18:38 +03:00
Menelaos Karavelas
dfc3785d48 [feature/is_simple] implement OGC is_simple test for points, segments, multi-points, linestrings and multi-linestrings 2014-04-04 16:16:43 +03:00
Adam Wulkiewicz
47747938a6 [relate] add for now commented out ignoring of u/u turns in A/A, add some tests 2014-04-04 01:16:27 +02:00
Adam Wulkiewicz
d0dab345a8 Merge branch 'develop' into rescale_to_integer 2014-04-04 00:23:36 +02:00
Adam Wulkiewicz
fd5bd13705 [relate] added more tests for non-simple A/A with holes 2014-04-04 00:22:06 +02:00
Adam Wulkiewicz
8cb6366bb4 Merge branch 'develop' into feature/relate 2014-04-03 12:11:22 +02:00
Menelaos Karavelas
91d094673b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-03 13:05:16 +03:00
Adam Wulkiewicz
ca0c8b97df [get_turns] Fix turns dumplication for L/L.
Change the ignoring check calculation in get_turn_info_for_endpoint.
Add additional parameters to the second version of collinear_opposite<>::apply() defining if the pk and/or qk are valid (in other words current segment is NOT the last one).
Also make ignoring check for last endpoint in L/A more clear.
2014-04-03 11:58:50 +02:00
Menelaos Karavelas
b88b4e3d71 [set ops] re-arranged code a bit; moved tests from algorithms/detail/overlay/linear_linear.hpp to currect branch 2014-04-03 03:43:11 +03:00
Menelaos Karavelas
be2795a6f2 [set ops] add missing include 2014-04-03 02:51:16 +03:00
Menelaos Karavelas
5be2682000 [set ops] rename test_set_ops_common.hpp to test_set_ops_linear_linear.hpp 2014-04-03 02:50:30 +03:00
Menelaos Karavelas
4295f0bcf7 [set ops] add more examples with duplicate points and zero length linestrings 2014-04-03 00:36:44 +03:00
Menelaos Karavelas
df33e8a92a [set ops] modify way of calling multilinestring_equals (due to changes in multilinestring_equals) 2014-04-03 00:08:11 +03:00
Menelaos Karavelas
a806cd0419 [set ops] change macro used for debugging 2014-04-03 00:04:50 +03:00
Menelaos Karavelas
b0e2521fa1 [set ops] allow equality for multilinestrings with duplicate linestrings 2014-04-03 00:02:13 +03:00
Menelaos Karavelas
4ceea13cf4 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-02 21:47:09 +03:00
Adam Wulkiewicz
2f9f454334 [get_turns] fix for MultiLinestrings containing Ls with equal points
In this case no sections were generated for those "empty" Linestrings but if there were some sections already generated they could be marked as last_non_duplicated.
2014-04-02 20:21:32 +02:00
Adam Wulkiewicz
47da24242c [relate] add code ignoring i/i turns, comment out some unneeded code in areal_areal 2014-04-02 20:14:34 +02:00
Adam Wulkiewicz
8c700e9f31 [relate] handle non-simple Polygons in A/A, NOT FULLY SUPPORTED
Not supported: i/i, non-intersecting rings
2014-04-02 14:10:36 +02:00
Menelaos Karavelas
598b6a51cf Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-04-02 11:09:17 +03:00
Menelaos Karavelas
39a521934d [intersection] guard print-outs within a #ifdef/#endif block 2014-04-02 10:31:43 +03:00
Adam Wulkiewicz
f2fea86f7e [relate] fix special case of L/L and L/A - going out and in on the same point but with different segment.
Linestring going into the exterior of the second geometry and then going inside on the same point. In this case the exterior wasn't taken into account. Now in addition to the Point, seg_id is checked. The check should also be faster since integral segment ids are checked before Points.
exit_watcher methods now take Turn instead of Point, seg_id and other_id.
Also added some tests for non-simple A/A.
2014-04-01 22:20:29 +02:00
Menelaos Karavelas
ffdb1d34f0 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
Conflicts:
	include/boost/geometry/algorithms/detail/relate/less.hpp
2014-04-01 04:05:50 +03:00
Menelaos Karavelas
4101d4368f [intersection] fix expected intersection in two examples in unit test 2014-04-01 03:47:41 +03:00
Barend Gehrels
ea4408dbdb Fixed renaming in test 2014-03-30 15:17:07 +02:00
Barend Gehrels
2521ce2193 Moved GEOS testcases from traverse to union/intersection/difference 2014-03-30 14:54:24 +02:00
Barend Gehrels
46125dccb5 Removed distance (replaced by fraction) and calculate_distance_policy file, not used anymore 2014-03-30 13:50:20 +02:00
Barend Gehrels
77703f439e [unit tests] Fixed traverse cases changed by new approach 2014-03-30 13:03:36 +02:00
Adam Wulkiewicz
b6bf7038c9 Merge branch 'develop' into feature/relate 2014-03-29 23:46:22 +01:00
Adam Wulkiewicz
fc1a2545a5 [get_turns] Fix test for L/L and L/A - missing functions in expected_pusher range 2014-03-29 14:41:51 +01:00
Adam Wulkiewicz
2a30c8ac0d [geometry] Fixes after merge in get_turns - use of arrivals, compilation fixes in relate, use of fractions for sorting turns in relate 2014-03-28 14:55:28 +01:00
Adam Wulkiewicz
7df83d69a7 [relate] add support for no-IP casesin A/A, fix for_each_disjoint_geometry_if for Multi Geometries.
Fix a bug in for_each_disjoint_geometry_if resulting in assert failure if no turns are generated. This affects L/L, L/A and A/A.
Enable all combinations of Areal geometries.
Add ignoring of empty disjoint geometries in L/A and A/A.
Add tests for disjoint geometries.
2014-03-27 16:35:43 +01:00
Adam Wulkiewicz
d4418204ec [relate] add support for non-simple non-equal Polygons in A/A.
Currently simple interrupt policy is used.
This approach works is there are IPs, Polygons are simple and not equal.
2014-03-27 00:30:43 +01:00
Adam Wulkiewicz
77c7317cb1 [relate][get_turns] move single_geometry to bg::detail, fix get_turn_info test
also create a preliminary version of relate::areal_areal (copied from linear_areal)
in get_turn_info test mutable begin() and end() because it seems that Range can't handle immutable Ranges
2014-03-26 18:37:31 +01:00
Barend Gehrels
40f8174da4 [geometry] After merge, updated test_get_turns by providing segment_ratio_type 2014-03-26 14:38:43 +01:00
Barend Gehrels
da7c741eb8 Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
	include/boost/geometry/algorithms/detail/sub_geometry.hpp
	include/boost/geometry/algorithms/disjoint.hpp
	include/boost/geometry/algorithms/touches.hpp
	include/boost/geometry/algorithms/within.hpp
	include/boost/geometry/policies/relate/intersection_points.hpp
	test/algorithms/intersection.cpp
	test/algorithms/overlay/get_turn_info.cpp
2014-03-26 13:33:15 +01:00
Adam Wulkiewicz
830a073c0d Merge branch 'feature/relate' into develop 2014-03-25 15:10:48 +01:00
Adam Wulkiewicz
ccbc15b8a1 [get_turns][relate] handle doubled points in relate L/L and L/A
add info about the first/last non-doubled section to sectionalize
modify get_turns() to pass info about the first/last segment to TurnPolicy::apply()
modify parameters of TurnPolicy::apply()
add searching for the next non-equal point in relate L/A when the segment of Linear must be checked if it starts in the interior or exterior of the Areal
add tests for relate and within
add relate L/A to Jamfile
2014-03-25 00:29:25 +01:00
Adam Wulkiewicz
b6fc144de7 [relate][within] add tests for Linestrings with duplicated points 2014-03-24 19:27:35 +01:00
Adam Wulkiewicz
5316d1f2ad [geometry] replace sub_geometry::get() by sub_range(), fix invalid #includes 2014-03-23 17:16:56 +01:00
Adam Wulkiewicz
025bd3b2bc [relate] overall cleanup, group_dim replaced by topological_dimension, group_tag by tag_cast, range moved to util/range.hpp, some temporary code commented out 2014-03-23 15:17:05 +01:00
Barend Gehrels
6e36e1b8f1 [geometry] Added comment for ticket #9756 it was invalid, polygons were not closed 2014-03-23 00:05:57 +01:00
Barend Gehrels
ad718d333d [geometry] added testcase for ticket #9756 which is already fixed
in this branch
2014-03-22 23:53:52 +01:00
Barend Gehrels
3b8f444e6c [geometry] added test to intersection unit test for issue reported at
2014/03/21 by 7415963@gmail.com
The issue is not fixed yet.
2014-03-22 23:48:07 +01:00
Adam Wulkiewicz
5eec228f10 [relate][get_turns] the code from handle_spike from get_turn_info_ll enclosed in spike detector (NOT FULLY WORKING) 2014-03-22 11:21:49 +01:00
Adam Wulkiewicz
21c42ed87e [within][get_turns] implement within() using relate() for L/L and L/A. Add some basic/NOT_FULLY_WORKING handling of collinear spikes for get_turns(L/L) 2014-03-21 17:24:21 +01:00
Menelaos Karavelas
e65e0718ad Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-20 11:21:00 +02:00
Adam Wulkiewicz
f2b4ced41b [relate] add test for Areal boundary equal to more than one Ls in MLs forming a linear ring 2014-03-20 01:06:15 +01:00
Adam Wulkiewicz
f9c0a09c38 [relate] implement proper handling of multiple rings while checing for equality with the linestrings, enable relate() for all ls- and poly-based geometries 2014-03-20 01:03:34 +01:00
Barend Gehrels
616e678ef1 [geometry] added first version of detail intersection_side function
To be used for buffer where robust info is needed of side of IP's
2014-03-19 17:01:02 +01:00
Menelaos Karavelas
0a2f52ad93 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
	include/boost/geometry/algorithms/detail/relate/turns.hpp
2014-03-19 17:25:19 +02:00
Menelaos Karavelas
8c2e7ea282 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-03-19 17:12:41 +02:00
Menelaos Karavelas
9ae6200a9d [intersection] add a couple more test cases that contain duplicate points or linestrings with zero length; 2014-03-19 17:11:41 +02:00
Adam Wulkiewicz
e0179e67e0 [relate] support ccw and open geometries, use closeable_view and reversable_view if needed 2014-03-18 23:27:18 +01:00
Adam Wulkiewicz
6106fe6d1b [relate] change less_seg_dist_op comparator to support multipolygons 2014-03-18 11:43:35 +01:00
Adam Wulkiewicz
173371265f [relate] fix II for LS on boundary going out and in to the boundary of another ring on the same IP 2014-03-18 00:52:20 +01:00
Adam Wulkiewicz
e461f1003b [relate] fix duplication of points for BACK in L/A 2014-03-17 23:45:28 +01:00
Adam Wulkiewicz
3336212aaa [relate] fix sorting by distance in less_seg_dist_op 2014-03-17 15:52:32 +01:00
Adam Wulkiewicz
d5935134ef [relate] add interrupt policy for L/A 2014-03-17 15:23:35 +01:00
Menelaos Karavelas
4039c28497 removed commented lines as per Bruno's suggestion 2014-03-15 11:52:04 +02:00
Menelaos Karavelas
429b5e0037 implementation and unit test for bg::append for multi-linestring and multi-polygon 2014-03-14 23:04:01 +02:00
Adam Wulkiewicz
19837bbe03 [relate] L/A: fix generation of matrix elements for L collinear to boundary of A 2014-03-14 17:54:17 +01:00
Adam Wulkiewicz
8bd4efbc26 [relate] add support for non-simple polygons 2014-03-14 16:57:10 +01:00
Adam Wulkiewicz
80b1c54b65 [relate][get_turns] fix turn generation for last LS endpoint in get_turns(L,A), in relate(L,A) handle Linestrings starting from the inside 2014-03-14 13:05:51 +01:00
Adam Wulkiewicz
a6b0a32846 [relate] handle simple polygons in relate(L,A), remove some redundant code from L/L and L/A, add tests 2014-03-13 14:54:42 +01:00
Adam Wulkiewicz
97edf7da65 [test/get_turns] expected_pusher is now using FwdRange concept, some tests added 2014-03-13 12:05:06 +01:00
Adam Wulkiewicz
4f32a3743f [relate][get_turns] added not yet finished support for relate(L,A), changed operations generated by get_turns(L,A) for collinear segments of Areal geometry, fixed errors in relate(L,A) 2014-03-13 01:08:57 +01:00
Adam Wulkiewicz
3c4ed4e396 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-03-12 19:18:20 +01:00
Adam Wulkiewicz
924d222e7f [relate][get_turns] fixed relate(L/L) error for collinear segments and a self-intersection in the middle, added is_collinear to turn_operation_linear, added setting of is_collinear to get_turns(L/L), fixed logic error in turns generation for endpoint-internal IP 2014-03-12 19:18:11 +01:00
Adam Wulkiewicz
3142975b72 [relate] supported ORed run-time masks 2014-03-12 12:39:20 +01:00
Menelaos Karavelas
d9e741c106 implemented set operations for pointlike-pointlike geometry combinations;
added unit tests for union, intersection and difference for pl-pl pairs;
2014-03-12 11:19:44 +02:00
Adam Wulkiewicz
8e9a59bac3 [relate] helpers like segment_watcher, exit_watcher, etc. moved to a separate file, implemented preliminary version of L/A (commented out for now), found bug in L/L, added failing tests 2014-03-11 18:06:47 +01:00
Adam Wulkiewicz
09c41cb171 relate() - const MatrixOrMask may be passed to the function, the actual matrix is now stored in the result handler 2014-03-08 19:59:39 +01:00
Adam Wulkiewicz
1e6da76527 relate() implemented different interface, added support for complex masks passed in boost::tuple 2014-03-08 19:31:06 +01:00
Adam Wulkiewicz
b6ad82a0c2 relate() naming of results changed, added de4im matrix 2014-03-07 19:41:54 +01:00
Menelaos Karavelas
9862612b3f changed color of isolated intersection points 2014-03-05 16:51:29 +02:00
Menelaos Karavelas
bec98a3b1c added one more test case 2014-03-05 16:51:08 +02:00
Menelaos Karavelas
751297770c added svg output support for union linear/linear;
tester for union linear/linear has now a static apply method instead of operator();
2014-03-05 13:36:41 +02:00
Menelaos Karavelas
5648d4133d made parts of the tester public and private; 2014-03-05 13:25:51 +02:00
Menelaos Karavelas
39a8f7dfda added support for drawing isolated points generated by the intersection set operation;
added svg for intersection of linear geometries;
tester is not a static apply method instead of operator() (intersection of linear geometries);
2014-03-05 13:24:01 +02:00
Barend Gehrels
921c7d2f14 [geometry] splitted file zoom_to_robust.hpp into several files:
- get_max_size
- rescale_policy
- robust_type
- get_rescale_policy
2014-03-05 12:01:43 +01:00
Menelaos Karavelas
9341e7dd50 added support for svg output;
changed tester to have a static apply method instead of an operator();
2014-03-05 12:57:42 +02:00
Menelaos Karavelas
178e7f3079 added support for svg output;
tester now has a static apply method intead of operator();
2014-03-05 12:51:26 +02:00
Menelaos Karavelas
f1b3e63d6b added support for svg output for set operation;
tester now has static apply method instead of operator();
2014-03-05 12:45:13 +02:00
Menelaos Karavelas
a40f958e69 changes according to Barend's review 2014-03-05 12:11:05 +02:00
Adam Wulkiewicz
9ff0624b41 relate(L,A) added preliminary implementation, for now working only for disjoint geometries 2014-03-04 17:37:12 +01:00
Menelaos Karavelas
925fb9e35b common functionality for set operation testing for linear geometries 2014-03-04 16:28:28 +02:00
Menelaos Karavelas
bae11b04c9 fixes from copy/paste from difference unit test 2014-03-04 16:27:52 +02:00
Adam Wulkiewicz
0147d4d2c3 get_turns(L,A) tests added 2014-03-04 14:36:42 +01:00
Menelaos Karavelas
6a87866339 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-03 21:37:30 +02:00
Adam Wulkiewicz
02cdc305d3 get_turns(L,A) - fixed turns generation for endpoints of collinear front/back segments, added some tests 2014-03-03 19:21:12 +01:00
Adam Wulkiewicz
ebaf26c0ff get_turns(L,A) handled front endpoint 2014-03-03 13:36:23 +01:00
Adam Wulkiewicz
be1ac99a82 get_turns(L,A) added, the endpoints are NOT properly set yet! 2014-02-28 18:59:30 +01:00
Adam Wulkiewicz
18a29bac69 some comments changed 2014-02-28 13:00:50 +01:00
Menelaos Karavelas
1c4ecf5b94 new implementation for union, following discussion with Barend;
updated unit test for union a bit;
2014-02-27 16:46:22 +02:00
Adam Wulkiewicz
e8b5e64f2b added empty test for get_turns(L,A) and some small changes like naming, comments. to_svg() (test debug helper tool) is now using turn_info defined in relate::turns, also traversal info output commented out. 2014-02-27 15:20:51 +01:00
Menelaos Karavelas
52c2ce2df9 added example used by Barend in his email to discuss the output of set operations 2014-02-26 12:55:56 +02:00
Barend Gehrels
1236aad099 [geometry] Added testcase for mailing list report 2014/02/23 2014-02-26 11:38:27 +01:00
Adam Wulkiewicz
0a70310124 get_turns(L,L) added turn_operation_linear containing info about the position of the IP in the segment 2014-02-25 13:39:09 +01:00
Menelaos Karavelas
8d510d140a added a couple of additional test cases 2014-02-25 02:07:08 +02:00
Menelaos Karavelas
c22b3bedfb minor change in output 2014-02-25 01:36:49 +02:00
Menelaos Karavelas
4030dd7c4b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-24 22:20:35 +02:00
Menelaos Karavelas
ca4aa6a91e the unit test for union of linear geometries; not finished yet 2014-02-24 22:20:24 +02:00
Menelaos Karavelas
8ab19b69c3 tester for union of linear geometries 2014-02-24 22:19:10 +02:00
Adam Wulkiewicz
00941b7d50 Implemented relate(MultiPoint, MultiPoint), added detail::relate::less comparing Point types with different coordinate_type, added some TODO notes regarding possible optimizations 2014-02-24 17:47:29 +01:00
Menelaos Karavelas
e11dcd9bbf intersection now includes isolated intersection points; exact behavior depends on the definition of related macros;
updated unit test to test for isolated intersection points as well;
2014-02-23 11:47:13 +02:00
Menelaos Karavelas
0b38816c0d finished updating test cases for all three set ops (intersection, difference, sym difference);
added a few more test cases;
using macros properly within unit tests right now;
2014-02-22 15:27:40 +02:00
Menelaos Karavelas
c00f46550b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:55 +02:00
Menelaos Karavelas
b0e5a71464 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:24 +02:00
Adam Wulkiewicz
a68d9f5855 fixed GCC compilation errors 2014-02-22 04:29:11 +01:00
Adam Wulkiewicz
600174b45d added relate() test to the Jamfile 2014-02-22 01:03:48 +01:00
Menelaos Karavelas
a7e2d325f0 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 00:10:30 +02:00
Adam Wulkiewicz
0fd875fb63 relate() added Point-MultiPoint, point_point moved to the separate file, Geometries sequence is reversed if needed to not duplicate the code - for this Transpose is also used as the parameter to set<>(result) 2014-02-21 19:25:27 +01:00
Adam Wulkiewicz
89e412f5b4 added test for relate(Pt,Pt), added a TODO in relate::linear_linear 2014-02-21 17:56:40 +01:00
Adam Wulkiewicz
6482716689 relate() Finished the implementation for Point/Geometry, added topology_check util, added tests 2014-02-21 17:51:37 +01:00
Adam Wulkiewicz
93b82b734d relate() added interruption_enabled flag to policy which can be used to create optimized mask type not checking for interuption per each set<>() 2014-02-21 15:34:52 +01:00
Menelaos Karavelas
5e733de01f added print-outs for the two geometries, the intersection results for g1,g2 and g2,g1 when the output is an MLS
as well as the intersection result when the output is a multipoint
2014-02-21 13:42:54 +02:00
Menelaos Karavelas
6e8c6b2a40 added test cases for the MLS/MLS combination 2014-02-21 12:10:49 +02:00
Menelaos Karavelas
c7e215076a updated a test case to make it more floating-point robust; added one more test case 2014-02-21 11:45:40 +02:00
Menelaos Karavelas
a63b3ef7c8 added tests for the LS/MLS combination 2014-02-21 11:11:38 +02:00
Adam Wulkiewicz
a03f554e27 relate() Added the interruptable mask Result, handled arbitrary Result type in relate(), added tests for masks and interruption, fixed warning in get_turns_ll 2014-02-21 00:40:09 +01:00
Adam Wulkiewicz
d13ff170be relate(L,L) code refactored, tests added 2014-02-20 23:10:16 +01:00
Adam Wulkiewicz
9b16fdcf23 relate(L,L) handled case when several BLOCK operations were generated for the same point, fixed an error for BLOCK generated for a geometry touching the other one from the "outside" 2014-02-20 22:47:23 +01:00
Menelaos Karavelas
c6f68ac2ec finished LS/LS test cases;
added MLS/LS test cases;
2014-02-20 23:33:26 +02:00
Menelaos Karavelas
95ffb258db test cases for the LS/LS combination 2014-02-20 22:42:13 +02:00
Menelaos Karavelas
e522f4ae68 updated a few more test cases; modified testing equality of intersections (allow now two possible results that depend on the order of the intersection arguments); 2014-02-20 13:43:27 +02:00
Menelaos Karavelas
b8243c7159 unit tests for symmetric difference and intersection of linear geometries; not finished yet; 2014-02-20 12:57:14 +02:00
Adam Wulkiewicz
c2e1331270 relate(L,L) handling of 1-point linestrings replaced by simple ignoring (for now) since those are not valid geometries, the code was not removed though in case we wanted to e.g. enable it with some macro check. 2014-02-19 14:42:05 +01:00
Menelaos Karavelas
0ca5d2f13a re-arranged code so that linestrings are not transformed to multilinestrings;
added implementations for all four pairs of LS/MLS combinations;
added unit tests that were missing for new combinations;
2014-02-19 13:37:04 +02:00
Barend Gehrels
ffb1b8af61 [geometry] Fixed traverse testcase 2014-02-19 11:19:10 +01:00
Menelaos Karavelas
1f9ccb6698 rearranged and simplified test code for differences of linear geometries;
added test cases for the LS/MLS difference;
polished debug macros a bit;
2014-02-19 09:25:30 +02:00
Menelaos Karavelas
7d3fef405e Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-19 09:00:09 +02:00
Adam Wulkiewicz
b03601fab8 get_turns(L,L) fixed 2x IPs generation for a special case of collinear, opposite last Ls segment 2014-02-19 02:26:15 +01:00
Adam Wulkiewicz
99610ca124 relate(L,L) handled the rest of cases with 1-point linestrings involved, added interrupt member to relate result - it may be used to break the calculation 2014-02-16 22:23:14 +01:00
Barend Gehrels
17356d7d7d [geometry] Fix for integer-distance-point-to-polygon,
submitted by Menelaos Karavelas
2014-02-16 21:53:00 +01:00
Adam Wulkiewicz
9f54142896 relate(L,L) handled some cases with 1-point linestrings involved (if 1-PtLS is disjoint or there are other Ls in the other MLs) 2014-02-16 18:26:41 +01:00
Adam Wulkiewicz
4815e00048 relate(L,L) disjoin linestrings contained in multilinestring properly handled. In the case of disjoint linestrings almost all special cases are handled non-simple linear rings, 1-point linestrings. Linestrings containing >1 equal points are for now treated as normal linear rings, this should probably be changed. 2014-02-15 21:51:47 +01:00
Menelaos Karavelas
b1d78e1a85 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:40:41 +02:00
Menelaos Karavelas
734dcb7930 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:39:46 +02:00
Adam Wulkiewicz
790c0027a0 relate(L,L) fixed some compilation errors for MultiLinestrings, some parts of the code temporarily commented out, added failing test - currently used algorithm is analysing only those Linestrings which are intersecting the other geometry, other ones are NOT taken into account 2014-02-14 00:30:10 +01:00
Barend Gehrels
8af588045e [geometry] Fixed results for distance of integer point types point-segment
or point-linestring
2014-02-13 22:18:39 +01:00
Adam Wulkiewicz
cea2384ad6 relate(L,L) some tests added - tests for linear rings not passed, added note about the error 2014-02-13 01:54:55 +01:00
Menelaos Karavelas
90901d6e4e added a couple more test cases 2014-02-13 01:48:23 +02:00
Adam Wulkiewicz
7429694b54 relate(L,L) added checks for boundaries for the first points of ranges of G1 which are in the exterior of G2 2014-02-13 00:12:39 +01:00
Menelaos Karavelas
a1ac024c5b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 18:06:37 +02:00
Adam Wulkiewicz
b943f3de26 get_turns(L,L) another special case handled 2014-02-12 16:53:06 +01:00
Barend Gehrels
d140a44bf3 [geometry] Fixed remaining unit test w.r.t. rescale policies 2014-02-12 14:13:25 +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
Menelaos Karavelas
a366f120f7 changes in code for linear-linear geometries difference 2014-02-12 13:03:35 +02: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
Menelaos Karavelas
fe2cfa6422 fixed the result of a test case 2014-02-12 00:23:27 +02:00
Menelaos Karavelas
0848049a10 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 00:02:27 +02:00
Adam Wulkiewicz
5bb4c45ff5 get_turns(L,L) fixed another case for opposite linestrings 2014-02-11 17:06:43 +01:00
Menelaos Karavelas
a0e56a6157 current implementation for difference of linear geometries (still a prototype);
added some copyright headers and made minor fixes;
2014-02-11 16:22:39 +02:00
Menelaos Karavelas
773331f6d9 implementation of follower for linear geometries;
added test files for difference of linear geometries;
2014-02-11 10:37:45 +02:00
Adam Wulkiewicz
4a4acf00cb [get_turns] fixed error in get_turn_info_linear_linear - invalid operations generated for the endpoint-internal IP for opposite segments 2014-02-11 02:57:39 +01:00
Adam Wulkiewicz
21dfef6f05 get_turn_info_linear_linear<>::handle_first_last() method moved to better reflect calling dependency 2014-02-11 01:30:22 +01:00
Adam Wulkiewicz
5e3223e467 fixed error in relate(), entry points seg_id replaced by other_seg_id - required for MultiLinestrings 2014-02-06 01:27:52 +01:00
Adam Wulkiewicz
c0598807db handled non-simple Linestrings, for now without spikes 2014-02-06 00:22:54 +01:00
Barend Gehrels
7c6ba53e59 [geometry] Added RescalePolicy (to get SegmentRatio) to strategy_intersection
Some creations/instances of rescale policy had therefore to be moved
2014-02-05 14:06:00 +01:00
Barend Gehrels
336f73e276 [geometry] made SegmentRatio as a template argument for turn_operations,
and therefore for turn_info and many more
2014-02-05 11:36:42 +01:00
Adam Wulkiewicz
65721a3d89 added missing get_turn parameters to get_turn_info<>::apply() in get_turn_info.cpp unit test - new TurnPolicy interface 2014-02-02 00:21:00 +01:00
Adam Wulkiewicz
87ab6f8ece fixed VS compilation errors (overlay:: removed), removed relate()-related code from get_turns_linear_linear.cpp test 2014-02-01 23:43:54 +01:00
Adam Wulkiewicz
ff9596578f Merge branch 'develop' into feature/relate 2014-02-01 13:41:53 +01:00
Adam Wulkiewicz
b9d7d7f975 changed relate() to use new turns info for linestrings, the same implementation state - does not work for self-touching Linestrings or MultiLinestrings 2014-01-31 22:13:13 +01:00
Adam Wulkiewicz
459bb46dff detail::relate::relate() result now contains correct dim(E(A) and E(B)), T is put for dimensions > 9 2014-01-29 23:37:49 +01:00
Adam Wulkiewicz
bf51c9fc87 added test for get_turns(L,L) 2014-01-29 23:12:38 +01:00
Adam Wulkiewicz
0874a880b5 Added methods replacement for some cases of non-endpoint IPs, e.g. touching c or e is replaced by m or t. Methods are set WRT IPs, not segments, i.e. if points of both intersecting segments are equal to the IP the method is e. In addition to this x/x was handled, e.g. t+x/x is replaced by e+c/c. 2014-01-29 17:24:46 +01:00
Adam Wulkiewicz
9c63a58412 added proper operations generation for non-endpoint IPs 2014-01-29 15:09:54 +01:00
Adam Wulkiewicz
b70c886f2e IP duplicates handled for endpoints 2014-01-27 16:44:11 +01:00
Adam Wulkiewicz
e7992832a9 added a few test cases 2014-01-24 20:33:51 +01:00
Adam Wulkiewicz
bd686badd7 most of the duplicated endpoints handled 2014-01-24 16:58:11 +01:00
Adam Wulkiewicz
a9f1c8e00a handled all endpoints, for now method is not set, IPs may be duplicated and invalid value is returned from handle_first_last() 2014-01-23 18:23:12 +01:00
Adam Wulkiewicz
50fe5a7e67 added copyrights 2014-01-22 22:02:22 +01:00
Adam Wulkiewicz
7e3d0571f9 fixed error in collect_vectors - vectors previously gathered for other rings were removed based on the direction of the last vector of currently analysed ring 2014-01-22 22:00:29 +01:00
Adam Wulkiewicz
3f667361d6 get_turns() for endpoints L/L started from the beginning, added copyrights info, added comments regarding segment intersection results analysis 2014-01-22 21:42:44 +01:00
Barend Gehrels
95bb6372ab [geometry] Added testcase for ticket #9563 which was already fixed in this branch
Rescaling to robust type already fixed this.
2014-01-18 18:14:51 +01:00
Barend Gehrels
e71c0c92e2 [geometry] Uncommented various testcases for traverse unit test
partly related to rescaling
2014-01-17 20:05:46 +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
fc681ba236 [geometry] fixes in unit tests w.r.t. rescale policy 2014-01-17 18:53:29 +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
f61a9da709 [geometry] Fixed testcases for overlay w.r.t. rescale to integer 2014-01-16 19:03:45 +01:00
Barend Gehrels
417b4d9450 [geometry] Pass rescale policy for get_turns test 2014-01-16 18:46:24 +01:00
Barend Gehrels
90b75b7640 Merge branch 'develop' into rescale_to_integer 2014-01-16 14:19:01 +01:00
Barend Gehrels
a7ca995be5 [geometry] Changes in debug-information 2014-01-16 14:12:37 +01:00
Adam Wulkiewicz
594d025e95 overlay:: equal<> and collinear<> used to calculate the operations for the first point of P LS in adequate cases 2014-01-09 19:36:31 +01:00
Bruno Lalande
cfba8409c5 Made transform variant-aware. 2014-01-09 09:09:56 +00:00
Bruno Lalande
efd1540b1a Change test_transform_point() to use check_transform(). 2014-01-08 22:36:49 +00:00
Bruno Lalande
be9341df70 Split test_transform_linestring into test/check (in preparation to testing variants). 2014-01-08 17:59:52 +00:00
Bruno Lalande
3019f29a5b Fixed test issue - the test was comparing out1 with itself rather than out2, and started failing when corrected because inappropriately implemented for CS transformations. 2014-01-08 17:54:17 +00:00
Barend Gehrels
5f87dfcd3b [geometry] Unit test traverse, added debug info 2014-01-08 13:51:49 +01:00
Barend Gehrels
831302112e [geometry] Added testcases or changed precisions in a few cases 2014-01-08 13:51:19 +01:00
Adam Wulkiewicz
518156a727 [geometry] begined the new implementation of handling of first and last LS point in get_turns(), for now considered cases when both LSs starts on the same segment 2014-01-07 21:46:46 +01:00
Bruno Lalande
1d561e58bd Merge branch 'feature/variants' into develop 2014-01-05 17:10:40 +00:00
Adam Wulkiewicz
2799cb867b [geometry] handled IP on the last point of LS for equal and collinear case, for the first point method may now be set to equal or collinear 2014-01-05 17:27:31 +01:00
Bruno Lalande
8d58aaf8b9 Made touches (1 param version) variant aware. 2014-01-05 15:54:14 +00:00
Adam Wulkiewicz
c1530d41f9 [geometry] handled IP for the first point of a LS when IP is equal to the second point of the first segment of the other LS to avoid generation of 2 IPs for the same point 2014-01-04 23:51:12 +01:00
Adam Wulkiewicz
def187c977 added generation of IP for the first point of a Linestring - c+c/c, c+i/u or c+u/i 2014-01-04 01:11:43 +01:00
Bruno Lalande
87a5a242f4 Made touches (2 params version) variant aware. 2014-01-02 09:34:31 +00:00
Adam Wulkiewicz
352996aa2e [geometry] added tests for intersects(Ls,Ls) for linestrings with colinear segments 2013-12-27 20:23:33 +01:00
Bruno Lalande
4919e00e2d Made simplify variant-aware 2013-12-24 22:15:15 +00:00
Adam Wulkiewicz
3d8cc8730a [geometry] added relate() test 2013-12-24 04:17:06 +01:00
Adam Wulkiewicz
8f742a692c [geometry] added self-turns output to 1-geometry to_svg() 2013-12-23 14:49:20 +01:00
Adam Wulkiewicz
eba7d26db4 [geometry] in relate() called dispatch::get_turns instead of higher level one to avoid geometries switching, added generation of SVGs for some special cases 2013-12-22 23:35:18 +01:00
Barend Gehrels
b889923619 [geometry] Take care that FP ratio (which is still used) is between 0-1 too.
If not we take the robust ratio.
This fixes case ticket_9081_15 where the intersection point was far outside
the belonging segment (causing a new spike)
2013-12-22 14:16:15 +01:00
Barend Gehrels
1a1cb4cff0 [geometry] Moved debug string 2013-12-22 14:14:37 +01:00
Barend Gehrels
9cd79d8033 [geometry] Instead of (non-rescaled) append, we clean rescaled dups afterwards.
We don't do it on the fly to avoid additional rescaling, it is done only once per point
This also changes occasionally some number-of-points in testcases (now more cleaned)
2013-12-22 14:12:40 +01:00
Barend Gehrels
e871436e30 [geometry] Slightly increased tolerance for the r.e.s. test 2013-12-22 10:56:49 +01:00
Adam Wulkiewicz
4f07087db5 [geometry] handled more cases in relate(Ls, Ls) 2013-12-22 04:00:15 +01:00
Adam Wulkiewicz
106f3da5ae [geometry] fixed some errors in relate(Ls, Ls): checked terminal points of both linestrings, treated touch with x/x as ii 2013-12-21 02:41:48 +01:00
Adam Wulkiewicz
382e975f2f [geometry] added test file for relate(), fixed error in linear_linear, added tag-dispatched detail::relate() 2013-12-21 01:49:40 +01:00
Adam Wulkiewicz
da524695c6 [geometry] added relate() test implementation for Point-Geometry, Geometry-Point and Linestring-Linestring. The least one is not finished yet. 2013-12-20 19:58:08 +01:00
Barend Gehrels
e0d9036aef [geometry] removed segment_equal, now all collinear go to one fuction.
Function now renamed to segments_collinear, and the other to segments_crosses

We calculate opposite now only in "direction", where it is used to pass through.
That one also checks on equality

Test 5103 now (or with previous action for touches) also passes again.
2013-12-20 18:50:08 +01:00
Adam Wulkiewicz
3f7ef7b739 [geometry] added within(Ls, Ls) tests for overlapping linestrings 2013-12-20 01:41:35 +01:00
Adam Wulkiewicz
907a260b01 [geometry] added within(Ls, Ls) 2013-12-20 01:28:32 +01:00
Barend Gehrels
4a5b85c870 [geometry] Collinear touch now also uses new unified method
This fixes the holes_intersect_and_touch case
NOTE: method should now be renamed, not ...two_intersection_points
2013-12-19 22:38:52 +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
2b2ceadfc6 [geometry] fixed within(Box, Box) for Boxes with overlapping boundaries - OGC conformance 2013-12-16 00:42:15 +01:00
Barend Gehrels
107621943d [geometry] Use robust determinant for comparisons
This breaks one extra testcase which should be verified later
2013-12-14 19:49:35 +01:00
Barend Gehrels
c173233efa [geometry] Propagated rescale_policy further / from earlier phase 2013-12-14 19:45:21 +01:00
Barend Gehrels
ff7cb5c21e Merge branch 'develop' into rescale_to_integer 2013-12-14 13:38:28 +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
Adam Wulkiewicz
a238da019b [geometry] added touches(Ls, Poly), added details for other combinations of linear-areal geometries 2013-12-14 04:01:32 +01:00
Adam Wulkiewicz
f78626b0f2 [geometry] added parameters reversal for touches() 2013-12-11 17:28:52 +01:00
Adam Wulkiewicz
ce263c3968 [geometry] added some tests for touches(Ls,Ls) 2013-12-11 12:07:27 +01:00
Adam Wulkiewicz
5b417cc66b [geometry] touches(Ls,Ls) algorithm modified 2013-12-11 11:47:16 +01:00
Adam Wulkiewicz
8d690ff164 [geometry] added touches(Ls, Ls) + tests 2013-12-11 02:08:54 +01:00
Adam Wulkiewicz
f95efb34ee [geometry] added tests for touches(Pt, MLs) and touches(Pt, MPoly), fixed error in point_in_geometry(Pt, MLs), fixed error in within(Pt, MLs) tests 2013-12-11 01:42:25 +01:00
Adam Wulkiewicz
437c94ad77 added touches(Point, Geometry) 2013-12-11 00:24:16 +01:00
Adam Wulkiewicz
ffa81b45e0 [geometry] added tests for intersects() 2013-12-08 14:42:17 +01:00
Adam Wulkiewicz
8ef20f9f88 added disjoint() for previously non-supported Geometries 2013-12-08 13:20:01 +01:00
Adam Wulkiewicz
5436fb2cfa added within() and covered_by() for Pt-Ls and Pt-MLs, fixed error in point_in_geometry for MLs 2013-12-08 12:36:31 +01:00
Barend Gehrels
1b3edc3e0d [geometry] unit-test, made par const and ignore it 2013-12-07 11:39:21 +01:00
Barend Gehrels
32eb7090d5 [geometry] Use rescale_policy in enrich_intersection_points and sectionalize
Also in get_turns forward them further up to point-comparison
2013-12-07 11:36:42 +01:00
Barend Gehrels
3e5333a8c4 [geometry] Remove all trailing spaces (tests) 2013-12-05 19:38:32 +01:00
Barend Gehrels
626ed1a0e7 [geometry] Remove trailing spaces.
For the rest this commit contains nothing.
2013-12-05 19:22:36 +01:00
Barend Gehrels
75d078aaed [geometry] added RescalePolicy template-parameter.
Where that was applied and possible, moved template-parameter to methods
instead of to classes.

This is a large commit, but contains no functional changes.
2013-12-05 19:20:54 +01:00
Barend Gehrels
a0d3f209d2 [geometry] Avoid generating any SVG, by default, in unit tests 2013-12-04 12:33:06 +01:00
Barend Gehrels
ab869aa7b8 [geometry] Comment failing test: centroid in release-mode 2013-12-04 12:28:07 +01:00
Barend Gehrels
e5340158ac [geometry] Moved template parameters in sectionalize, preparing for following changes 2013-12-04 12:27:22 +01:00
Barend Gehrels
7ec437a51b [geometry] Added testcase for mailed supposed error. Moved pie-test to header conform other testcases
[SVN r86769]
2013-11-19 21:12:50 +00:00
Bruno Lalande
fb3ec9de1f Made reverse algorithm variant-aware.
[SVN r86678]
2013-11-13 14:53:37 +00:00
Bruno Lalande
128ebab54c Made remove_spikes variant-aware.
[SVN r86634]
2013-11-12 07:52:06 +00:00
Barend Gehrels
4250868b59 [geometry] fixed self_intersection_points unit test for clang, added missing include
[SVN r86628]
2013-11-11 22:55:47 +00:00
Barend Gehrels
1088afb1be [geometry] Fixed self-turn points, neighboring function in get_turns did have the wrong meta-function. Also cleaned corresponding unit tests / added test cases for reported error (reported by Joan on mailing list)
[SVN r86627]
2013-11-11 22:36:57 +00:00
Bruno Lalande
d951f4ea72 Made perimeter algorithm variant-aware.
[SVN r86619]
2013-11-11 16:29:00 +00:00
Bruno Lalande
1799ee4777 Made within algorithm variant-aware.
[SVN r86606]
2013-11-10 23:07:59 +00: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
6d87fb3858 [geometry] fixed for_each which requires a closing point for its polygon (since WKT now always closes rings explicitly, few weeks ago)
[SVN r86593]
2013-11-09 11:27:55 +00:00
Barend Gehrels
ae4326c196 [geometry] fixed multi_simplify test which suffered from too many decimals in the test-output
[SVN r86591]
2013-11-09 11:18:34 +00:00
Barend Gehrels
ca7e072221 [geometry] added tests for point_on_surface for multipolygons
[SVN r86590]
2013-11-09 10:58:51 +00:00
Bruno Lalande
e3cfaf6470 Tests for variant aware envelope.
[SVN r86585]
2013-11-08 08:16:21 +00:00
Barend Gehrels
42c3e28ff7 [geometry] fixed ticket 8310, disjoint did give the wrong results. Fixed using point_on_surface. Added unit test. Also tests for overlay algorithms because they might suffer from the same problem
[SVN r86579]
2013-11-06 22:42:02 +00:00
Barend Gehrels
ee6140f274 [geometry] point_on_surface, update for linux/clang
[SVN r86555]
2013-11-03 21:11:54 +00:00
Barend Gehrels
cbafc2398a [geometry] added point_on_surface, developed last summer to SVN
[SVN r86554]
2013-11-03 21:00:34 +00:00
Barend Gehrels
28d1a9cf3a [geometry] Added real-life testcase for simplify
[SVN r86549]
2013-11-03 17:33:00 +00:00
Barend Gehrels
3b68b369dd [geometry] fixed strategy type, reported by Menelaos on the list
[SVN r86535]
2013-11-01 14:54:58 +00:00
Bruno Lalande
982c60d4f1 Made envelope variant-aware.
[SVN r86531]
2013-10-31 21:01:21 +00:00
Bruno Lalande
cfeaaf0cab Made disjoint variant-aware.
[SVN r86523]
2013-10-30 12:03:54 +00:00
Bruno Lalande
f8408c546f Made covered_by variant-aware.
[SVN r86461]
2013-10-26 21:37:49 +00:00
Barend Gehrels
ba2911a199 [geometry] removed unused variables in unit test
[SVN r86451]
2013-10-26 13:21:47 +00:00
Barend Gehrels
cee8a0506c [geometry] Added remove_spikes as an algorithm. The first version was already in extensions (for years), that is removed now. The new version works using the recent point_is_spike_or_equal
[SVN r86450]
2013-10-26 13:18:11 +00:00
Bruno Lalande
73e9c494b7 Made 'correct' variant-aware.
[SVN r86414]
2013-10-24 06:10:34 +00:00
Bruno Lalande
e2f11f015d Converted convex_hull to the multi-stage approach and made it variant-aware.
[SVN r86401]
2013-10-23 10:13:28 +00:00
Barend Gehrels
3a6ae0bacb [geometry] revised solution for robustness, we don't go to integer which was shortly done. This is partly a revert of r85867, where we scaled to integer. Now we make side information consistent by iteratively selecting a larger epsilon. This will be moved into a separate class. All tests pass now, also the complete ticket_9081 test which failed before
[SVN r86368]
2013-10-20 15:30:21 +00:00
Barend Gehrels
f85d454d9d [geometry] fixed tests for clang >= 3.2 w.r.t. std::abs and unsigned
[SVN r86358]
2013-10-18 20:48:31 +00:00
Bruno Lalande
80361cb770 Test for centroid's variant-awareness
[SVN r86337]
2013-10-17 06:17:50 +00:00
Bruno Lalande
e6f57e7523 Made the buffer algorithm variant aware.
[SVN r86240]
2013-10-11 21:47:28 +00:00
Barend Gehrels
21e712fe0d [geometry] changed overlay test w.r.t. pointcount, they might now deviate one or two
[SVN r86238]
2013-10-11 20:42:48 +00:00
Barend Gehrels
da927a0905 [geometry] added robustness test for ticket 9081
[SVN r86237]
2013-10-11 20:39:28 +00:00
Bruno Lalande
25206e4d5d Updated the assign unit tests to show it can handle variants (+ refactored a bit)
[SVN r86234]
2013-10-11 07:06:30 +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
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
Adam Wulkiewicz
2c41475405 [geometry] tests added for segment/linestring-box intersects().
[SVN r85559]
2013-09-04 01:52:05 +00:00
Barend Gehrels
fb74bfbe26 [geometry] Fixed ticket 9047 (recursive inclusion) and unit test for ticket 8652
[SVN r85552]
2013-09-03 18:45:18 +00:00
Barend Gehrels
95cd9a2126 [geometry] added testcase for ticket 6958 which is also fixed by commit 85451 avoiding spikes
[SVN r85491]
2013-08-27 20:33:32 +00:00
Barend Gehrels
5df00d98c3 [geometry] cleanup test removing defines, moving testing-only-one-type to Jamfile
[SVN r85481]
2013-08-26 21:36:22 +00:00
Barend Gehrels
126511696c [geometry] fixes in unit-test, uncommented one testcase, enabled for 3 of 4 polygon types. Added convenience function to list type in case of errors
[SVN r85480]
2013-08-26 21:15:47 +00:00
Barend Gehrels
082c8e4d53 [geometry] fixed unit-test for intersections w.r.t. coordinates and last commit for spikes. One test is now commented because it returns different values in different situations
[SVN r85467]
2013-08-25 17:51:54 +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
fd95cc49a9 [geometry] added unit-test for tickets 8364 and 8365. They now fail but that will be fixed in next commit
[SVN r85450]
2013-08-24 21:10:12 +00:00
Barend Gehrels
81db2ee699 [geometry] robustness-tests added Jamfile and fixed gcc compilation errors
[SVN r85380]
2013-08-17 17:10:35 +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
409be79e03 [geometry] added centroid calculation for segment type
[SVN r85346]
2013-08-14 15:31:46 +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
edca638dfc [geometry] Moved SVG from extensions to main tree, to release it
[SVN r84233]
2013-05-11 12:27:43 +00:00
Barend Gehrels
e975339eb5 [geometry] fix unit test error (expected value was wrong) and warnings for within test
[SVN r83745]
2013-04-03 15:49:55 +00:00
Barend Gehrels
d930a4944f [geometry] last added test in traverse did not enter the correct area, fixed
[SVN r83528]
2013-03-23 13:14:33 +00:00
Barend Gehrels
2ca66acb56 [geometry] pending commit, added check for within/disjoint, 3d boxes
[SVN r83527]
2013-03-23 13:03:57 +00:00
Barend Gehrels
2cdbd60372 [geometry] added condition for rt_i_rev test with float for non-Windows, because it currently fails
[SVN r83483]
2013-03-17 21:35:43 +00:00
Barend Gehrels
61844d7bf2 [geometry] Fix ticket 7462, (unit tests)
[SVN r83482]
2013-03-17 21:31:21 +00:00
Barend Gehrels
bc35eb29b6 [geometry] added case for ticket 8254, which had the same problem as buffer_mp1
[SVN r83478]
2013-03-17 17:20:47 +00:00
Barend Gehrels
0445cf26d7 [geometry] limited case #buffer_mp2 for traverse only for double, where the problem was
[SVN r83477]
2013-03-17 16:57:43 +00:00
Barend Gehrels
72f3b3f18e [geometry] test cases for #buffer_mp1 and #buffer_mp2, see previous two commits
[SVN r83476]
2013-03-17 16:34:55 +00:00
Bruno Lalande
6090b106af Made the length algorithm variant-aware.
[SVN r82484]
2013-01-13 23:09:27 +00:00
Bruno Lalande
dfb6a611db Made the convert algorithm variant-aware.
[SVN r82472]
2013-01-12 23:06:18 +00:00
Bruno Lalande
c3c0e57304 Made the equals algorithm variant-aware.
[SVN r82463]
2013-01-12 18:28:00 +00:00
Bruno Lalande
2cc83e50a1 Made the append algorithm variant-aware.
[SVN r82412]
2013-01-08 23:35:28 +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
281bbfb52c [geometry] pending commit, unit test for problems with integer coordinates reported by Volker (again) at 2012/07/17 and fixed in r79505
[SVN r81967]
2012-12-15 12:31:06 +00:00
Barend Gehrels
86dd6e20e9 [geometry] added combinations point/ring, point/polygon, point/multi_polygon for disjoint and intersects (unit tests)
[SVN r81956]
2012-12-14 22:28:48 +00:00
Barend Gehrels
54a64a7e35 [geometry] fixed comparable_distance point-linestring (and -range, -polygon)
[SVN r81580]
2012-11-26 22:12:35 +00:00
Barend Gehrels
3ec9d48e43 [geometry] fixed for_each using C++11 lambda's, including adding unit test for them
[SVN r81418]
2012-11-18 19:51:00 +00:00
Bruno Lalande
b3dcf83fa3 Added support for variant geometries in area algorithms.
[SVN r80610]
2012-09-20 21:48:47 +00:00
Barend Gehrels
c719e7477e [geometry] Applied (slightly adapted) patch by Karsten Ahnert sent to me Jul 25, fixing disjoint for degenerate segments
[SVN r79757]
2012-07-26 16:16:43 +00:00
Barend Gehrels
117d6209dc [geometry] Unit test for formerly failing disjoint for polygon/box
[SVN r78796]
2012-06-01 21:46:03 +00:00
Barend Gehrels
a2636874eb [geometry] commented non running unit tests - their result (still) differs for float
[SVN r78722]
2012-05-28 16:22:16 +00:00
Barend Gehrels
dd5cb6fe6b [geometry] commit of robustness test for touches, and updated release note
[SVN r78700]
2012-05-27 21:44:47 +00:00
Barend Gehrels
4db3b6b782 [geometry] added touch - unit tests
[SVN r78691]
2012-05-27 17:47:28 +00:00
Barend Gehrels
23f456a758 [geometry] disabled recently uncomment test
[SVN r78660]
2012-05-26 21:19:35 +00:00
Barend Gehrels
fbb40a0793 [geometry] bugfix for union (unit test - pending commit - change done in april 2012)
[SVN r78654]
2012-05-26 20:48:00 +00:00
Barend Gehrels
4e1b8b3511 Update w.r.t. Boost.Range size now unsigned
[SVN r78615]
2012-05-25 14:27:29 +00:00
Barend Gehrels
0703f8e4f6 [geometry] fix in unit tests and avoid gcc warning
[SVN r77991]
2012-04-15 12:14:57 +00:00
Barend Gehrels
2373c321e5 [geometry] unit test update (especially in union) for fix of several robustness issues in cart_intersect and get_turn_info found by testing buffer algorithm
[SVN r77989]
2012-04-15 11:47:08 +00:00
Barend Gehrels
f139ba3a6c [geometry] unit tests for robustness fixes
[SVN r77352]
2012-03-16 17:00:57 +00:00
Barend Gehrels
a2e8386e90 [geometry] unit tests for robustness fixes
[SVN r77349]
2012-03-16 16:50:32 +00:00
Barend Gehrels
2449e6c4b6 [geometry] unit test to avoid future regressions in fix for robustness issue on touch with r > 1
[SVN r77338]
2012-03-14 18:59:19 +00:00
Barend Gehrels
b0d8b5c0a5 [geometry] added test called #ggl_list_20110820_christophe now also to union test to discover it earler, and uncommented test called #ggl_list_20110716_enrico
[SVN r77309]
2012-03-11 20:42:12 +00:00
Barend Gehrels
532007c6ab [geometry] updated test for robustness issue found
[SVN r77305]
2012-03-11 18:12:46 +00:00
Barend Gehrels
575098e9b6 [geometry] Fixed several robustness issues: non-valid polygons/rings are not added anymore;
collinear is now symmetric (it could happen that A was collinear w.r.t. B but not vice versa, that is now resolved);
  vertical/horizontal (nearly collinear) segments are now checked later (this and previous bug were found by buffer-high-volume tests).

Added testcases (buffer_rt_f did cause problems with previous implementation, fixed now). Updated testcases (some cases are quite sensitive to implementation while output is still valid)


[SVN r77296]
2012-03-10 19:11:17 +00:00
Barend Gehrels
349864cec9 Boost.Geometry bugfix for disjoint of opposite-equal or or opposite-collinear segments
plus prepares extra parameters for buffer

[SVN r77121]
2012-02-26 20:00:05 +00:00
Barend Gehrels
7372dfa3a4 Boost.Geometry applied patch from ticket https://svn.boost.org/trac/boost/ticket/6584 and fixed a related bug about the return type of strategies/projected_point which was integer for integer points (and should have been promoted to FP, fixed)
[SVN r77107]
2012-02-24 12:32:38 +00:00
Barend Gehrels
3cac6cdad6 Boost.Geometry unit-test update for last fix in line/poly overlay
[SVN r76976]
2012-02-11 14:26:19 +00:00
Barend Gehrels
7c57b7bae7 Boost.Geometry pending unit test change
[SVN r76965]
2012-02-10 20:46:08 +00:00
Barend Gehrels
604bb60f17 Boost.Geometry doc updates
[SVN r76963]
2012-02-10 19:52:53 +00:00
Barend Gehrels
56a8ecb01b Commented throw_on_empty_input for area, length, perimeter (but not for distance), see comments in throw_on_empty_input.hpp
[SVN r76916]
2012-02-06 20:50:12 +00:00
Barend Gehrels
0141f5dc1e Removed one non-relevant test for convex_hull
[SVN r76901]
2012-02-05 16:38:27 +00:00
Barend Gehrels
b924314228 Pending commits in unit tests
[SVN r76894]
2012-02-05 11:09:40 +00:00
Barend Gehrels
d75845b0db Adapted test Christoph to gcc which, for long double, also results in a polygon (pt 2 / msvc as well)
[SVN r76890]
2012-02-04 22:12:12 +00:00
Barend Gehrels
5ba364a6ac Adapted test Christoph to gcc which, for long double, also results in a polygon
[SVN r76889]
2012-02-04 21:50:01 +00:00
Barend Gehrels
22ba5b5dee Pending commit to add case of Christoph at 2011-08-19 and remove ticket_17 (which has self-intersections)
[SVN r76888]
2012-02-04 21:07:20 +00:00
Barend Gehrels
2c055da57d Added/updated unit test for distance fix, and new calculation_type meta function
[SVN r76882]
2012-02-04 15:18:06 +00:00
Barend Gehrels
237bd311d9 Fixed unit test for policy template parameter which has no default anymore
[SVN r76865]
2012-02-04 00:03:08 +00:00
Barend Gehrels
cbc6472435 Added testcase for last fix
[SVN r76864]
2012-02-03 23:42:07 +00:00
Barend Gehrels
be732f26d2 Added tests for disjoint (for fixes in previous commit)
[SVN r76860]
2012-02-03 21:18:17 +00:00
Barend Gehrels
02fa928c9c Reorganized robustness test include orders, which fixes compiler error (w.r.t. point_xy), and fixed empty_input_exceptions which could occur in some tests
[SVN r76858]
2012-02-03 21:02:52 +00:00
Barend Gehrels
4eae3b5b37 Updated tests to latest fixes, within/large integers, correct now with int, removed wkt/iomanip by default
[SVN r76857]
2012-02-03 19:15:02 +00:00
Barend Gehrels
f5c870f96a Had to move case 'hv4' to non-float because of error on linux/gcc
[SVN r76768]
2012-01-28 21:20:13 +00:00
Barend Gehrels
3b26c5f6c0 Added large-integer tests to area/centroid (tested as well for within,sectionalize,intersections,correct)
[SVN r76756]
2012-01-28 18:31:50 +00:00
Barend Gehrels
6db4d7db3d Fixes for clang in unit tests
[SVN r76520]
2012-01-15 15:41:29 +00:00
Barend Gehrels
40afe1bba5 Removed variables accepting return values to avoid warnings in gcc
[SVN r76515]
2012-01-15 13:30:56 +00:00
Barend Gehrels
05ab4d557a Added empty_input_exception and applied for distance, length, area, perimeter
Removed exception for convex_hull because that can be handled (for now) by leaving output empty. To be decided what is the definitive (additional, optional) behaviour.

[SVN r76514]
2012-01-15 13:23:08 +00:00
Barend Gehrels
1a250ac954 Added testcase from result (currently in extensions) buffer which was wrong first but fixed yesterday
[SVN r76494]
2012-01-14 17:33:19 +00:00
Barend Gehrels
72518c78f7 Fixed convex_hull for empty geometries by throwing exception
[SVN r76488]
2012-01-14 14:44:21 +00:00
Barend Gehrels
229222a373 Added/fixed unit test for centroid exceptions
[SVN r76487]
2012-01-14 14:19:35 +00:00
Barend Gehrels
61874e2c40 Updated copyrights 2010->2012
[SVN r76442]
2012-01-12 20:58:20 +00:00
Barend Gehrels
e6cdc34cc6 Added multi/.../wkt
[SVN r76440]
2012-01-12 20:42:30 +00:00
Barend Gehrels
5da8ef1a6d Added necessary boost/geometry/multi/io/wkt/wkt.hpp
[SVN r76438]
2012-01-12 20:02:17 +00:00
Barend Gehrels
4923c79319 Uncommented skipped tests which are running now correctly
[SVN r76437]
2012-01-12 19:09:44 +00:00
Barend Gehrels
aea119f33c Fixes w.r.t. self_intersection_points
[SVN r76436]
2012-01-12 18:59:08 +00:00
Barend Gehrels
7cb0ae96fd Boost.Geometry update copyright -> 2012
[SVN r76390]
2012-01-09 21:56:08 +00:00
Barend Gehrels
093427bd70 Fixed accidental commit of distance/assertion check
[SVN r76017]
2011-12-17 12:36:04 +00:00
Barend Gehrels
4be8f12c77 Fixed (mostly multi)tests for wkt update
[SVN r76016]
2011-12-17 12:34:39 +00:00
Barend Gehrels
c369fb6ade unsigned int to satisfy gcc
[SVN r76015]
2011-12-17 12:33:16 +00:00
Mateusz Loskot
8fbb9b3655 Boost.Geometry:
* Catch up with r75977 changes with new layout of IO formats in geometry/io/<FORMAT>/ 
* General maintenance in tests and examples.

[SVN r75979]
2011-12-16 01:45:22 +00:00
Barend Gehrels
f4b27c2b7d Updated unit tests for convert (3D segment -> linestring) and updated values for 3D to avoid index-confusion
[SVN r75784]
2011-12-03 10:35:02 +00:00
Barend Gehrels
7491095e99 Updated unit tests for convert (segment_to_segment, 3D cases)
[SVN r75783]
2011-12-03 10:27:26 +00:00
Barend Gehrels
679191f951 Linestring/polygon overlay, unit tests for phase 9
[SVN r75689]
2011-11-27 12:07:34 +00:00
Barend Gehrels
301c4c27a3 Added box-to-box conversion (unit test)
[SVN r75687]
2011-11-27 11:07:32 +00:00
Barend Gehrels
88123b8ec8 Linestring/polygon overlay, unit tests for phase 8
[SVN r75683]
2011-11-27 10:27:47 +00:00
Barend Gehrels
b6673058ad Linestring/polygon overlay, unit tests for phase 7
[SVN r75671]
2011-11-26 17:32:34 +00:00
Barend Gehrels
0e50b5fbb5 Linestring/polygon overlay, unit tests for phase 6
[SVN r75575]
2011-11-20 14:55:09 +00:00
Barend Gehrels
1a399451a2 Linestring/polygon overlay, unit tests for third phase
[SVN r75565]
2011-11-20 11:56:59 +00:00
Barend Gehrels
5c62dfcf06 Linestring/polygon overlay, unit tests for second phase
[SVN r75556]
2011-11-19 16:39:56 +00:00
Barend Gehrels
54cf5f9553 Linestring/polygon overlay, unit tests for first phase
[SVN r75553]
2011-11-19 13:45:44 +00:00
Barend Gehrels
3f93792938 Added SQL statement to check the two testcases which were partly wrongly defined earlier
[SVN r75117]
2011-10-25 19:41:19 +00:00
Barend Gehrels
4636a65643 Fixed order-problem by avoiding argument reversion. See correspondence on GGL mailing list 2011/10/25 --> fixed testcase
[SVN r75116]
2011-10-25 19:34:47 +00:00
Mateusz Loskot
b46bc26858 [geometry] Restructured WKT io files to follow structure of: geometry/domains/<DOMAIN>/io/<FORMAT>/<read|write>.hpp
[SVN r75076]
2011-10-20 23:20:05 +00:00
Mateusz Loskot
90ce0fa3d1 [geometry] Moved util/write_dsv.hpp to io/dsv/write.hpp. This introduces refinement of new io structure: geometry/io/<FORMAT>/<read|write>.hpp
[SVN r75073]
2011-10-20 21:12:52 +00:00
Barend Gehrels
25a26d48c1 Bugfix (robustness issue) based on ticket ggl-list by Christophe, dated Aug 20, 2011
Phase 1, it still has to be reworked

[SVN r74170]
2011-08-30 21:16:50 +00:00
Barend Gehrels
9dc22e4a06 Added support for point-output
[SVN r74163]
2011-08-30 15:56:05 +00:00
Barend Gehrels
3d35336318 Support for Boost.Rational in intersection test (part 2)
[SVN r74149]
2011-08-30 11:01:17 +00:00
Barend Gehrels
ee1277dfa5 Added (simplex) test for intersection using Boost.Rational and reapplied test_pointer
[SVN r74148]
2011-08-30 10:49:35 +00:00
Barend Gehrels
4d540b5a1d Added self intersections performance test
[SVN r73600]
2011-08-07 16:48:21 +00:00
Barend Gehrels
be677ef5d1 Fixed traversal tests from last update
[SVN r73547]
2011-08-05 13:50:44 +00:00
Barend Gehrels
1e5ea77fbc Fixed union unit test (by commenting new test) for gcc
[SVN r73416]
2011-07-28 21:35:29 +00:00
Barend Gehrels
25c1e0265a Typo in comment
[SVN r73415]
2011-07-28 20:58:53 +00:00
Barend Gehrels
38188d36b4 Fixed bug reported by Akira T on [Boost-users] at 27-7-2011 3:17
[SVN r73414]
2011-07-28 20:57:46 +00:00
Barend Gehrels
778c3b878e Fixed convert for two array-types (which cannot be copied in non-MSVC)
[SVN r73327]
2011-07-24 10:25:53 +00:00
Barend Gehrels
080f7e78cb Updated convert tests
[SVN r73322]
2011-07-24 09:42:05 +00:00
Barend Gehrels
af9ff27313 Omitted one test for gcc/linux
[SVN r73320]
2011-07-24 09:26:17 +00:00
Barend Gehrels
c94bba95fe Changes intersection tests because output is unique now.
[SVN r73319]
2011-07-24 09:08:26 +00:00
Barend Gehrels
87a5200272 Two small fixes in unit tests for gcc/linux
[SVN r73317]
2011-07-24 08:39:34 +00:00
Barend Gehrels
9fbb3b2f36 Fix in double coordinates in test
Use type_tt in union test, added test for recent ticket

[SVN r73315]
2011-07-24 08:12:10 +00:00
Barend Gehrels
4fb4ab26b1 Updated tests reflecting changes for within/covered_by
[SVN r73179]
2011-07-17 12:28:21 +00:00
Barend Gehrels
ed5bcfffb4 Added mixed-types test for within
[SVN r73063]
2011-07-13 19:09:11 +00:00
Barend Gehrels
3a9fcc6028 Added tests for within_code
[SVN r72875]
2011-07-03 14:21:52 +00:00
Barend Gehrels
527b3dcce3 Fixed two issues related to last commit
[SVN r72858]
2011-07-02 15:36:37 +00:00
Barend Gehrels
06e1044fb8 Included case sent to list on 2011-06-27 by Phillip in intersection/union/difference testcases.
Added if_typed and if_typed_tt helper functions

[SVN r72857]
2011-07-02 14:58:53 +00:00
Barend Gehrels
0c5d976ce5 Added spherical test for within
Updated spherical test for area
Fixed spherical side test

[SVN r72294]
2011-05-30 20:58:09 +00:00
Barend Gehrels
f9233f3c52 Extended spherical area test
[SVN r72288]
2011-05-30 15:10:15 +00:00
Barend Gehrels
e20206ab23 Made side strategy consistent with distance etc (with services::default_strategy)
Updated test spherical_side.cpp now testing ssf, cross_track, cartesian

[SVN r72269]
2011-05-29 20:46:22 +00:00
Barend Gehrels
9da5cc5e3c Fixed two tests w.r.t. spherical polar/equatorial
[SVN r72235]
2011-05-27 22:34:19 +00:00
Barend Gehrels
5eb0739f08 Spherical coordinate systems: splitted into "polar" and "equatorial" with opposite (co)latitude
[SVN r72233]
2011-05-27 22:01:05 +00:00
Barend Gehrels
88050db7ae Removed define TEST_WITH_SVG from project files (for release version)
and commented auto-index (also for release version)

[SVN r72076]
2011-05-22 14:52:10 +00:00
Barend Gehrels
f1032d4927 Two small fixes in (multi)equals tests
[SVN r72061]
2011-05-21 13:52:11 +00:00
Barend Gehrels
2034b3afb7 Fixed geometry::equals for high precision - testcase
(in this fix also the case that very first point is redundant is fixed)

[SVN r72030]
2011-05-18 18:09:20 +00:00
Barend Gehrels
1dc67c1bf5 Removed references to std_as_linestring/ring/multi_point and c_array* and boost_array* because there are now macros for that
[SVN r71824]
2011-05-08 15:52:29 +00:00
Barend Gehrels
dbd742cbff Mention all geometry headerfiles explicitly in examples (according to doc)
[SVN r71821]
2011-05-08 14:38:45 +00:00
Barend Gehrels
445c89adfe Reflects changes in moving range_type/as_range/circular_iterator
[SVN r71812]
2011-05-08 11:57:37 +00:00
Barend Gehrels
fb45f37eec Reflects changes in moving range_type/as_range/circular_iterator
[SVN r71808]
2011-05-08 11:01:13 +00:00
Barend Gehrels
0fe54a1a8d Added test for box-in-box
[SVN r71722]
2011-05-04 20:41:17 +00:00
Bruno Lalande
d92dbecb6a Aligned adapted C array and Boost Array to the recent changes.
[SVN r71575]
2011-04-28 21:26:54 +00:00
Bruno Lalande
9f301828e8 Added a test for 5D linestring centroid.
[SVN r71451]
2011-04-23 22:33:06 +00:00
Bruno Lalande
fc68031c90 Removed adapted/tuple_<cs>.hpp files and added a macro to use instead.
[SVN r71448]
2011-04-23 22:26:50 +00:00
Barend Gehrels
ab5f5590e8 Added test for exception on invalid input.
Bugfix in one of the tests (77) which was indeed invalid

[SVN r71358]
2011-04-17 20:57:18 +00:00
Barend Gehrels
1e70d25b60 Added/updated doc/examples for assign/convert/convex_hull
[SVN r71322]
2011-04-16 13:17:50 +00:00
Barend Gehrels
140e86d76d Fixed partition.cpp test for no-svg
[SVN r71314]
2011-04-16 12:09:34 +00:00
Barend Gehrels
ab1f3473bd Removed convert from jamfile
[SVN r71312]
2011-04-16 11:55:43 +00:00
Barend Gehrels
a3c4ae751a Updated jam
[SVN r71310]
2011-04-16 11:32:52 +00:00
Barend Gehrels
2f4136058b Added omitted _rev
[SVN r71308]
2011-04-16 11:29:26 +00:00
Barend Gehrels
964f231e9b Reverted (manually) the move of convert to detail. It will stay.
Reversed arguments of assign (phase 1, therefore temporarily called "assign_rev" to avoid left occurances)


[SVN r71307]
2011-04-16 11:27:59 +00:00
Barend Gehrels
7f1b59fa64 Small doc update/fix
[SVN r71299]
2011-04-15 20:57:08 +00:00
Barend Gehrels
91f240188c Updated tests (assign -> assign_values)
[SVN r71213]
2011-04-12 20:14:55 +00:00
Barend Gehrels
1af9fe70f4 Changes in test/doc to reflect changes in assign
[SVN r71209]
2011-04-12 18:29:39 +00:00
Barend Gehrels
030f9e1d2e Moved convert to detail::convert
[SVN r71118]
2011-04-08 14:55:06 +00:00
Bruno Lalande
9a615d79d3 Generalized linestring centroid to nD.
[SVN r71027]
2011-04-06 06:56:16 +00:00
Barend Gehrels
85810e3132 Changes required for run without extensions for release
[SVN r70917]
2011-04-02 23:17:11 +00:00
Barend Gehrels
a01c615089 Made copyright notices in libs/geometry consistent
[SVN r70876]
2011-04-02 20:33:14 +00:00
Barend Gehrels
2c0378bccb Reflects renaming things
[SVN r70854]
2011-04-02 13:31:05 +00:00
Barend Gehrels
86422d59b5 Reflect changes on make/inserter
[SVN r70825]
2011-04-01 16:54:09 +00:00
Barend Gehrels
6653116f9a Updated test select_rings to support pathscale 4.0.8 (seems not accepting tuple_list_of)
[SVN r70669]
2011-03-28 19:12:09 +00:00
Barend Gehrels
3d058b87d7 Marked some tests as not being for Intel (for 600 s limit)
Added (commited) select_rings
Removed dissolver from solution
Added optional offset for interior_triangles.cpp


[SVN r70582]
2011-03-26 18:48:23 +00:00
Barend Gehrels
01bf7a9be1 Refactored to not use overlay (for intel compilers / Boost.Trunk regression report)
[SVN r70581]
2011-03-26 18:39:02 +00:00
Barend Gehrels
5602737fc3 Big structural change in traverse w.r.t. Intel in Boost.Trunk summary status report
[SVN r70129]
2011-03-18 16:10:39 +00:00
Barend Gehrels
31d62e18ef Skip test/float for gcc systems, w.r.t. Boost.Trunk summary test report
[SVN r70127]
2011-03-18 15:32:37 +00:00
Barend Gehrels
9d68c93eaa Updates in test for partition addition
[SVN r69944]
2011-03-13 14:48:00 +00:00
Barend Gehrels
0aa0a8f9e4 Added unit-test for detail/partition
[SVN r69918]
2011-03-13 12:06:58 +00:00
Barend Gehrels
6590f01689 Renamed combine to expand, part 2: test, doc and examples
[SVN r69917]
2011-03-13 11:10:27 +00:00
Barend Gehrels
c1b1b4a6c7 Moved wkt (used in nearly all tests) from extension to domains tree for release
[SVN r69906]
2011-03-12 23:53:18 +00:00
Barend Gehrels
7595e454f0 Added old tests, now updated, to robustness suite to check if performance stays satisfactory
[SVN r69860]
2011-03-11 22:15:16 +00:00
Barend Gehrels
26b8777a67 Updated difference for float, now small zero-area triangle discarded
[SVN r69840]
2011-03-11 11:43:42 +00:00
Barend Gehrels
d662cda065 Added test for fix of robustness problem for case called "ggl_list_20110306_javier"
[SVN r69612]
2011-03-06 21:20:49 +00:00
Barend Gehrels
1f69fc31bf Refreshed intersection_stars.cpp as well now, with program_options and overlay_p_q
[SVN r69604]
2011-03-06 13:38:37 +00:00
Barend Gehrels
85993c5411 Added program_options to both intersection_pies.cpp and random_ellipses_stars.cpp now
Changed difference-test into a setting instead of a define


[SVN r69603]
2011-03-06 13:15:08 +00:00
Barend Gehrels
252b3dd94b Small addition/update in examples
Updated various intersection tests

[SVN r69585]
2011-03-05 22:28:20 +00:00
Barend Gehrels
ee47eed9c1 Relaxed tolerance of one test for boost trunk summary / different compilers
[SVN r69571]
2011-03-04 22:05:16 +00:00
Barend Gehrels
251642e5b3 Added tests for empty polygons in intersection,union,difference
Added testfiles for multi_difference.cpp, multi_transform.cpp
Added program options in robusness tests


[SVN r69570]
2011-03-04 21:43:58 +00:00
Barend Gehrels
aa9b9e4234 Added many tests for difference
Removed obsoleted copy.cpp

[SVN r69515]
2011-03-03 11:33:39 +00:00
Barend Gehrels
27a508db0f ifdefed ttmath in test_areal
[SVN r69339]
2011-02-27 17:29:22 +00:00
Barend Gehrels
b7be230f14 Added ttmath_big for:
append,assign,buffer,comparable_distance,convert,correct,disjoint,distance,envelope,for_each,make,reverse,simplify,transform,unique
  plus all vcproj files


[SVN r69336]
2011-02-27 16:27:57 +00:00
Barend Gehrels
dcadaa7bb7 Changed inclusion order for gcc
[SVN r69259]
2011-02-24 22:50:27 +00:00
Barend Gehrels
f3ee8984ef Testcases for difference, assign, append
[SVN r69254]
2011-02-24 22:32:00 +00:00
Barend Gehrels
4badcdc600 Moved dissolve to extension
Fixed extensions connect/offset tests for gcc 



[SVN r69086]
2011-02-20 18:18:10 +00:00
Barend Gehrels
034bc775df Renamed container_access to mutable_range
[SVN r69075]
2011-02-20 13:10:46 +00:00
Barend Gehrels
0966e4d870 Added tests for num_{points, geometries, interior_rings}
[SVN r68805]
2011-02-12 15:29:43 +00:00
Barend Gehrels
1f18baf96a Added test namespace
[SVN r68705]
2011-02-07 21:51:46 +00:00
Barend Gehrels
2c0540341a Changes related to mutable polygon concept
[SVN r68697]
2011-02-07 18:55:36 +00:00
Barend Gehrels
e0a240b770 Renamed linear_ring to ring (linear_ring is still available)
[SVN r68387]
2011-01-23 16:20:01 +00:00
Barend Gehrels
32d95d3d8e Doc update
Renamed area_by_triangles.hpp to area_surveyor.hpp because most files are named to their inventor or formula


[SVN r68370]
2011-01-22 18:51:45 +00:00
Steven Watanabe
d234480b24 Revert [67111] (addition of boost/detail/iomanip.hpp) and all the commits that depend on it. ([68137], [68140], [68141], [68154], and [68165]).
[SVN r68168]
2011-01-15 08:11:51 +00:00
Bryce Adelstein-Lelbach
dff17a97aa Replacing the use of <iomanip> with <boost/detail/iomanip.hpp> across Boost.
On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags. 



[SVN r68140]
2011-01-14 02:35:58 +00:00
Barend Gehrels
0c302b2037 Inspect tool report update (test/examples)
[SVN r67631]
2011-01-03 18:27:48 +00:00
Barend Gehrels
97f2e9a158 Update testcases for difference
Removed todo for dissolve, it is solved now


[SVN r67488]
2010-12-29 13:59:09 +00:00
Barend Gehrels
b4e047f371 Added test for box/box -> box intersection
[SVN r67474]
2010-12-28 16:40:15 +00:00
Barend Gehrels
e1a18db770 Small cleanup
[SVN r67417]
2010-12-22 22:00:10 +00:00
Barend Gehrels
e5946e5068 Updated more tests to "open-ness"
[SVN r67414]
2010-12-22 17:45:14 +00:00
Barend Gehrels
a1963d328a Added multi/closure.hpp
Added point_order/closure/difference to robustness tests (partly)

[SVN r67397]
2010-12-21 21:44:38 +00:00
Barend Gehrels
caa3a8f5d3 Renamed recursive_boxes.cpp to recursive_polygons.cpp because they are not (necessarily) boxes anymore
[SVN r67391]
2010-12-21 19:27:31 +00:00
Barend Gehrels
710d24b44d Update testcases to ccw
Added point_order to some multi-testcases, now explicitly necessary

[SVN r67375]
2010-12-20 21:33:48 +00:00
Barend Gehrels
43682f9029 Updates in test, cases for box/ccw are handled now
[SVN r67322]
2010-12-19 12:19:10 +00:00
Barend Gehrels
220db49460 Test: renamal get_full_section -> range_by_section
[SVN r67313]
2010-12-18 21:57:09 +00:00
Barend Gehrels
e672af1e8f Updated tests for new reverse behaviour
[SVN r67304]
2010-12-18 17:04:45 +00:00
Barend Gehrels
1f90af482d Updated polygon.hpp, ring_type is now reference because it returns a reference to its rings
Updated many test files to avoid point_2d
Updated boost.polygon adaption

[SVN r67178]
2010-12-11 15:51:38 +00:00
Barend Gehrels
1c8fce3059 model namespaces, moved point_xy to d2::point_xy, revised point_ll_deg to ll::point<degree>
[SVN r66975]
2010-12-02 16:10:47 +00:00
Barend Gehrels
e4f47a7a25 Major update:
Adaptions to test with respect to new namespace model
Removed GMP/CLN and, where it was present, replaced by TTMATH
Small fix in comparable_distance test
All testfiles use bg as alias now

[SVN r66811]
2010-11-28 13:28:09 +00:00
Barend Gehrels
0ee1d44707 Added multi-polygon self-tangent pie-test
Added test-cases for these

[SVN r66580]
2010-11-14 21:06:57 +00:00
Barend Gehrels
c95747492c Removed define TTMATH
[SVN r66565]
2010-11-14 08:15:04 +00:00
Barend Gehrels
e71fb07566 Assemble/traverse/enrich: complete update for handling self tangencies
-> added many testcases

Various updates in testcases for support of open polygons
recursive_boxes.cpp, added triangles as well (dropped corner)

[SVN r66450]
2010-11-08 10:32:23 +00:00
Barend Gehrels
770eeb35ec removed one test from dissolve not running on gcc
[SVN r65942]
2010-10-13 14:42:26 +00:00
Barend Gehrels
d262e99aea Fixed dissolve and added to jamfile
[SVN r65941]
2010-10-13 14:38:56 +00:00
Barend Gehrels
d36962b53d Refreshed get_turns: removed is_multi, moved pieces to implementation, shared things, implemented for multi
Made orientation for linear intersections flexible (because doesn't care)
There is now clipping (intersection box/geometry) for multi_polygon and multi_linestring


[SVN r65938]
2010-10-13 13:45:54 +00:00
Barend Gehrels
8fc78a88b4 Fixed traverse test
[SVN r65933]
2010-10-12 20:51:29 +00:00
Barend Gehrels
71d48da6e0 Implemented box with reverse polygon overlay
[SVN r65932]
2010-10-12 20:27:49 +00:00
Barend Gehrels
144e54d482 Silenced gcc warnings
[SVN r65924]
2010-10-12 13:17:09 +00:00
Barend Gehrels
8f86439655 Implemented ccw, plus check on areal feature, to union, conform intersection
Splitted assemble.hpp into get_ring.hpp, convert_ring.hpp, add_to_containment.hpp, overlay.hpp, assemble.hpp
Added some other mpl asserts



[SVN r65923]
2010-10-12 13:04:45 +00:00
Barend Gehrels
6564152e98 Finished ccw implementation of intersection
Added mpl assert for correct, if not implemented
Restructured intersection.cpp unit test to support cw


[SVN r65920]
2010-10-12 10:39:09 +00:00
Barend Gehrels
7a844d9dec Added algoritms/overlay/.Jamfile
[SVN r65914]
2010-10-11 16:32:26 +00:00
Barend Gehrels
51610518b1 Replaced ignore field by ignore method for swapping operations (for counter clockwise)
Added test/algorithms/overlay/ccw_traverse.cpp to test counterclockwise polygon overlays
Added test/algorithms/overlay to standards Jamfile.v2
Moved some testcases to overlay_cases.hpp
Some warning removals in test cases

[SVN r65913]
2010-10-11 16:18:51 +00:00
Barend Gehrels
d92605e4f0 Doc update
Renamed snippet to example
Added additional distinguishing qbk option
Some doc fixes

[SVN r65322]
2010-09-06 16:26:04 +00:00
Barend Gehrels
2d141c7857 Added testcases for intersections outputting points, disjoint segment/linestring, updated Doxygen file
[SVN r65256]
2010-09-04 15:28:27 +00:00
Barend Gehrels
9cd71226df clip_linestring: renamed linestring to range (for support segments)
added distance checks
added mpl assertions
added intersection segment/box
renamed "segment_iterator" to "segment_returning_iterator" to be able to reuse that name later on


[SVN r64505]
2010-07-31 18:41:31 +00:00
Barend Gehrels
80531061b6 Added support for distance point/open ring
[SVN r64416]
2010-07-28 20:29:19 +00:00
Barend Gehrels
718f431b2a Added point-ring distance plus testcase
[SVN r64414]
2010-07-28 18:07:06 +00:00
Barend Gehrels
b6444b5475 Fixed old issue that only geometry::segment could be used in distance
Splitted custom segment, moved to separate header

[SVN r64115]
2010-07-17 20:59:30 +00:00
Barend Gehrels
db53e722db Removed traits::append_point.
The library now used std::back_insert_iterator everywhere

[SVN r64113]
2010-07-17 20:26:29 +00:00
Barend Gehrels
33b785b225 Removed "use_std" for linestring / linear_ring because it is not necessary. Default now does "push_back", specialization possible
Plus necessary changes for this.
Also moved stuff from test distance to test_distance.hpp

[SVN r64095]
2010-07-17 14:02:12 +00:00
Barend Gehrels
8cf84e37b6 Added Point-Point strategy to default_strategy for Point-segment
Added some MPL assertions
Updated distance tests

[SVN r64087]
2010-07-17 10:46:25 +00:00
Barend Gehrels
bf45a7c988 strategy_distance is now better named to services::default_strategy (with version for point and segment)
strategy_tag is now services::tag everywhere


[SVN r63634]
2010-07-04 21:29:06 +00:00
Barend Gehrels
7bb11ad3f0 Added comparable_distance
Removed geometry::math::pi, now using boost::constants::pi
Solved abs/std::abs issues (2)


[SVN r63593]
2010-07-04 13:26:08 +00:00
Barend Gehrels
c125309514 Fix in new abs approach for transform (unit sphere forwards/backwards was not exactly 1.000 by rounding errors)
[SVN r63591]
2010-07-04 12:44:42 +00:00
Barend Gehrels
73a2d3d286 Fixed for gcc
[SVN r63584]
2010-07-04 10:29:08 +00:00
Barend Gehrels
9c23118c37 Added non-const version of get_section
Major changes in distance strategies
Changed double from simplify to template parameter
Added a promote_floating_point
Added a fp_coordinate_type
Added namespaced point in custom example
Added mpl assertion in overlaps (should be done in most algorithms by default)
Added high precision test for various distance algorithms

[SVN r63579]
2010-07-04 10:01:10 +00:00
Barend Gehrels
8e9dfdf3e6 Moved order/closure outside dispatches, not necessary there / more overhead
Implemented order/closure in within


[SVN r62175]
2010-05-24 17:03:41 +00:00
Barend Gehrels
5fb11344e4 Corrected closure for area
Added closure for centroid
Modified/fixed closing iterator (didn't compile for MSVC 2010)


[SVN r62172]
2010-05-24 13:54:32 +00:00
Barend Gehrels
068c2fa90a Added closed / closure
Updated jamfiles

[SVN r62170]
2010-05-24 09:07:05 +00:00
Barend Gehrels
da5e753d62 Updated paths
Added ccw test for area

[SVN r61707]
2010-04-30 14:58:07 +00:00
Barend Gehrels
1108f3cab3 Move overlay -> detail/overlay phase 2, moving files and adapting includes
[SVN r61544]
2010-04-24 16:57:53 +00:00
Barend Gehrels
a006f1026d Moved buffer to extensions (in test)
[SVN r61534]
2010-04-24 14:16:09 +00:00
Barend Gehrels
9b1c242187 vcproj fixes
extension fixes (in tests, in nsphere headers)



[SVN r61528]
2010-04-24 12:13:05 +00:00
Barend Gehrels
5ce9286957 vcorivcproj changes
bugfix in test/algorithms/overlay/robustness


[SVN r61513]
2010-04-23 21:15:08 +00:00
Barend Gehrels
6327031546 Last changes in buffer before moving it to extensions
Changes in dissolver/split rings

Added extensions/offset
Added const behaviour for for_each_coordinate

Aded reverse test for intersection

[SVN r61508]
2010-04-23 15:51:13 +00:00
Barend Gehrels
765060bf5a Fixed multi_dissolve using new dissolver
Dissolve now outputs, normally, to a vector of the original geometry, or, in case of a multi, to its single type. Like union and intersection
Implemented multi_dissolve for not-connected linestrings
Fixed some accidental tabs from testcases

[SVN r61036]
2010-04-04 11:10:26 +00:00
Barend Gehrels
158d3424c2 Added tests for buffer
Added test for remove_spikes
Small changes in tests for differences, sectionalize
Enhanced write_svg in the sense that .x()/.y() are removed, plus using max to avoid empty nonvisible boxes


[SVN r61020]
2010-04-03 13:39:20 +00:00
Barend Gehrels
6b0a209988 Moved sectionalize/get_section to detail/sections/
[SVN r60644]
2010-03-16 11:41:19 +00:00
Barend Gehrels
8b123014fa Added some tests on equality
[SVN r60593]
2010-03-14 22:23:28 +00:00
Barend Gehrels
04135a18c3 Added/updated tests for dissolve
[SVN r60579]
2010-03-14 14:31:21 +00:00
Barend Gehrels
9d6ce22c6d Added tests for reverse/unique
[SVN r60550]
2010-03-13 11:44:08 +00:00
Barend Gehrels
c74eb479c4 Added 05 overlay examples
Added difference tests
Updated some overlay tests

[SVN r60000]
2010-02-28 21:16:56 +00:00
Barend Gehrels
7a85b4c1f9 Moved rejected to the operation level, now state of visited
This solves cases 56/57. 55 still to be solved

[SVN r59806]
2010-02-21 12:38:45 +00:00
Barend Gehrels
c8a867d24e Removed warnings for gcc 4.2.4
[SVN r59803]
2010-02-21 09:22:13 +00:00
Barend Gehrels
51c55ffbf9 Added namespaces for svg_mapper in testfiles
[SVN r59802]
2010-02-21 09:12:09 +00:00
Mateusz Loskot
cb02a96518 Geometry: Updated union test case of Isovist with expected number of points for type 'd'. Corrected signed vs unsigned cast in comparison
[SVN r59791]
2010-02-20 20:30:11 +00:00
Barend Gehrels
eeef35e569 Renamed GGL/Geometry in some testfiles
[SVN r59786]
2010-02-20 16:58:38 +00:00
Barend Gehrels
5f6e73bc33 Silenced warnings
[SVN r59776]
2010-02-20 15:47:52 +00:00
Barend Gehrels
cead073c84 Added libs/geometry/test folder with many tests
[SVN r59773]
2010-02-20 15:03:37 +00:00