Adam Wulkiewicz
694aaa9d31
[core] Add sphere and spheroid reference models.
...
Add new tags for reference sphere/spheroid concepts.
Add cs::model::sphere<> and cs::model::spheroid<>.
Add get_radius(), set_radius() and radius_type<> functions/metafunctions.
Add tests.
Refactor [extensions] nsphere to use the official functions.
2014-11-16 18:26:48 +01:00
Barend Gehrels
9a9e16f936
[buffer] major fix: we now create concave helper-pieces differently
...
In the past there was one with a straight line going from one piece to the next.
Now there are two, going from one piece to the point on the geometry, and the
second going from the point on the geomety to the next piece.
They are now zero-volume.
They fix:
1) crossings of sides with flat-ends (unit-test cases curve, field_sprayer, bend_near_start)
2) joins with limited number of points (unit-test cases concave_b_rough, italy_part, nl_part)
3) joins with large distances
4) many self-intersections on remaining aimes-cases
2014-11-12 13:59:29 +01:00
Barend Gehrels
1fcdbc7c54
[buffer] small change, use Piece i.o. typename ....
2014-11-12 13:43:54 +01:00
Barend Gehrels
36f47c4638
[buffer] fix error in comment
2014-11-12 13:40:19 +01:00
Barend Gehrels
37519ab36a
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-11-12 13:36:13 +01:00
Adam Wulkiewicz
226272833b
[extensions] Remove unneeded constructors from andoyer strategy and ellipsoid.
2014-11-12 11:46:24 +01:00
Adam Wulkiewicz
2fbe01ae46
[extensions] Fix ellipsoid one-argument ctor.
2014-11-12 01:10:15 +01:00
Barend Gehrels
472346704d
[buffer] reverse negative rings if necessary (for concave pieces and
...
one-sided buffers)
2014-11-09 17:01:31 +01:00
Barend Gehrels
a62e2d2e84
[buffer][performance] add boolean to indicate concave rings:
...
in non concave rings, no turn calculation is necessary
2014-11-09 17:00:56 +01:00
Menelaos Karavelas
6defb7643a
[strategies][concepts][distance strategies] polish code in various places;
...
add missing checks in point-segment distance strategy concept;
add BOOST_MPL_ASSERTs to check for the possible value(s) of the strategy tags;
2014-11-07 12:35:42 +02:00
Menelaos Karavelas
ffb90fcc48
[strategies][spherical][cross_track] fix return type in result_from_distance meta-struct
2014-11-07 12:34:03 +02:00
Barend Gehrels
8c75d81fff
[overlay] fix behaviour of u/u turns for difference. This fixes
...
the assemble unit test which broke in earlier commits today
2014-11-06 18:54:55 +01:00
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