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
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
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
Adam Wulkiewicz
4f07087db5
[geometry] handled more cases in relate(Ls, Ls)
2013-12-22 04:00:15 +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
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
Bruno Lalande
dffb4db8ce
Break circular dependency get_turns->disjoint->covered_by->within->get_turns
2013-12-21 00:49:16 +00:00
Adam Wulkiewicz
02a32dee32
[geometry] relate code divided into several files
2013-12-21 00:55:22 +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
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
Adam Wulkiewicz
2462177a7c
[geometry] changed point_in_geometry behaviour for 1-point linestring - treated like point - not within
2013-12-16 00:54:36 +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
Adam Wulkiewicz
8f5aa8f236
[geometry] 2-parameter touches() properly dispatched for non-areal geometries, fixed sub_geometry::get() for multi geometries - const correctness
2013-12-15 03:43:07 +01:00
awulkiew
1016b34992
README: used H1 for logo
2013-12-14 21:25:42 +01:00
awulkiew
fe7998c555
README: removed ./ from the logo path
2013-12-14 21:09:48 +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
Adam Wulkiewicz
b05fe92549
[geometry] fixed multi within and covered_by - new namespace hierarchy (point_in_geometry)
2013-12-14 19:43:27 +01:00
Adam Wulkiewicz
39484599bc
[geometry] recently added detail::XXX::YYY_dispatch structs moved/renamed to detail_dispatch::XXX::YYY
2013-12-14 19:34:54 +01:00
Adam Wulkiewicz
bc0dee97d2
[geometry] not_implemented used instead of MPL_ASSERT in point_in_geometry and sub_geometry
2013-12-14 19:11:55 +01:00
Adam Wulkiewicz
4fca624a32
Merge branch 'develop' of github.com:boostorg/geometry into develop
2013-12-14 17:16:13 +01:00
Adam Wulkiewicz
5940d4acb8
[geometry] parameters names changed in within_no_turns
2013-12-14 17:15:08 +01:00
Adam Wulkiewicz
dca7cb060d
[geometry] parameters names changed in point_in_geometry
2013-12-14 17:06:06 +01:00
Barend Gehrels
a77aef8d16
Merge branch 'develop' into rescale_to_integer
2013-12-14 16:54:04 +01:00
Barend Gehrels
ce38ea7072
[geometry] Adapted buffer for recent changes in within
2013-12-14 16:52:47 +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
awulkiew
6e5d7ec6cd
README: added info about the extensions (develop branch)
2013-12-14 12:27:33 +01:00
awulkiew
428502a85d
Logo path changed to relative in README.md
2013-12-14 11:59:36 +01:00
Adam Wulkiewicz
7d2da007d3
Merge branch 'develop' of github.com:boostorg/geometry into develop
2013-12-14 04:02:50 +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
awulkiew
a14ab691ce
Create README.md
2013-12-12 14:22:14 +01:00
Adam Wulkiewicz
f2772bc599
[geometry][doc]: added new logo
2013-12-12 04:36:14 +01:00