Commit Graph

8536 Commits

Author SHA1 Message Date
Adam Wulkiewicz
1da9113046 [relate][get_turns] Support spikes for Linear in relate(L/A). Fix errors in get_turns for L/L and L/A.
relate_linear_areal:
handle non-endpoint x-c turns pair generated for a collinear spike.

relate/follow helpers:
fix turn_on_the_same_ip to use fraction instead of dimension.

get_turns:
L/L and L/A - use base_turn_handler::assign_point() to set fractions properly for collinear-opposite spikes.
L/A - fix the condition in calculate_spike_operation() used to check if a spike goes into the interior or exterior.
2014-04-24 23:49:36 +02:00
Barend Gehrels
30f4bd08b0 [overlay] removed unused distance_type 2014-04-24 22:35:34 +02:00
Barend Gehrels
2455677196 [intersect] Make calculations similar form, added const 2014-04-24 22:31:27 +02:00
Barend Gehrels
6bc9252c6a [intersect] Removed unused calculation 2014-04-24 22:30:45 +02:00
Barend Gehrels
d11d84c10d [intersect] Removed debug statements and adapted comments 2014-04-24 22:30:13 +02:00
Adam Wulkiewicz
b4b902ac85 [get_turns] Add the support for spikes for Linear Geometry in get_turns_linear_areal 2014-04-24 18:41:37 +02:00
Adam Wulkiewicz
5412c3bcf2 [strategies] remove register keyword 2014-04-24 11:41:07 +02:00
Adam Wulkiewicz
5d90c2449d Merge branch 'develop' into feature/relate 2014-04-24 02:00:22 +02:00
Adam Wulkiewicz
10ed56670d Merge pull request #17 from mkaravel/develop
[recalculate] add missing include for boost typeof
2014-04-24 01:59:50 +02:00
Adam Wulkiewicz
2ac24d446a Merge pull request #16 from mkaravel/feature/setops
Feature/setops: fixes/changes due to recent changes in develop branch
2014-04-24 01:59:30 +02:00
Adam Wulkiewicz
d74deb998d [relate] Partially fix Point-sized Linestrings support in relate(L/L).
The latest robustness upgrade introduced changes that broke the support:
1. degenerated turns are now method_none+c/c. This is fixed by this commit.
2. ratios aren't calculated for degenerated turns (proviously distances were calculated by AssignPolicy).
2014-04-24 01:55:21 +02:00
Menelaos Karavelas
3c910ee528 [recalculate] add missing include for boost typeof; needed because of BOOST_AUTO_TPL; 2014-04-24 02:20:23 +03:00
Menelaos Karavelas
9d293c8c03 [set ops] degenerate turns have now method_none; update test for isolating points to check for this method 2014-04-24 02:01:39 +03:00
Menelaos Karavelas
680c826f58 [turns][debug] output the fraction value as part of the debug output 2014-04-24 02:00:34 +03:00
Menelaos Karavelas
31fd0797cc [set ops][turns] compare turns using the fraction instead of the distance 2014-04-24 01:59:42 +03:00
Adam Wulkiewicz
85b7589bb1 [geometry] Merge develop with feature/relate, resolve conflicts 2014-04-24 00:37:46 +02:00
Adam Wulkiewicz
babe91b210 [relate][get_turns] Add the support for spikes in relate(L/L). Fix errors in get_turns L/L.
Some asserts are invalid when 'x' operation can be somewhere in the middle (boundary_checker).
boundary_checker::is_boundary() function removed since it's not used anywhere.
Errors in get_turns are related to the handling of touches turn. t,i/i must be handled and is_collinear must be set in operations for spikes.
2014-04-23 23:43:00 +02:00
Adam Wulkiewicz
973e5a58bc [get_turns] Add handling of spikes for L/L for endpoints 2014-04-23 22:09:00 +02:00
Adam Wulkiewicz
9e78d642e9 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-23 16:35:09 +02:00
Adam Wulkiewicz
db318225f3 [touches] Add the implementation for Box/Box 2014-04-23 16:33:43 +02:00
Barend Gehrels
13cfa67d75 cleanup: RescalePolicy -> RobustPolicy, and removed corresponding define 2014-04-23 16:22:16 +02:00
Barend Gehrels
ed1f680e6d [get_rescale_policy] follow up, avoid casts, use numeric constants for ttmath 2014-04-23 15:37:51 +02:00
Barend Gehrels
cc71c5dbfb [get_rescale_policy] processed review comments and avoid type "double" 2014-04-23 15:31:51 +02:00
Barend Gehrels
1ebe08921d [segment_ratio] added spaces 2014-04-23 15:15:51 +02:00
Barend Gehrels
c032c2799f [segment_ratio] processed review comments 2014-04-23 15:02:41 +02:00
Adam Wulkiewicz
e351063b9d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-23 14:53:11 +02:00
Adam Wulkiewicz
f9c51246c2 [touches][relate] Replace use_relate with relate_base<> for automatic support generation. Also implement static_mask_touches_type<> as 2 parameter template. 2014-04-23 14:53:04 +02:00
Barend Gehrels
edc2c04c3d commented calculating distance policy 2014-04-23 13:32:46 +02:00
Barend Gehrels
8af53613b9 added no_rescale_policy for follow linear/linear 2014-04-23 13:32:32 +02:00
Barend Gehrels
d228fb8523 added robust_policy which is, for linear/linear or pointlike/pointlike,
not used in the end
2014-04-23 13:31:23 +02:00
Barend Gehrels
2bfede47f3 updated tests due to changes in rescale_to_integer branch 2014-04-23 13:30:00 +02:00
Barend Gehrels
b0b9503f81 renamed variable which was not detected by the merge 2014-04-23 13:28:20 +02:00
Barend Gehrels
1ef54cd00a Added missing includes which are now necessary 2014-04-23 13:27:55 +02:00
Barend Gehrels
dc2993ae3a Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/relate/turns.hpp
	include/boost/geometry/algorithms/touches.hppq
