Commit Graph

1632 Commits

Author SHA1 Message Date
Menelaos Karavelas
65c57c4bfb [policies][robustness] properly initialize m_approximation in default segment_ratio constructor 2014-04-28 10:15:05 +03:00
Barend Gehrels
0311b165ab Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-27 20:54:46 +02:00
Barend Gehrels
ac913b5a67 Replaced #ifdef with extra parenthesis to solve macro/comma problems 2014-04-27 20:54:31 +02:00
Adam Wulkiewicz
294b888f76 [test][sectionalize] Fix GCC4.4 compilation error.
Explicitly use namespace geometry in sectionalize() overload used in the test.
2014-04-27 18:48:35 +02:00
Adam Wulkiewicz
d41be62461 [relate] refactor relate helpers.
Remove unused, commented-out code.
Improve the names.
2014-04-27 16:08:30 +02:00
Adam Wulkiewicz
6bbabf9867 [views][relate] Add detail::normalized_view<> and use it in relate_linear_areal.
It's a view connecting reversible_view and closeable_view, allowing to view a subrange of a Geometry as reversed and/or closed if necessary.
Polygons and similar Geometries are always CW, closed.
2014-04-27 04:11:22 +02:00
Adam Wulkiewicz
bcd64d3e40 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 15:28:33 +02:00
Adam Wulkiewicz
7615ac3392 [get_turns] Add template parameters to side_calculator<> defining types of all points.
It is possible to use side_calculator<> with Points of various types without the conversion.
2014-04-26 15:27:53 +02:00
Barend Gehrels
7e775f8d35 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 14:49:51 +02:00
Barend Gehrels
c33abbd521 [rescale] avoid rescaling boxes (as long as box_tag derives from areal_tag) 2014-04-26 14:49:28 +02:00
Adam Wulkiewicz
edfb2c29c0 [get_turns] Change parameters of intersection_info::is_spike_of_collinear() 2014-04-26 03:21:10 +02:00
Adam Wulkiewicz
f697aa85aa Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 03:04:40 +02:00
Adam Wulkiewicz
f671b5830f [get_turns] Refactor get_turns for L/L and L/A.
This change prevents duplication and decreases the number of parameters that must be passed to various functions and makes the code more readable.

Enclose parts of the code used in both implementations in one class - intersection_info. Move there IntersectionsResult, sides_calculator, spikes checks. Use this class in get_turn_info_linear_*. Provide convenient i_info() and d_info() to allow replacing result.template get<0>() and result.template get<1>() calls.
2014-04-26 03:03:58 +02:00
Barend Gehrels
b007b85c17 removed debug statement 2014-04-25 23:05:31 +02:00
Barend Gehrels
6a23b0ff80 [overlay] added metafunction rescale_overlay_policy_type to use rescaling
only for areal/areal
2014-04-25 22:57:55 +02:00
Adam Wulkiewicz
80654aea65 [get_turns] Refactor get_turn_info_for_endpoint::handle_segment(), remove unused variables.
The code was moved outside get_turn_info_for_endpoints, to linear_intersections.
The code in the caller is more clear and safer since all variables are initialized and stored in linear_intersections.
2014-04-25 19:34:11 +02:00
Adam Wulkiewicz
83f375fc96 [get_turns] Fix side_calculator Points order in get_turn_info_ll and get_turn_info_la 2014-04-25 12:44:59 +02:00
Samuel Debione
c0df65a209 Fix get_turn_info
Fix template parameter order in side_calculator call (would fail with
different point types).
2014-04-25 12:19:46 +02:00
Adam Wulkiewicz
17faeadaa6 [get_turns][relate] fix assert in get_turn_info, remove enriched_operation from relate/turns - additional distance is no longer needed 2014-04-25 01:01:00 +02:00
Adam Wulkiewicz
d59e66e6d2 Merge branch 'develop' into feature/relate 2014-04-25 00:31:42 +02:00
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