Commit Graph

74 Commits

Author SHA1 Message Date
Barend Gehrels
28eb87b402 [intersection] remove segment_ratio_type in most of the cases,
and where they are still used, its definition is changed making use
of the tags now available, and moving it to detail. It is to be
deprecated
2019-08-21 17:15:12 +02:00
Barend Gehrels
861fc38533 [TEST] Unify different defines into BOOST_GEOMETRY_TEST_ENABLE_FAILURES 2019-05-29 15:48:44 +02:00
Barend Gehrels
11844b6b74 [test] extend visitor with traversal information 2015-12-06 19:21:50 +01:00
Barend Gehrels
90485acf79 Merge branch 'develop' into feature/fix_tangencies 2015-12-06 17:45:12 +01:00
Adam Wulkiewicz
b1f31d12dd [test][traverse] Add failing case. 2015-12-03 10:39:28 +01:00
Barend Gehrels
cf42d0d08d [test] add simpler version of case_108_muli as single version, with
missing intersection point
2015-11-30 23:09:32 +01:00
Barend Gehrels
9230c3f142 [traverse][test] updates test svg 2015-11-21 19:03:19 +01:00
Barend Gehrels
a0ac004a84 [test] investigating case #58 failing for intersection,
adding simplified versions of #58, some failing, some correct
2015-11-11 11:46:38 +01:00
Barend Gehrels
c1aeab008b [enrich] add overlay_type template parameter
which will be used later
2015-10-31 19:35:18 +01:00
Barend Gehrels
e764179a41 [test] update traverse unit test, using overlay_type instead of
operation_type
2015-10-31 19:06:26 +01:00
Adam Wulkiewicz
c372b628d1 [overlay] Update expected test results, syncronize with the change in rescale policy (rounding). 2015-06-25 17:28:57 +02:00
Menelaos Karavelas
29c460b546 [test][algorithms] remove deprecated includes referring to the
include/boost/geometry/multi/ directory; polish and simplify some includes;
2015-03-12 02:10:14 +02:00
Adam Wulkiewicz
aff82800c4 [test][algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:50 +01:00
Adam Wulkiewicz
188b1c3e48 [test] Fix unused typedef warnings 2014-06-03 16:20:11 +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
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
Barend Gehrels
ffb1b8af61 [geometry] Fixed traverse testcase 2014-02-19 11:19:10 +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
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
5f87dfcd3b [geometry] Unit test traverse, added debug info 2014-01-08 13:51:49 +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
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
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
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
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
edca638dfc [geometry] Moved SVG from extensions to main tree, to release it
[SVN r84233]
2013-05-11 12:27:43 +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
61844d7bf2 [geometry] Fix ticket 7462, (unit tests)
[SVN r83482]
2013-03-17 21:31:21 +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
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
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
532007c6ab [geometry] updated test for robustness issue found
[SVN r77305]
2012-03-11 18:12:46 +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
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
61874e2c40 Updated copyrights 2010->2012
[SVN r76442]
2012-01-12 20:58:20 +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
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
Barend Gehrels
be677ef5d1 Fixed traversal tests from last update
[SVN r73547]
2011-08-05 13:50:44 +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