Barend Gehrels
3eadfb2549
[geometry] Comment change
2014-01-18 21:33:10 +01:00
Barend Gehrels
7d8342093a
[geometry] Removed unnecessary includes
2014-01-18 21:32:45 +01:00
Barend Gehrels
e76936025c
[geometry] Bugfix get point-type instead of segment-type
2014-01-18 21:32:19 +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
683267e3e5
[geometry] Bugfix in new code, arrival value should be -1 if not on segment
2014-01-16 18:46:03 +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
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
Barend Gehrels
fd781b79d5
[geometry] Rescale to integer: changed types to make them consistent
...
w.r.t. integer/float input points. IP calculation is now always based on
ratios.
2014-01-08 13:47:18 +01:00
Barend Gehrels
cd0ec07f64
[geometry] Minor - pass ringtype separately
...
(further this change was part of a non-committed change)
2014-01-08 13:26:00 +01:00
Bruno Lalande
6646a16d7f
Added strategy resolution stage to transform algorithm.
2014-01-05 17:53:08 +00:00
Bruno Lalande
1d561e58bd
Merge branch 'feature/variants' into develop
2014-01-05 17:10:40 +00:00
Bruno Lalande
8d58aaf8b9
Made touches (1 param version) variant aware.
2014-01-05 15:54:14 +00: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
6cb50fdbfc
Merge branch 'feature/variants' into develop
2013-12-26 12:45:50 +00:00
Bruno Lalande
ea3cf83bf8
Fixed how resolve_strategy::simplify_insert is called from the public functions
2013-12-24 22:27:38 +00:00
Bruno Lalande
4919e00e2d
Made simplify variant-aware
2013-12-24 22:15:15 +00:00
Bruno Lalande
2ddcf5dccf
Added resolve_strategy stage for simplify_insert.
2013-12-23 12:19:25 +00:00
Bruno Lalande
5e946a1c1e
Added resolve_strategy stage for simplify.
2013-12-22 23:18:29 +00: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
2c2c384652
[geometry] Remove sanity check as planned
2013-12-22 13:43:55 +01:00
Barend Gehrels
50f8696aaf
[geometry] Let has_intersections also rescale
2013-12-22 13:42:51 +01:00
Barend Gehrels
e871436e30
[geometry] Slightly increased tolerance for the r.e.s. test
2013-12-22 10:56:49 +01:00
Barend Gehrels
f467f6ff31
[geometry] Avoid using Boost.Rational for all comparisons
...
Only if values are close, we resort to Boost.Rational (for int) for exact comparisons.
This avoids most conversions.
2013-12-21 17:58:59 +01:00
Barend Gehrels
0333e7c313
[geometry] replaced boost::rational with segment_ratio which is more specialized for our needs.
...
segment_ratio contains specific methods (on a segment the ratio is [0..1]) and
can be based on double or float too (Boost.Rational cannot do that).
Boost.Rational is still used under the hood for comparisons (which will be
made more efficient later)
2013-12-21 17:35:44 +01:00
Bruno Lalande
dffb4db8ce
Break circular dependency get_turns->disjoint->covered_by->within->get_turns
2013-12-21 00:49:16 +00:00
Barend Gehrels
ef3992a921
[geometry] big cleanup removed old code from cart_intersect
2013-12-20 19:10:42 +01:00
Barend Gehrels
b00311f502
[geometry] Removed (need for) arrangment and moved disjoint.
...
Disjoint is now based on ratios too. All is now based on ratios, greatly
simplifying the original code with many lines and conditions.
2013-12-20 19:06:05 +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
e3893d31ea
[geometry] Modified #clips, caused by fix in touch
...
(note: this was modified to 4 in 9a9efcff89 ,
18 dec 19:19:10 so this is effectively a reversal)
2013-12-19 22:43:26 +01:00
Barend Gehrels
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
06b03d534c
[geometry] Let rescale derive from not_implemented as is new style
2013-12-19 22:36:38 +01:00
Barend Gehrels
f3d1fb4736
[geometry] Bugfix in rescaling, points may not be const& (of course)
...
They were initialized from local variables and returned
2013-12-19 22:35:54 +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