Commit Graph

3685 Commits

Author SHA1 Message Date
Barend Gehrels
df9a97dea8 [traverse] enhance validity by checking touching (uu or combined turns creating a touch)
in clusters.
2016-04-27 11:39:40 +02:00
Barend Gehrels
5178c4e241 [traverse] rename method with duplicate name 2016-04-27 11:23:27 +02:00
Barend Gehrels
950c2644e5 [traverse] reimplement touch the same way as traversal, but don't create rings
there but detect source-switching

This fixes several touching-cases (clusters with uu not yet handled)
2016-04-20 14:13:09 +02:00
Barend Gehrels
7e35cdc1c8 [handle_touch] rename to traversal_switch_detector 2016-04-20 14:05:29 +02:00
Barend Gehrels
01d24f0ae7 [traverse] split more into a traversal creating rings, and a base class
which will be used later from a traversal determing uu switch properties
2016-04-13 13:57:53 +02:00
Barend Gehrels
87f194d233 [traverse] extract traversal class to separate file 2016-04-13 13:21:55 +02:00
Barend Gehrels
c9a2dc0769 [traverse] extract functionality to separate method 2016-04-13 10:57:20 +02:00
Barend Gehrels
62bdbbadf7 Merge branch 'develop' into feature/cluster_touch 2016-04-13 10:33:42 +02:00
Barend Gehrels
ee6167d07e [overlay] remove obsolete condition, giving warning on on systems,
in 'move'  method
2016-04-13 10:31:56 +02:00
Barend Gehrels
fdfc474fa1 [traverse] make is-buffer a member variable and don' t pass point to
select_turn_from_cluster, but use the originating segment for it
2016-04-06 21:40:23 +02:00
Barend Gehrels
55a61bee55 [traverse] rename seg_id and don't pass it at main level 2016-04-06 20:11:31 +02:00
Barend Gehrels
2163564d29 [traverse] extract selection of next turn-index to separate method 2016-04-06 14:24:31 +02:00
Barend Gehrels
f19af89712 [traverse] minor, make const 2016-04-06 14:22:34 +02:00
Barend Gehrels
cfe67d11ab [traverse] another small tweak. At the point after both_finished, now,
a uu-turn always returns in a switch in select_operation
2016-04-06 11:11:15 +02:00
Barend Gehrels
70a3d8341c [traverse] change order in traversal 2016-04-06 11:02:00 +02:00
Barend Gehrels
afd007ef85 [traverse] split select_operation on higher level between cc/non cc 2016-04-06 10:46:45 +02:00
Barend Gehrels
94755117b3 [traverse] extract functionality from select_operation and make it const 2016-04-06 10:36:44 +02:00
Barend Gehrels
7fee72257d [traverse] split condition to cc / non cc 2016-04-06 10:17:31 +02:00
Barend Gehrels
c8fd07fd6f [traverse] add is_visited is separate method to later tweak this behaviour 2016-04-06 09:55:38 +02:00
Barend Gehrels
558e69d717 [traverse] move block upwards (move only) 2016-04-06 09:46:47 +02:00
Barend Gehrels
cfa0c184f8 Merge branch 'develop' into feature/cluster_touch 2016-04-06 09:38:08 +02:00
Adam Wulkiewicz
ef6861ad37 [math] Add missing include. 2016-04-05 19:17:41 +02:00
Adam Wulkiewicz
1cf0db5e68 [envelope] Use the original units in the implementation for Segment when possible. 2016-04-05 01:07:29 +02:00
Adam Wulkiewicz
88c49a9c7a [math] Add math::as_radian and math::from_radian utilities. 2016-04-05 00:56:37 +02:00
Adam Wulkiewicz
3b605afaa7 [envelope] Fix envelope for specific cases of spherical Segments.
Remove invalid assertions failing for short segments (ticket 12106).
Ensure MIN <= MAX for segments where difference of coordinates is lesser than machine epsilon by replacing comparisons using epsilon with strict operator calls.
2016-04-03 02:25:06 +02:00
Barend Gehrels
c7ea07dfb9 [traverse] fix turn index, it should not be next turn but current turn index.
It is not necessary to port this back to 1.61, because turn is
currently only used determining a union and any turn will do
2016-03-30 13:03:35 +02:00
Barend Gehrels
85e0755ccd [traverse][fix] use two passes, in first pass avoid uu turns to get
the interior rings right at starting points. Second pass use uu, but
only switch source if there are only uu turns found. This fixes most
of the simple cases (complex cases can still go wrong)
2016-03-23 13:25:30 +01:00
Barend Gehrels
7186c46f02 [traverse] split new method iterate into two parts 2016-03-23 12:09:12 +01:00
Barend Gehrels
999f3c96a8 [traverse] move iteration to traversal class, to later split it more
and reuse it
2016-03-23 12:00:08 +01:00
Barend Gehrels
2db89e5985 Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2016-03-16 17:54:56 +01:00
Barend Gehrels
588d102b19 [union] same solution as for intersection should be applied for union,
but not in case of uu or similar
2016-03-16 17:54:03 +01:00
Adam Wulkiewicz
0e83cbce5d [util] Add missing include (range_reference). 2016-03-16 16:22:53 +01:00
Adam Wulkiewicz
5c3b606dd4 Merge branch 'develop' of github.com:boostorg/geometry into develop 2016-03-16 16:09:19 +01:00
Adam Wulkiewicz
75ad78a21c [core] Refactor the includes, remove unneeded dependencies. 2016-03-16 16:09:02 +01:00
Barend Gehrels
7d3d0dd69f [traverse] revise last weeks fix, make it more general. It should just
skip finalized arcs. This fixes the robustness test almost completely
2016-03-16 14:46:05 +01:00
Barend Gehrels
c9b9c6950f [traverse] merge method calls 2016-03-16 12:08:13 +01:00
Barend Gehrels
b468a369e8 [traverse] remove unintentionally committed extra debug info 2016-03-16 12:07:35 +01:00
Adam Wulkiewicz
2f1f29acb6 [core] Add missing include (type_traits). 2016-03-16 04:26:54 +01:00
Adam Wulkiewicz
54fcaf8273 [extensions] Cleanup include (type_traits). 2016-03-16 01:19:39 +01:00
Adam Wulkiewicz
3a688340dd [io] Cleanup includes (type_traits, range). 2016-03-16 01:19:13 +01:00
Adam Wulkiewicz
fbf5bcd3f3 [policies] Cleanup includes (type_traits). 2016-03-16 01:18:40 +01:00
Adam Wulkiewicz
6208fd9556 [core] Cleanup includes (type_traits, mpl). 2016-03-16 01:18:00 +01:00
Adam Wulkiewicz
ad916f108d [strategies] Cleanup includes (type_traits, mpl). 2016-03-16 01:17:02 +01:00
Adam Wulkiewicz
b791e1eede [algorithms] Cleanup includes (type_traits, range). 2016-03-16 01:16:16 +01:00
Adam Wulkiewicz
e79b50c60d [util] Cleanup includes (type_traits, range). 2016-03-16 01:15:21 +01:00
Adam Wulkiewicz
3ba3a76263 Merge pull request #345 from awulkiew/feature/xxx_in_box
Point/Box and Box/Box spatial relations in non-cartesian coordinate systems.
2016-03-09 17:50:28 +01:00
Adam Wulkiewicz
016dc66a68 [strategies] Refactor non-cartesian box_in_box and point_in_box (guidelines, avoiding duplication). 2016-03-09 17:07:08 +01:00
Adam Wulkiewicz
fa300f4089 [disjoint] Refactor non-cartesian box_box implementation (guidelines, avoiding duplication). 2016-03-09 17:06:25 +01:00
Adam Wulkiewicz
65cc553e31 [util] Add math::longitude_distance_signed and math::longitude_distance_unsigned functions. 2016-03-09 17:05:22 +01:00
Barend Gehrels
5383c24b34 [traverse][cluster] fix cases where it selected wrong arc at cluster,
a pseudo interior ring
2016-03-09 11:51:12 +01:00