Menelaos Karavelas
a500a12726
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint
2014-05-14 10:20:53 +03:00
Menelaos Karavelas
5777fd5b8d
[overlay] the specialization of intersection_insert for linestring/box computes the intersection, but pretends as if it works for difference as well;
...
quick fix: further specialize this specialization of intersection insert so that it works only for overlay_intersection;
problem and quick fix related to boost trac ticket #10019 ;
2014-05-09 09:33:32 +03:00
Menelaos Karavelas
06ebf17a8d
[disjoint] add alternative (more robust) implementation of segment-box disjointness test; the alternative implementation does not use any divisions
2014-05-08 22:24:01 +03:00
Adam Wulkiewicz
9ea4b6bf6c
[index] Add the support for std::pair<> and boost/std::tuple<> registered as Indexable
2014-05-08 14:42:45 +02:00
Menelaos Karavelas
1e3041e748
[overlay][P/P, L/L] replace BOOST_AUTO_TPL by the exact type
2014-05-08 01:28:09 +03:00
Barend Gehrels
899c94b148
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-05-07 13:15:22 +02:00
Adam Wulkiewicz
dffd4a4f64
Merge pull request #22 from mkaravel/feature/setops
...
Feature/setops
2014-05-07 11:58:11 +02:00
Adam Wulkiewicz
6407199617
Merge pull request #21 from mkaravel/feature/point_iterator
...
Feature/point iterator
2014-05-07 11:57:20 +02:00
Barend Gehrels
22f3c65b5d
[doc] Added doc for parameters Doxygen was missing
2014-05-07 11:40:57 +02:00
Menelaos Karavelas
51c601bb49
[point_iterator_type] replace #include of type traits by the specific one used (is_const)
2014-05-06 22:02:26 +03:00
Menelaos Karavelas
793a6321c6
[copy segments] replace generic #include of type traits by the specific one used (integral_constant)
2014-05-06 21:51:15 +03:00
Adam Wulkiewicz
8eefe4d3ba
[equals] Add missing copyright info
2014-05-06 19:00:28 +02:00
Adam Wulkiewicz
8bb1d98aaf
[equals][relate] Add equals() Ls/MLs, MLs/MLs. Fix relate(L/L).
...
Also use relate() in equals(Ls,Ls) because collect_vectors() approach doesn't work properly for non-simple or even opposite/reversed Linestrings.
Fix how 'u' is handled in relate() in the edge case when there are more 'u' operations in the same point, also when 'u' is on the first endpoint followed by 'i' on the same IP.
Add tests for equals() and relate().
2014-05-06 16:18:05 +02:00
Menelaos Karavelas
826045c3a1
[set ops L/L] remove commented code in assign_policy; add template parameter to control the behavior of intersection wrt whether isolated points are followed or not;
2014-05-05 12:10:20 +03:00
Menelaos Karavelas
a73ce5fbd6
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
2014-05-05 10:23:45 +03:00
Menelaos Karavelas
99dbc5082e
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/point_iterator
2014-05-05 10:22:25 +03:00
Menelaos Karavelas
6adb2e9d51
[point_reverse_iterator] implement reverse iterator for geometries
2014-05-05 09:51:22 +03:00
Menelaos Karavelas
0648b7293e
[flatten_iterator] implement decrement operation for flatten iterator
2014-05-05 09:50:42 +03:00
Menelaos Karavelas
cd1d490d2e
[point_iterator] add free functions points_front and points_back that return the first and last point of a geometry
2014-05-05 09:50:04 +03:00
Adam Wulkiewicz
aea578c602
[get_turns] Fix turn operation is_collinear values for L/L and L/A.
...
is_collinear for the first endpoint of L is now unified and is always equal to FALSE.
Add tests of is_collinear. It is tested by passing 4th and 5th char in the expected turn string (= means collinear, + means non-collinear), e.g. "mxi=+" for L/L means that L1 ends in this IP and was collinear before meeting the Point, L2 is going "inside" intersection and wasn't collinear before.
Replace method_and_operation_replacer with turn_transformer.
2014-05-04 22:31:13 +02:00
Adam Wulkiewicz
e6ef0b0328
[get_turns] Use RobustPolicy in a unified way in all three get_turn_info* policies (A/A, L/A, and L/L).
...
Newly introduced intersection_info containing IntersectionResult, SideCalculator and Point refs is used also in get_turn_info for A/A.
Robust points are stored only if RobustPolicy is not no_rescale_policy.
This commit also fixes an error in get_turn_info - swapped_side_calc created for method_touch_interior ('m') should use robust points just like the original one.
2014-05-04 01:26:12 +02:00
Barend Gehrels
bff1c65b0a
fixed comment
2014-05-03 14:41:47 +02:00
Barend Gehrels
7b2a4cb589
[intersection] fix segments_intersection_ratios
...
adding the new one_degenerate method
2014-05-03 14:41:33 +02:00
Adam Wulkiewicz
6abe245eb7
[get_turns] Fix invalid condition get_turn_info_la
2014-05-03 02:47:58 +02:00
Adam Wulkiewicz
d4d7bf9657
[get_turns] Fix the generation of some special cases of touch-spike-turns for L/L and L/A
2014-05-03 02:40:21 +02:00
Adam Wulkiewicz
93c5c4a329
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-05-01 12:38:07 +02:00
Adam Wulkiewicz
288c7e6980
[get_turns] Fix for L/L spike vs. endpoint for the same direction segments. Add failing test cases for spikes touching internal point
2014-05-01 12:37:54 +02:00
Menelaos Karavelas
75488e0988
[point_iterator] fix constructor calls for concatenate_iterator
2014-05-01 01:42:24 +03:00
Menelaos Karavelas
5a2993d30f
[concatenate_iterator] make the iterator bidirectional
2014-05-01 01:37:35 +03:00
Menelaos Karavelas
c2bf14e1c3
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
2014-04-30 22:05:09 +03:00
Barend Gehrels
9f1b9ff7ba
[overlay] Calculate ratio for segment intersection where one segment is degenerate
2014-04-30 17:33:58 +02:00
Menelaos Karavelas
98e6dd3783
[overlay] add template parameter to follow and action_selector about removing spikes; the default behavior is to remove them; this is backward compatible with the
...
code before the changes in copy_segments
2014-04-30 15:57:51 +03:00
Menelaos Karavelas
65e1118669
[algorithms][overlay] allow for spikes in output likestrings; this modifies the behavior of existing set ops and allows to support linear geometries with spikes;
...
change copy_segments for linestrings to take a template parameter to control whether spikes are accepted or not; by default they are not accepted
(but the follow code now explicitly allows for them in places where it wasn't;
2014-04-30 12:12:27 +03:00
Menelaos Karavelas
a5056728b7
[copyright headers] unify the way they look
2014-04-30 12:11:13 +03:00
Menelaos Karavelas
f605bbc7d1
Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
2014-04-30 01:27:23 +03:00
Adam Wulkiewicz
c88767bf2a
Merge pull request #20 from sdebionne/develop
...
check_result_type is missing inline qualifier
2014-04-29 14:06:40 +02:00
Samuel Debione
118a750e9e
check_result_type is missing inline qualifier
...
Function check_result_type is missing inline qualifier.
2014-04-29 13:47:09 +02:00
Adam Wulkiewicz
d682a74c1b
[extensions/dissolve] Fix compilation error - pass segment_ratio<> to traversal_turn_info<>. Remove mistankenly commited test change
2014-04-29 13:19:11 +02:00
Adam Wulkiewicz
d44e1a1e01
[get_turns][extensions/dissolve] Fix VS compilation error (STATIC_ASSERT + template). Add not_implemented<> info to extensions/dissolve.
2014-04-29 13:06:04 +02:00
Adam Wulkiewicz
bf918c15d0
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-04-28 12:22:37 +02:00
Adam Wulkiewicz
2349c817e2
[get_turns] Fix turns generation for double collinear spikes.
...
Add check if a spike Point is realy an IP.
2014-04-28 12:21:06 +02:00
Menelaos Karavelas
333cfdccfb
[turns] rename less functor from less_seg_dist_other_op to less_seg_fraction_other_op (to indicate that the fraction comparison is now used)
2014-04-28 10:29:45 +03:00
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