Menelaos Karavelas
4e5da910af
[algorithms][is_valid] rename method find_not_equal to find_different_from_first (for clarity)
2015-07-14 20:42:16 +03:00
Menelaos Karavelas
78296da4a2
[algorithms][is_valid] replace BOOST_ASSERT by BOOST_GEOMETRY_ASSERT
2015-07-10 07:32:51 +03:00
Menelaos Karavelas
ee906b2f40
[algorithms][is_valid] avoid potential infinite loop in has_spikes
...
(such an infinite loop can happen if the points in the range have NaN coordinates)
2015-07-09 11:50:59 +03:00
Barend Gehrels
91ccb7e6e3
[buffer] re-enable support for no-robustness policy
...
Influence on polygon geometries is limited (countries also little influence)
2015-07-08 20:34:07 +02:00
Menelaos Karavelas
1bfae2e79e
Merge pull request #313 from mkaravel/fix/sym_difference_areal
...
Fix/sym difference areal
2015-07-07 07:41:26 +03:00
Adam Wulkiewicz
db3474943b
[algorithms][strategies] Simplify the geographic geodesic formulas.
...
Get rid of formulas objects and implement the formulas as a struct
template taking parameters enabling the formula parts (e.g. distance
and/or azimuth) with apply() static member function. This way the code is
more clear as all temporary values are created directly in the algorithms.
Furthermore there are no uninitialized values and it's not required to
keep a flag indicating if the distance or azimuth can be calculated.
Use the new implementation of formulas in geographic distance and side
strategies.
Alter the unit test.
2015-07-06 17:12:02 +02:00
Menelaos Karavelas
4bd96072bc
[algorithms][sym_difference] re-factor common code
2015-07-02 20:51:36 +03:00
Adam Wulkiewicz
2e43017894
[math][policies] Rename round to rounding_cast and remove the use of boost::math::round() for performance reasons.
2015-07-02 12:02:12 +02:00
Menelaos Karavelas
8b282aeaf8
[algorithms][sym_difference] implement symmetric difference for areal geometries as follows:
...
* step 1: compute difference(g1, g2)
* step 2: compute difference(g2, g1)
* step 3: return the union of the two differences in previous two steps (as opposed to returning
the concatenation of the previous two steps)
2015-07-02 00:43:38 +03:00
Adam Wulkiewicz
18ff29297e
[index] Add a comment about the Box initialization in pack_create.
2015-07-01 02:55:14 +02:00
black-tomato
8be10f33a3
Without boost::geometry:: compiler try to use distance defined in my custom point class.
...
Microsoft Visual Studio 2008
2015-06-29 12:26:16 +03:00
Adam Wulkiewicz
6d0be4db61
[policies] Round to the nearest integral value during rescaling.
2015-06-24 22:50:50 +02:00
barendgehrels
16aac54944
[robustness] check for infinite numbers in calculating the factor, and
...
only assert when really assigned
2015-06-24 11:45:41 +02:00
Adam Wulkiewicz
dd0e360146
[io][wkt] Optimize the usage of end tokenizer::iterator.
...
Create and return the end iterator in initialize() function the same way how
iterator `it` is, by output function argument passed by reference. Reuse it
inside this function.
In ..._parser::apply() functions reuse the end iterator, do not create it
each time it is needed.
Consistently pass the end iterator by const reference.
2015-06-22 22:58:05 +02:00
Adam Wulkiewicz
7910be94fd
[relate] Add assertion and remove unneeded condition.
2015-06-22 22:33:07 +02:00
Menelaos Karavelas
a0ca615051
Merge pull request #311 from mkaravel/fix/distance_point_box_cross_track_strategy
...
Fix cross_track_point_box distance strategy
2015-06-22 00:13:11 +03:00
barendgehrels
283f0a2853
Merge branch 'develop' of github.com:boostorg/geometry into develop
2015-06-21 22:59:27 +02:00
barendgehrels
88be2948f3
Three minor various details
2015-06-21 22:55:09 +02:00
barendgehrels
ed103f777e
intersection calculation: fix behaviour in rare cases where IP is taken from segment
...
A but segment B is much shorter, and IP is also at end-point of segment B.
The arbitrary decision (robust_ra < robust_rb) is changed into another
decision, based on closeness to end-points and on segment length, which leads
to more precise results
2015-06-21 22:50:40 +02:00
Menelaos Karavelas
933ed0791d
[strategies][distance][cross track point box] re-factor code and make it more readable
2015-06-19 09:37:49 +03:00
Menelaos Karavelas
23addc2c06
[strategies][distance][cross track point box] optimize the computation of the
...
distance when the point's longitude does not belong to the longitude range of the
box: instead of computing the distances to both meridian segments of the box, determine
which one among the two box segments the point is closest to, and compute the distance
of the point to the closest segment found
2015-06-19 01:17:46 +03:00
Menelaos Karavelas
edf943696c
Merge pull request #301 from mkaravel/fix/bounding_box_computation_in_get_rescale_policy
...
Fix: initialize the rescale policy only if the input geometries are non-empty
2015-06-15 15:32:00 +03:00
Menelaos Karavelas
21b9226562
[strategies][spherical][distance][cross track point box] add missing includes
2015-06-13 23:57:03 +03:00
Menelaos Karavelas
12e497f394
[strategies][distance][cross track point box] update cross track point-box
...
strategy to work with box seen as Cartesian products of intervals
2015-06-13 01:47:44 +03:00
Adam Wulkiewicz
843ef4eac8
[is_valid] Add optimization and suppress warnings.
...
Replace boost::size(...) > 0 with !boost::empty(...).
Suppress unused parameter and constant conditional expression msvc
warnings.
2015-06-12 16:37:58 +02:00
Menelaos Karavelas
00424e5a6d
Merge pull request #294 from mkaravel/ext/fixes_for_ttmath_big
...
Extensions: fixes for ttmath::Big<Exponent, Mantissa> and ttmath_big
2015-06-12 10:05:07 +03:00
Menelaos Karavelas
355a9d0cf4
Merge pull request #308 from mkaravel/fix/distance_cross_track_radius_type
...
[strategies][distance][cross track] expose the radius type as a typedef
2015-06-12 08:55:55 +03:00
Adam Wulkiewicz
f3b4df8c82
[index] Rename member and tparam in expandable_box for better readability.
2015-06-11 23:14:00 +02:00
Adam Wulkiewicz
81d0442c3a
Merge pull request #309 from awulkiew/fix/is_valid
...
[is_valid] Suppress unused parameter warnings.
2015-06-11 22:12:29 +02:00
Adam Wulkiewicz
5aedf7a20a
Merge pull request #310 from awulkiew/fix/types2
...
Replace signed_index_type with signed_size_type.
2015-06-11 18:25:35 +02:00
Adam Wulkiewicz
fb624d5712
Merge pull request #307 from awulkiew/fix/types
...
Replace int with more suitable type (std::size_t, signed_size_type, template parameter).
2015-06-11 18:21:17 +02:00
Adam Wulkiewicz
d88e1511d4
Merge branch 'fix/rtree_envelope' into develop
2015-06-11 18:17:46 +02:00
Adam Wulkiewicz
1cf2969cf2
[is_valid] Suppress unused parameter warnings.
2015-06-11 17:54:34 +02:00
Adam Wulkiewicz
f1313b27bc
[index] Improve support for non-cartesian segments.
...
Use envelope() when necessary.
Remove assign_inverse() calls.
2015-06-11 16:13:25 +02:00
Menelaos Karavelas
53b5ef3dff
[strategies][distance][cross track] expose the radius type as a typedef
...
(same as for projected_point distance strategy)
2015-06-11 01:35:30 +03:00
Menelaos Karavelas
bc70826be4
Merge pull request #299 from mkaravel/feature/intersection_areal_areal_linear
...
New feature: support bg::intersection(areal, areal, linear)
2015-06-10 11:43:54 +03:00
Adam Wulkiewicz
68bac52fa4
[algorithms] Replace signed_index_type with signed_size_type.
2015-06-09 17:59:39 +02:00
Adam Wulkiewicz
18de7e1251
[index] Always implement the BOOST_GEOMETRY_INDEX_ASSERT() macro (using BOOST_GEOMETRY_ASSERT_MSG).
2015-06-09 15:57:51 +02:00
Adam Wulkiewicz
c5e9b2004d
[buffer][strategies] Replace int with std::size_t in join_round strategy.
2015-06-09 11:41:06 +02:00
Adam Wulkiewicz
c0e390524b
[sectionalize] Replace int with signed_size_type, std::size_t or template parameter.
2015-06-09 11:39:56 +02:00
Adam Wulkiewicz
1167e510db
[relate] Replace int with std::size_t.
2015-06-09 11:38:18 +02:00
Adam Wulkiewicz
a6604a49a5
[overlay][get_turns] Replace int with signed_size_type or std::size_t.
2015-06-09 11:37:32 +02:00
Adam Wulkiewicz
49369fa5cc
[buffer] Replace int with signed_size_type or std::size_t.
2015-06-09 11:36:01 +02:00
Menelaos Karavelas
f23b88d314
[views][boundary view] make the deallocator take the pointer at construction time
2015-06-09 01:27:02 +03:00
Menelaos Karavelas
6e7ae868ee
[views][boundary view] replace BOOST_ASSERT by BOOST_GEOMETRY_ASSERT;
...
use flatten_iterator to get all rings of a multipolygon as a single range;
separate initializer from num_rings computation; use operator new/operator delete
for dynamic memory allocation of views' container; use automatic deallocator helper
class instead of try/catch block;
2015-06-09 00:50:26 +03:00
Menelaos Karavelas
a23d4c97f6
Merge branch 'develop' of github.com:boostorg/geometry into feature/intersection_areal_areal_linear
2015-06-08 23:52:05 +03:00
Adam Wulkiewicz
fb978458e9
[buffer] Replace int with signed_size_type.
2015-06-08 21:26:41 +02:00
Adam Wulkiewicz
e0a436b55b
Merge branch 'develop' into fix/buffer
...
Conflicts:
include/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp
2015-06-08 21:17:10 +02:00
Adam Wulkiewicz
30beddc7a7
[buffer] Rename signed types, for turn_index and counters use size_t.
2015-06-08 21:10:35 +02:00
Adam Wulkiewicz
dc6988ff60
[util] Replace BOOST_ASSERT with BOOST_GEOMETRY_ASSERT.
2015-06-08 13:40:57 +02:00