Commit Graph

2855 Commits

Author SHA1 Message Date
Menelaos Karavelas
b2ff6d51c5 [algorithms][is_valid] add support for visit policy; add one more
boolean template parameter at the dispatch level that controls if
empty multi-geometries are valid (the default value is true, i.e.,
empty multi-geometries are considered as valid);
2015-02-19 23:08:31 +02:00
Menelaos Karavelas
a071453652 [algorithms][is_valid] add enumeration type for the validity failure types 2015-02-19 23:05:09 +02:00
Adam Wulkiewicz
81d3d14578 Merge pull request #219 from sdebionne/feature/variant-over-sequence
Fix point_type traits for variant over MPL sequence
2015-02-19 17:37:50 +01:00
Barend Gehrels
b0fdfc5d7a [buffer] fix erroneous rings for deflated interior rings which are untouched 2015-02-18 15:10:06 +01:00
Barend Gehrels
18d6103abd [disjoint] add disjoint_point_box like there is also disjoint_box_box to
avoid calling dispatch from buffer
2015-02-18 15:04:22 +01:00
Barend Gehrels
2201ebf86e [buffer] fix the case where a side was skipped because detected as equal, followed
by an end-cap. This caused further problems. Detection of empty sides is now delegated
to the strategy
2015-02-18 12:20:05 +01:00
Barend Gehrels
6c5cb48211 [buffer][fix] avoid false detection of turn in piece: turns cannot be located
in flat end pieces or in concave pieces
2015-02-18 10:20:26 +01:00
Adam Wulkiewicz
2d3bfc296c [buffer] Add assertions checking segments indexes >= 0 in buffered_piece_collection. 2015-02-16 18:12:06 +01:00
Barend Gehrels
d9d14ce71b Merge pull request #224 from mkaravel/fix/buffer_accessing_front_element_of_rings
Fix: replace access method for accessing the front element of rings
2015-02-13 16:21:45 +01:00
Menelaos Karavelas
2f5d497885 [algorithms][buffer] replace call to .empty() method by call to boost::empty();
replace call to .back() method by call to range::back();
2015-02-13 16:18:26 +02:00
Adam Wulkiewicz
d942d49114 Merge pull request #223 from mkaravel/fix/qualify_mpl_namespace_by_boost
[geometry] qualify mpl:: namespace by boost:: (namespace external to the
2015-02-13 14:31:43 +01:00
Menelaos Karavelas
a2d1365326 [algorithms][buffer] replace access of front range element using the .front()
method by the range::front BG utility function
2015-02-13 15:19:57 +02:00
Barend Gehrels
729c5d2c37 Minor: fix spacing according to conventions 2015-02-13 13:25:59 +01:00
Barend Gehrels
3afb29f41e [buffer][fix] Assure first point of next piece equals last point of previous piece 2015-02-13 12:59:14 +01:00
Barend Gehrels
f24b4a24fb [buffer] some minor code layout changes 2015-02-13 12:26:55 +01:00
Barend Gehrels
d21145952f [buffer][fix] make sure that, per ring, closing point is the starting point.
It can be off due to numerical instability
2015-02-13 12:23:58 +01:00
Menelaos Karavelas
8b12ba92b6 [geometry] qualify mpl:: namespace by boost:: (namespace external to the
Boost.Geometry library); fix long lines produced by the addition of "boost::"
2015-02-13 11:41:16 +02:00
Menelaos Karavelas
4097d8e74b [policies][robustness][get_rescale_policy] fix wrong name of free function 2015-02-13 10:12:03 +02:00
Menelaos Karavelas
75e3115708 [policies][robustness][get_rescale_policy] factor-out common code 2015-02-13 09:48:29 +02:00
Samuel Debionne
e73e9486ab Add boost:: namespace for variant, mpl
External (to Boost.Geometry) libraries used in Boost.Geometry code
should be qualified with boost::.
2015-02-12 09:32:13 +01:00
Adam Wulkiewicz
cff2ee9d6c [util] Add comments about the BOOST_GEOMETRY_CONDITION() implementation. 2015-02-11 20:29:47 +01:00
Adam Wulkiewicz
b3b3687426 [algorithms] Remove unwanted spaces from condition statements. 2015-02-11 20:20:35 +01:00
Adam Wulkiewicz
88d67541a8 [util] Fix the macro name in an #endif comment. 2015-02-11 19:26:48 +01:00
Samuel Debionne
241a541e83 Fix point_type traits for variant over MPL sequence
When variant types are generated from MPL sequences the actual variant
type is
boost::variant<over_sequence<Sequence...
and thus T0 is over_sequence<>. This fix use the first bounded type
instead of T0.
2015-02-11 17:12:40 +01:00
Adam Wulkiewicz
4f2fc67bd6 Merge branch 'develop' into fix/warnings 2015-02-11 15:55:31 +01:00
Adam Wulkiewicz
60226ea697 [strategies] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:24 +01:00
Adam Wulkiewicz
aec04ff75b [algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:52:55 +01:00
Adam Wulkiewicz
60856a5986 [util] Add BOOST_GEOMETRY_CONDITION macro to allow suppressing of MSVC constant condition warning. 2015-02-11 15:51:10 +01:00
Adam Wulkiewicz
c197206f2c Merge pull request #213 from mkaravel/fix/replace_assertion_by_exception
Fix: replace assertion by exception
2015-02-11 14:04:36 +01:00
Adam Wulkiewicz
6d2e0418e2 Merge pull request #216 from mkaravel/fix/refactor_debug_code_for_turns
[algorithms][turns] re-factor debug code for printing turns
2015-02-11 14:01:41 +01:00
Adam Wulkiewicz
65de0b893a Merge pull request #217 from mkaravel/fix/templatize_relare_turns_by_rescale_policy
Fix/templatize relare turns by rescale policy
2015-02-11 14:00:54 +01:00
Menelaos Karavelas
70ca59637b [algorithms][relate][get_turns] add missing include for get_rescale_policy 2015-02-11 13:10:00 +02:00
Menelaos Karavelas
ba68aa8555 [algorithms][relate][get_turns] templatize relate::get_turns by robustness policy;
by default it is set to detail::no_rescale_policy;
2015-02-11 10:27:51 +02:00
Menelaos Karavelas
503b5a1e03 [algorithms][turns] re-factor debug code for printing turns 2015-02-11 09:53:03 +02:00
Menelaos Karavelas
0a385a61b5 [strategies][cartesian][side by triangle] fix MSVC error regarding
undiscovered function equals_point_point: MSVC thinks that that the detail::equals
namespace qualifying the call to equals_point_point is a nested namespace inside
boost::geometry::strategy::side; fix: qualify the call to equals_point_point by
geometry::detail::equals;
2015-02-11 09:33:54 +02:00
Menelaos Karavelas
44830fb134 [algorithms][overlay L/L] remove member variable in inconsistent_turns_exception class 2015-02-09 22:55:31 +02:00
Adam Wulkiewicz
82c8c483f3 Merge pull request #206 from awulkiew/fix/warnings
Fix/warnings
2015-02-09 17:10:56 +01:00
Adam Wulkiewicz
09d1a2e16d Merge pull request #212 from mkaravel/fix/comparable_distance_strategy_in_douglas_peucker
Fix/comparable distance strategy in douglas peucker
2015-02-09 17:08:46 +01:00
Adam Wulkiewicz
40cd6946d1 Merge pull request #207 from mkaravel/fix/make_side_by_triangle_permutation_invariant
Fix/make side by triangle permutation invariant
2015-02-09 17:07:10 +01:00
Menelaos Karavelas
5d5be4ceac [algorithms][overlay L/L] replace assertion by exception: the assertion
failure indicates that something went wrong in the turns' computation, and
more precisely that the turns computed are not consistent; such a case should
better be handled by throwing an exception rather than an assertion;
2015-02-09 15:51:30 +02:00
Menelaos Karavelas
a7c6ce5431 [strategies][agnostic][simplify douglas peucker] modify strategy to use
comparable distances and strategies internally; update copyright headers;
clean-up code; change debug macro to have the BOOST_GEOMETRY prefix;
2015-02-05 14:13:17 +02:00
Menelaos Karavelas
bbd755350b [algorithms][simplify] update copyright dates and add missing include 2015-02-05 14:09:27 +02:00
Menelaos Karavelas
07399029da [strategies][cartesian][side by triangle] optimize computation for fundamental
integral number types: no need to check for equality of points and perform
lexicographical sorting
2015-02-04 09:18:24 +02:00
Menelaos Karavelas
8ce627968d [strategies][cartesian][side by triangle] add comments explaining why
the lexicographical ordering is done
2015-02-04 02:47:22 +02:00
Barend Gehrels
63b3e39592 Merge pull request #209 from mkaravel/fix/use_correct_namespace_in_comment
[algorithms][is_valid] fix namespace in comment
2015-02-03 22:54:51 +01:00
Menelaos Karavelas
2b8528e318 [algorithms][is_valid] fix namespace in comment 2015-02-03 21:57:10 +02:00
Menelaos Karavelas
fe257ef8b4 [algorithms][detail][overlay][turns L/L] remove trailing spaces 2015-02-03 21:54:52 +02:00
Menelaos Karavelas
98babd71c6 [strategies][cartesian][side by triangle] optimize the number of
calls to less
2015-02-03 21:40:59 +02:00
Menelaos Karavelas
5354bba720 [strategies][cartesian][side by triangle] make the side_by_triangle strategy
cyclic-permutation invariant by always choosing the lexicographically smallest
point as the first argument in the computations
2015-02-03 21:33:01 +02:00
Adam Wulkiewicz
93d9881fa2 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-02-03 18:27:11 +01:00