55 Commits

Author SHA1 Message Date
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
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
Barend Gehrels
2521ce2193 Moved GEOS testcases from traverse to union/intersection/difference 2014-03-30 14:54:24 +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
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
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
831302112e [geometry] Added testcases or changed precisions in a few cases 2014-01-08 13:51:19 +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
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
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
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
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
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
604bb60f17 Boost.Geometry doc updates
[SVN r76963]
2012-02-10 19:52:53 +00:00
Barend Gehrels
e6cdc34cc6 Added multi/.../wkt
[SVN r76440]
2012-01-12 20:42:30 +00:00
Barend Gehrels
7cb0ae96fd Boost.Geometry update copyright -> 2012
[SVN r76390]
2012-01-09 21:56:08 +00:00
Barend Gehrels
4be8f12c77 Fixed (mostly multi)tests for wkt update
[SVN r76016]
2011-12-17 12:34:39 +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
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
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
c94bba95fe Changes intersection tests because output is unique now.
[SVN r73319]
2011-07-24 09:08:26 +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
dbd742cbff Mention all geometry headerfiles explicitly in examples (according to doc)
[SVN r71821]
2011-05-08 14:38:45 +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
86422d59b5 Reflect changes on make/inserter
[SVN r70825]
2011-04-01 16:54: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
26b8777a67 Updated difference for float, now small zero-area triangle discarded
[SVN r69840]
2011-03-11 11:43:42 +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
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
034bc775df Renamed container_access to mutable_range
[SVN r69075]
2011-02-20 13:10:46 +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
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