Commit Graph

2835 Commits

Author SHA1 Message Date
Menelaos Karavelas
75e3115708 [policies][robustness][get_rescale_policy] factor-out common code 2015-02-13 09:48:29 +02: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
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
Adam Wulkiewicz
5c73173d60 [get_turns] Fix the handling of Linear collinear spikes for L/L. 2015-02-03 18:26:46 +01:00
Barend Gehrels
2bd4be27c8 Merge branch 'feature/buffer' into develop 2015-02-03 12:30:33 +01:00
Adam Wulkiewicz
a9ff279098 [algorithms] Fix unused parameter warnings. 2015-02-03 12:13:26 +01:00
Adam Wulkiewicz
548af19903 [get_turns] Fix signed indexes types, replace ints. 2015-02-03 12:07:37 +01:00
Adam Wulkiewicz
10ddece05c Merge pull request #204 from mkaravel/fix/is_simple_wrong_turns_detection
Fix/is simple wrong turns detection
2015-02-02 19:54:28 +01:00
Adam Wulkiewicz
c8c5de27ab [io][wkt] Fix integral conversion warning. 2015-02-02 19:41:27 +01:00
Adam Wulkiewicz
0d025a9328 [policies] Fix integral conversion warnings in intersection_points. 2015-02-02 19:40:16 +01:00
Adam Wulkiewicz
e4c3658de8 [iterators] Fix integral conversion warnings. 2015-02-02 19:38:37 +01:00
Adam Wulkiewicz
9ed70b402a [algorithms] Fix integral conversion warnings. 2015-02-02 19:37:12 +01:00
Adam Wulkiewicz
622b9602e8 [util][range] Add pos() function returning iterator to element. 2015-02-02 19:29:49 +01:00
Adam Wulkiewicz
3e367f9f6d [get_turns] Fix handling of a specific case of L/L collinear spike. 2015-02-02 02:14:12 +01:00
Menelaos Karavelas
2c0c882cf4 [algorithms][is_simple] replace equality testing of turn point and linestring
endpoint by using the turn's fraction instead of the geometry::equals algorithm
2015-02-01 11:30:54 +02:00
Menelaos Karavelas
eac0dc71bb [algorithms][is_simple] optimize the computation of turns for
multilinestrings: instead of computing the turns for each linestring
(through bg::intersects) and then again for the entire multilinestring,
avoid computing the turns for the individual linestrings in the multilinestring
and compute and process all multilinestring turns together;
besides the optimization this approach fixes a bug in bg::intersects in the
context of simplicity testing: bg::intersects cannot detect the intersection
occuring when a boundary point of linestring is also an internal point of the
linestring, as in LINESTRING(4 1,10 8,4 6,4 1,10 5,10 3), for example;
2015-01-29 23:45:46 +02:00
Menelaos Karavelas
e2d15e9eb3 [algorithms][is_simple][debug][turns] add debugging support for the
boundary (endpoints) of linestrings
2015-01-29 23:31:14 +02:00
Menelaos Karavelas
2be267d79e [algorithms][is_valid][debug][turns] add display of segment indices 2015-01-29 23:29:42 +02:00
Menelaos Karavelas
ba5ae9ef4d [iterators][segment iterator][range segment iterator] declare range_segment_iterator
as a class (to match the friend declaration inside it);
fix bug in initialization of the m_has_less_than_two_elements boolean member variable
for open ranges;
2015-01-29 23:13:45 +02:00
Adam Wulkiewicz
23d3e60767 Merge pull request #197 from mkaravel/feature/support_for_one_point_geometries
Feature/support for one point geometries
2015-01-28 23:24:42 +01:00
Menelaos Karavelas
bc1da220a4 [iterators][segment iterator][range segment iterator] initialize boolean in default
constructor with false
2015-01-28 19:18:19 +02:00
Menelaos Karavelas
3763829be3 [iterators][segment iterator][range segment iterator] replace has_less_than_two_elements
by an appropriate call to boost::size
2015-01-28 17:38:58 +02:00
Barend Gehrels
b349fc0f45 [buffer] use turn instead of point in analysis to get their segments later 2015-01-28 14:35:26 +01:00