Commit Graph

1233 Commits

Author SHA1 Message Date
Barend Gehrels
bb60749540 [geometry] Use fraction instead of distance for "follow" and enrichment 2014-02-12 16:36:58 +01:00
Barend Gehrels
02deb84786 [geometry] Fixes for new MSVC issues 2014-02-12 12:54:26 +01:00
Barend Gehrels
2a85b339f1 [geometry] Fix compile errors w.r.t. changed turn_info in touches 2014-02-12 12:14:23 +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
664bd2b488 [geometry] Rescaling, build-fixes, changed assert's in conditions,
comment changes, handle_tangencies: now skip overlap_info
2014-02-12 11:43:50 +01:00
Barend Gehrels
f3147001b5 [geometry] Splitted file rescale.hpp into different files:
segment_ratio_type
robust_point_type
no_rescale_policy
2014-02-11 23:08:32 +01:00
Barend Gehrels
f6ce9e2c91 [geometry] Moved robustness policies to policies folder
Also added unit-test to develop/test behaviour of different policies
2014-02-09 19:29:01 +01:00
Barend Gehrels
547ed12024 [geometry] Changes for segment_ratio
Removed as default parameter, removed default type-defs for robust_point_type
and for segment_ratio_type
2014-02-09 19:05:40 +01:00
Barend Gehrels
83703aac99 [geometry] removed/changed comment 2014-02-06 22:28:01 +01:00
Barend Gehrels
99b3e8a24d [geometry] Allow different types for Cramers rule 2014-02-06 22:27:15 +01:00
Barend Gehrels
03c8f6822f [geometry] explicitly specify SegmentRatio type for turn_info 2014-02-06 22:26:55 +01:00
Barend Gehrels
7c6ba53e59 [geometry] Added RescalePolicy (to get SegmentRatio) to strategy_intersection
Some creations/instances of rescale policy had therefore to be moved
2014-02-05 14:06:00 +01:00
Barend Gehrels
1b23e260d5 [geometry] Removed commented unused code 2014-02-05 14:02:07 +01:00
Barend Gehrels
05e9c7905d [geometry] Use side strategy only in relative order
(preparing next commit changing strategy_intersection)
2014-02-05 14:01:50 +01:00
Barend Gehrels
24a11fe984 [geometry] Added comparisons for segment_ratio's based on float 2014-02-05 11:37:13 +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
41f9c94e31 [geometry] Fixed unit test for collinear intersections w.r.t new parameters 2014-01-19 22:33:58 +01:00
Barend Gehrels
9dd4eaff7f [geometry] Use segment_ratio_type metafunction in handle_tangencies,
disjoint, add policy_type to intersection strategy with 2 segments
2014-01-19 22:13:52 +01:00
Barend Gehrels
011815a80d [geometry] Extracted segment_ratio_type as a metafunction
just like robust_point_type
2014-01-19 22:02:01 +01:00
Barend Gehrels
9ea637265e [geometry] Merged rescale policy and (rudimentary) robustness policy.
We should decide how we call this thing (probably RobustnessPolicy as it
decides for types, ratio-types, rescaling and other behaviour related to
robustness)
2014-01-19 15:34:15 +01:00
Barend Gehrels
c7111355cc [geometry] Made SegmentRatio a template parameter as was intended.
Still TODO: it should come from a robustness-policy
2014-01-19 15:06:07 +01:00
Barend Gehrels
ca6280c9af [geometry] Added (probably temporary) comment 2014-01-19 14:48:55 +01:00
Barend Gehrels
2851b50fc3 [geometry] Removed now redundant template parameters from segment-intersection
strategies.
2014-01-19 14:48:39 +01:00
Barend Gehrels
fe207c73da [geometry] Removed now unused method 2014-01-19 14:40:35 +01:00
Barend Gehrels
482c9a3a62 [geometry] Added static assert 2014-01-18 21:33:20 +01:00
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
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
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
Bruno Lalande
cfba8409c5 Made transform variant-aware. 2014-01-09 09:09:56 +00: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
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
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
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