53 Commits

Author SHA1 Message Date
Barend Gehrels
2521ce2193 Moved GEOS testcases from traverse to union/intersection/difference 2014-03-30 14:54:24 +02: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
8d202fd319 [geometry] Verified compatibility with/without robust rescaling
We now have the define BOOST_GEOMETRY_NO_ROBUSTNESS to avoid rescaling
(probably should be renamed)
2014-02-12 11:45:02 +01:00
Barend Gehrels
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
831302112e [geometry] Added testcases or changed precisions in a few cases 2014-01-08 13:51:19 +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
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
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
Barend Gehrels
d988e1ac93 [geometry] Work in progress: rescaling to robust-type
A robust type is integer for float/double. The rescaled points will only
be used for side-information and equality and distance-comparisons, not
to calculate the intersection points themselves.
Currently the code is #ifdefed
2013-12-14 13:25:46 +01:00
Barend Gehrels
3e5333a8c4 [geometry] Remove all trailing spaces (tests) 2013-12-05 19:38:32 +01:00
Barend Gehrels
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
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
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
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
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
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
72f3b3f18e [geometry] test cases for #buffer_mp1 and #buffer_mp2, see previous two commits
[SVN r83476]
2013-03-17 16:34:55 +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
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
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
7c57b7bae7 Boost.Geometry pending unit test change
[SVN r76965]
2012-02-10 20:46:08 +00:00
Barend Gehrels
7cb0ae96fd Boost.Geometry update copyright -> 2012
[SVN r76390]
2012-01-09 21:56:08 +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
1e5ea77fbc Fixed union unit test (by commenting new test) for gcc
[SVN r73416]
2011-07-28 21:35:29 +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
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
dbd742cbff Mention all geometry headerfiles explicitly in examples (according to doc)
[SVN r71821]
2011-05-08 14:38:45 +00:00
Barend Gehrels
a01c615089 Made copyright notices in libs/geometry consistent
[SVN r70876]
2011-04-02 20:33:14 +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
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
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
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
e0a240b770 Renamed linear_ring to ring (linear_ring is still available)
[SVN r68387]
2011-01-23 16:20:01 +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
43682f9029 Updates in test, cases for box/ccw are handled now
[SVN r67322]
2010-12-19 12:19:10 +00:00
Barend Gehrels
e672af1e8f Updated tests for new reverse behaviour
[SVN r67304]
2010-12-18 17:04:45 +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
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
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