2014-04-23 13:26:59 +02:00
Adam Wulkiewicz
9ee78e4686 [get_turns] Handle m spike for L/L, add more tests 2014-04-23 12:53:36 +02:00
Adam Wulkiewicz
bdacc633aa Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-22 16:39:47 +02:00
Adam Wulkiewicz
18b4c3e472 [test][index] Add /bigobj for MSVC to Jamfiles for most of the tests 2014-04-22 16:39:02 +02:00
Adam Wulkiewicz
fdb1afaf20 [test][doc][index] replace <toolset>gcc-mingw with <toolset>gcc,<target-os>windows in Jamfiles.
This fixes the ticket 9858.
One Jamfile defines tests for rtree+Interprocess, the second one docs examples using Interprocess.
2014-04-22 16:25:04 +02:00
Adam Wulkiewicz
3fc8acc3f9 [get_turns] Add the generation of spike IPs for L/L non-endpoint touching and collinear-opposite segments 2014-04-22 16:11:04 +02:00
Barend Gehrels
61f3ecfa0b updated release notes for ticket #9871 2014-04-21 19:46:49 +02:00
Barend Gehrels
c3bd204708 [remove_spikes] Fixed polygons consisting only of a spike.
If so, spike is now removed and only one point is left.
2014-04-21 19:44:42 +02:00
Adam Wulkiewicz
12797dbfb7 [get_turns][relate] Handle spikes for L/L !opposite collinear and equal turns.
2 Turns are generated for a spike, one with operation_blocked the second one with operation_intersection.
relate_linear_linear is not working yet, for now it is only ensured that boundaries will not be checked for those turns, which would result with assert failure.
TODO: opposite collinear and equal, touches c/c and endpoints intersecting a spike + the adaptation of relate(L,L).
2014-04-20 01:36:08 +02:00
Barend Gehrels
561fab72d2 Fixed expectactions for difference_spike, after enhanced IP calculation 2014-04-19 21:39:49 +02:00
Barend Gehrels
2077f81164 Merge branch 'rescale_to_integer' of github.com:boostorg/geometry into rescale_to_integer 2014-04-19 20:01:16 +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
Adam Wulkiewicz
ec576e827c [doc] Change non-portable run_command rm to os.remove in make_qbk scripts 2014-04-19 02:29:54 +02:00
Adam Wulkiewicz
d05e7397f0 [get_turns] Set position front/back for L in L/A for degenerated turn - for consistency with L/L 2014-04-18 18:30:48 +02:00
Adam Wulkiewicz
0d01847701 [relate][test] Add tests for consistency check (overlapping and Point-sized Lss) 2014-04-18 14:58:29 +02:00
Adam Wulkiewicz
a99fda5362 [relate] Fix L/L : handling of MLs containing overlapping, collinear Linestrings.
It's also consistent with the behavior for Point-like Linestrings.

E.g. some MultiLinestring may have boundary and interior in the same point:

Ls1:
  |--------------|
MLs2:
  |------------|
|------|

In this case the current version of the algorithm will set BB=0 and BI=0.
2014-04-18 14:43:07 +02:00
Adam Wulkiewicz
89955b787b [get_turns][relate] Handle Point-size Linestrings
Point-size Linestring is a linestring containing exactly 2 equal points.

Add generation of positions for degenerated turns, non-degenerated segments in get_turns_linear_linear.
The code should be polished after the addition of info about the degeneration of segments into Turns.
2014-04-18 02:22:33 +02:00