Menelaos Karavelas
ab6588f9b2
[distance] implementation for distance(multi-point,range)
2014-05-08 15:00:07 +03:00
Menelaos Karavelas
8553124d37
[distance] base cose for distance computations using the R-Tree
2014-05-08 14:58:05 +03:00
Menelaos Karavelas
e1e227c022
[distance] segment-box distance computation
2014-05-08 14:57:44 +03:00
Menelaos Karavelas
3051652a5b
[distance] add implementation for distance computation between a polygon and a segment or a box
2014-05-08 14:57:11 +03:00
Menelaos Karavelas
26dfb26d69
[distance] add implementation for distance computation between a range and a segment or a box
2014-05-08 14:53:21 +03:00
Menelaos Karavelas
5d04ac7c92
[distance] segment-to-segment distance computation
2014-05-08 14:52:51 +03:00
Menelaos Karavelas
22142c9040
[distance] add distance code for multi-to-multi geometry combinations and dispatch specializations;
...
some of the code in this file originated from multi/algorithms/distance.hpp
2014-05-08 14:52:13 +03:00
Menelaos Karavelas
6bac8b43a1
[distance] add distance code for single-to-multi geometry combinations and dispatch specializations;
...
some of the code in this file originated from multi/algorithms/distance.hpp
2014-05-08 14:49:27 +03:00
Menelaos Karavelas
ad2fbc9e5b
[distance] add helper classes for choosing default strategies
2014-05-08 14:49:01 +03:00
Menelaos Karavelas
17d3f0e78e
[strategies][distance] add class to convert a distance result from comparable to regular distance result if needed;
...
add implementation of this for cartesian coordinates (applies sqrt);
2014-05-08 14:47:19 +03:00
Menelaos Karavelas
f9825be6bf
[distance] add implementation of distance(point, geometry); most of the origina code was in algorithms/distance.hpp; the point-box combination was added;
...
point_to_range takes only one strategy now; all intermediate distance computations done with comaprable distances (conversion happens at the end);
2014-05-08 14:43:38 +03:00
Menelaos Karavelas
ebc8d5cf63
[distance] add distance(box, box) detail implementation
2014-05-08 14:43:10 +03:00
Menelaos Karavelas
affc4340c2
[strategies][distance] add cartesian strategy for point-box and box-box distance computation
2014-05-08 13:49:24 +03: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