Commit Graph

2584 Commits

Author SHA1 Message Date
Barend Gehrels
16fb689217 [overlay] fix indexing in range which was wrong for open polygons (ticket #10719) 2014-11-06 16:49:51 +01:00
Barend Gehrels
4bb18c982e [overlay] ticket #10719 add safety checks 2014-11-06 16:36:54 +01:00
Barend Gehrels
c5417f6f43 [overlay] fix ticket #10108: rings only touching should check for u/u turns
and don't call point_on_border because that might be located on the border of the
other geometry. This also avoids passing the mid_point boolean, and including
within_code in ring_properties
2014-11-06 14:29:35 +01:00
Barend Gehrels
552ff581d4 [overlay] 'fix' wrong name Code to Properties 2014-11-06 11:13:23 +01:00
Barend Gehrels
d6201ef573 [overlay] refactor counting turns
This prepares next phase where we handle uu separately
2014-11-06 11:02:39 +01:00
Barend Gehrels
a758552c5d [overlay] rename variables in selection map 2014-11-05 22:41:53 +01:00
Barend Gehrels
347eaa580c [extensions][dissolve] use rescaling for dissolve, see ticket 10713 2014-11-05 13:59:08 +01:00
Barend Gehrels
690427a135 [buffer] re-add count which is still used if occupation info is used 2014-11-05 13:39:57 +01:00
Barend Gehrels
448040613d [overlay][fix] fix rescaling when coordinate-differences are larger than recaling range,
which is unfortunately slipped through. This fixes ticket #10747
2014-11-05 13:38:12 +01:00
Menelaos Karavelas
8daa62a3be [strategies][cartesian][cart_intersect] update copyright notice 2014-11-05 08:50:40 +02:00
Adam Wulkiewicz
f0c5554190 Merge pull request #129 from mkaravel/feature/disjoint-1.57
Feature/disjoint 1.57
2014-11-04 22:25:35 +01:00
Menelaos Karavelas
b2683f48f2 [strategies][cartesian][cart_intersect] fix bug in Cartesian segment-segment
intersection strategy;
Bug: when exactly one segment degenerates to a point and is collinear with
the other segment, the strategy always sets the intersection count to 1;
Fix: check if the degenerate segment lies within the non-degenerate one
before setting the intersection count; if the point is outside the non-degenerate
segment declare the two segments as disjoint;
2014-11-04 22:02:47 +02:00
Menelaos Karavelas
7b3ced0c6a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint-1.57 2014-11-04 15:16:42 +02:00
Adam Wulkiewicz
5daeae927a Merge pull request #174 from mkaravel/fix/distance
Fix/distance
2014-11-03 22:53:50 +01:00
Menelaos Karavelas
9c0528340b [iterators][flatten_iterator] change statement layout to be nicer 2014-11-03 21:08:31 +02:00
Menelaos Karavelas
2c975a7b50 [algorithms][distance] fix bug in multipoint to areal geometry computation 2014-11-03 20:58:12 +02:00
Menelaos Karavelas
0d8f6074c9 [iterators][flatten_iterator] re-write line in less than 80 characters;
remove templated assignment operator (it is not really needed since the assignment
operator defined and the templated constructor, combined, do what this assignment
operator does)
2014-11-03 16:14:59 +02:00
Menelaos Karavelas
7ae9d20ba0 [iterators][segment_iterator] remove templated assignment operator from
range_segment_iterator class (it is not really needed since the compiler
constructed assignment operator and the templated constructor, combined,
do what this assignment operator does)
2014-11-03 16:01:50 +02:00
Menelaos Karavelas
44a7dfe7dc [iterators][concate_iterator] remove templated assignment operator (it is not
really needed since the compiler constructed assignment operator and the
templated constructor, combined, do what this assignment operator does)
2014-11-03 15:45:54 +02:00
Menelaos Karavelas
545f53f4b2 [iterators][ever_circling_iterator] remove assignment operator (it is
the same as what the compiler would generate, so no need to provide it)
2014-11-03 15:37:49 +02:00
Menelaos Karavelas
6e84a7f5f0 [iterators][closing_iterator] remove assignment operator (it is the
same as what the compiler would generate, so not need to provide it)
2014-11-03 15:36:35 +02:00
Adam Wulkiewicz
dbcbdb6b2b [iterators] Fix return types of templated assignment operators. 2014-11-01 23:34:07 +01:00
Adam Wulkiewicz
6796525e13 [iterators] Avoid assigning an iterator having singular value (uninitialized) in flatten_iterator assignment operators.
Explicitly define flatten_iterator copy assignment operator.
2014-11-01 12:44:55 +01:00
Adam Wulkiewicz
e99f5b9d20 Merge pull request #171 from mkaravel/fix/strong_type_checking_for_cs_template_parameter
Fix/strong type checking for cs template parameter
2014-10-31 14:21:38 +01:00
Adam Wulkiewicz
3efcef5f17 Merge pull request #168 from mkaravel/fix/increment_operator_for_point_and_segment_iterator
Fix/increment operator for point and segment iterator
2014-10-31 14:21:27 +01:00
Menelaos Karavelas
0d34dc4156 [geometries][concepts][point concept] update the ConstPoint concept
to use the enum instead of the typedef to the coordinate system units
2014-10-31 09:53:32 +02:00
Menelaos Karavelas
46c9d3dbfa [geometries][concepts] remove no longer used file/class 2014-10-31 09:48:40 +02:00
Menelaos Karavelas
c9769e1624 [geometries][concepts][point concept] replace typedef to units of
coordinate system by enum storing the size of the coordinate system class
2014-10-31 09:48:05 +02:00
Menelaos Karavelas
d0058108a6 [geometries][point] replace typedef to units of coordinate system by enum storing
the size of the coordinate system class
2014-10-31 09:47:07 +02:00
Menelaos Karavelas
bd11e5f3f9 [core][cs] replace complicated conditional expression with "false"
(the coordinate_system_units class is never supposed to be instantiated
with template parameter value other than bg::degree or bg::radian)
2014-10-30 15:47:12 +02:00
Menelaos Karavelas
43ff56611e [geometries][concepts] add helper class that provides the type of the
units for non-Cartesian coordinate systems, and sets this type to void
for Cartesian ones (used for type checking in the point class and the
point concept);
2014-10-30 01:45:36 +02:00
Menelaos Karavelas
0b3378ce75 [geometries][concepts][point concept] replace boost::ignore_unused_variable_warning()
by boost::ignore_unused(); add typedef for the units of the coordinate system (this
enables a static check for the units type used in non-Cartesian coordinate systems);
2014-10-30 01:43:13 +02:00
Menelaos Karavelas
2550a5d040 [geometries][point] update copyright header; replace derivation from CoordinateSystem
by a private typedef (this provides the necessary type checking for the units for
non-Cartesian coordinate systems);
2014-10-30 01:40:52 +02:00
Menelaos Karavelas
2027c9a905 [core][cs] update copyright header; make coordinate_system_units a struct; 2014-10-30 01:39:26 +02:00
Barend Gehrels
c6fc633cdb Merge branch 'develop-1.57' into develop 2014-10-29 22:43:40 +01:00
Barend Gehrels
47811c4248 [buffer] fix symmetric distance strategy for deflate 2014-10-29 22:17:12 +01:00
Menelaos Karavelas
6beccce25f [core][cs] change namespace core_dispatch to namespace core_detail;
for non-Cartesian CS's do not derive from core_detail::coordinate_system_units,
but rather use core_detail::coordinate_system_units to define the units type;
2014-10-29 19:43:13 +02:00
Barend Gehrels
254999addd [buffer] Fix case for square with buffer-distance = half the size, IP's
are on border of original and should be discarded for both inflate/deflate
This fixes the cases added to unit tests before
2014-10-29 17:26:43 +01:00
Menelaos Karavelas
c71e09d389 [geometries][point] make the point derive privately from the
coordinate system; the advantage of that is that a non-Cartesian point defined
with bg::cs::spherical<T>, bg::cs::geographic<T>, etc., where T is neither
bg::degree not bg::radian cannot even be instantiated given the stronger
type checking implemented in core/cs.hpp for the non-Cartesian coordinate
systems;
2014-10-29 13:40:50 +02:00
Menelaos Karavelas
7a001fbbc1 [core][cs] add stronger type checking for template parameter of bg::cs::spherical,
bg::cs::polar, bg::cs::spherical_equatorial and bg::cs::geographic; the only
allowed values for this template parameter are bg::degree and bg::radian;
2014-10-29 13:38:30 +02:00
Barend Gehrels
9a089831f8 [buffer] remove redundant bracket 2014-10-29 10:04:04 +01:00
Adam Wulkiewicz
b35bead009 [buffer] Suppress MSVC unused parameters warnings. 2014-10-28 15:07:01 +01:00
Barend Gehrels
84a4963df5 [buffer] use math::pi instead of M_PI 2014-10-27 23:31:00 +01:00
Barend Gehrels
daa9d3fcd0 [buffer][fix] fix round join strategy, it should not use acos for non-normalized
dot product. Now we use atan2 to calculate the angles
2014-10-27 23:27:31 +01:00
Barend Gehrels
cda05b592e [buffer] Fix last_segment_index if range (outputted by join strategy) is empty 2014-10-27 23:26:01 +01:00
Barend Gehrels
a5b9cfe0bc [buffer][fix] fix for open input of 3 points 2014-10-24 19:39:01 +02:00
Barend Gehrels
0f72af95f0 [buffer] fix simplify which should work on input ringtype
and added unit test which tests different input/output types w.r.t. point order
(different point types are not yet supported)
2014-10-24 15:52:05 +02:00
Barend Gehrels
bd4de457d8 [buffer][fix] fixes counter clockwise polygons 2014-10-24 15:02:55 +02:00
Barend Gehrels
6280a2b67e [buffer] support buffer for degenerate polygons (pointlike, not enough points) 2014-10-24 13:12:10 +02:00
Barend Gehrels
a57e8ffe7f [buffer] make constant local variables const 2014-10-24 12:36:44 +02:00