Adam Wulkiewicz
f07edd0b34
[index] Tweaks related to is_leaf visitor/check.
...
Initialize the result in the ctor of the visitor.
In remove() check if a node is a leaf using the level, apply the visitor
only in the assert check.
2015-01-09 16:55:43 +01:00
Adam Wulkiewicz
d642e3b733
[relate] Handle a situation when the last turn is collinear for Linear.
...
This is a case when e.g. a Linestring is going out from a Polygon on a
spike collinear to the Linestring. So if such case is detected, handle it
"correctly" even if in general spikes aren't supported.
2015-01-08 16:00:13 +01:00
Adam Wulkiewicz
416ec8423c
[index][utilities] Add are_counts_ok().
2015-01-07 22:42:48 +01:00
Adam Wulkiewicz
b6ee911d30
[relate] Fix relate for A/A (touching exterior rings and non-touching holes).
...
Ticket 10912.
2015-01-06 22:18:41 +01:00
Adam Wulkiewicz
8536ce0cf1
[strategies][relate] Fix the relate Strategy concept-conformance.
...
Actually this commit tweaks the relate Strategy to make possible the
compilation of concept check. In order to do this GeometryX template
parameters are moved from apply() function level to struct level.
In general relate Strategy is not checked but there are cases when this
can be done. E.g. if a specialized Strategy for a pair of geometries is not
implemented for some CS (currently e.g. within or covered_by) the
default_strategy may return relate strategy like for Box/Box in
non-cartesian CS, concept check is done e.g. in WithinStrategyBoxBox.
2015-01-06 17:17:55 +01:00
Adam Wulkiewicz
fa76f14090
[geometry] Update copyright info in various files modified recently.
2015-01-05 14:17:30 +01:00
Adam Wulkiewicz
ca81fe416a
[algorithms] Drop Foreach dependency.
2015-01-05 00:52:38 +01:00
Adam Wulkiewicz
4b34a79de0
[extensions] Drop TypeOf dependency.
2015-01-04 23:10:06 +01:00
Adam Wulkiewicz
9d89626d9f
[index] Remove unused implementations of query iterator. Drop conditional Function, Bind and TypeErasure dependency.
2015-01-04 22:29:46 +01:00
Adam Wulkiewicz
228baa61a3
[geometries] Refactor includes in adapted/boost_fusion.hpp (alphabetical order and replacement of Utility with Core).
2015-01-04 21:58:59 +01:00
Adam Wulkiewicz
547b208cee
[index] Fix perfect forwarding emulation in varray due to the recent changes in Boost.Container (drop of PP dependency).
2015-01-04 03:45:39 +01:00
Adam Wulkiewicz
6108b0ed92
[get_turns] Add comments and commented out code in get_turn_info_la regarding the handling of Areal's spikes.
2015-01-01 14:23:22 +01:00
Adam Wulkiewicz
3f430ed43b
[relate] Comment out an assertion in relate(L/A) failing for Polygon with spikes.
2015-01-01 14:18:08 +01:00
Adam Wulkiewicz
0cd28170d7
[geometry] Change the order of Boost.Variant headers includes to alphabetical.
2014-12-31 15:48:15 +01:00
Barend Gehrels
24301d2b59
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-12-31 12:50:04 +01:00
Adam Wulkiewicz
036df6c86e
[strategies] Improve the way of picking Dimension for very short orthogonal segments detected as collinear.
2014-12-31 04:32:17 +01:00
Adam Wulkiewicz
996c83e62a
[extensions] Update andoyer and vincenty strategies headers locations.
2014-12-30 14:10:09 +01:00
Adam Wulkiewicz
01e6f98628
Merge pull request #189 from awulkiew/fix/cart_intersect
...
Fix/cart intersect
2014-12-29 22:08:38 +01:00
Adam Wulkiewicz
b91e292476
[index] Refactor error handling (asserts and exceptions).
...
For run-time assertions always use macro BOOST_GEOMETRY_INDEX_ASSERT.
For exceptions use BOOST_THROW_EXCEPTION.
2014-12-29 22:04:42 +01:00
Adam Wulkiewicz
90c2b058a1
[strategies] Fix cart_intersect for very small segments.
...
Change the way how a Dimension is choosen for a point detected as
collinear. For very small segments invalid Dimension was choosen in some
cases.
2014-12-27 23:06:18 +01:00
Adam Wulkiewicz
12de28aa54
[index] Remove ...ASSERT_UNUSED_PARAM macro, use boost::ignore_unused() instead.
2014-12-24 14:39:41 +01:00
Adam Wulkiewicz
179e88f40c
[index] Add indexable validity assertion check to pack-create.
2014-12-24 14:24:35 +01:00
Barend Gehrels
13e4b1daca
[buffer] Split some of new code into functions
2014-12-23 20:23:36 +01:00
Barend Gehrels
7006d6ca80
Merge branch 'develop' of github.com:boostorg/geometry into develop
2014-12-21 22:03:47 +01:00
Barend Gehrels
c4ca3eef2f
[buffer] use monotonic sections for checking point-in-original
...
This can enhance performance with 20%
2014-12-21 19:07:37 +01:00
Barend Gehrels
083b402447
[buffer] create vertical monotonic sections per original, and walk through original ring
2014-12-21 18:04:56 +01:00
Barend Gehrels
55fbcf1b30
[sectionalize] add same-type assertion
2014-12-21 18:02:37 +01:00
Barend Gehrels
17347fe47f
remove redundant typename keywod
2014-12-21 17:31:37 +01:00
Barend Gehrels
2b26aa20fb
[self_turn_points] fix section box type which should be same as robust point type
2014-12-21 17:30:56 +01:00
Barend Gehrels
6ef8c5a57d
[sectionalize] fix call for sectionalize
2014-12-21 16:15:23 +01:00
Barend Gehrels
8ac3a127a7
[sectionalize] add static assertion
2014-12-21 15:58:03 +01:00
Barend Gehrels
0478b5e082
[sectionalize] pass dimension vector as template argument
...
Test for vertical now also tests y-dimension
2014-12-21 15:48:22 +01:00
Barend Gehrels
042090c2ba
[sectionalize] remove commented type, fix indentation
2014-12-21 15:09:47 +01:00
Barend Gehrels
8d6418a5f7
[sectionalize] use an mpl vector to specify dimensions for sectionalize
2014-12-21 15:09:20 +01:00
Barend Gehrels
d6210cdcd0
[sectionalize] rename Dimension/DimensionCount to Index/Count
...
preparing to use sectionalize for y-axis only
2014-12-21 13:38:15 +01:00
Barend Gehrels
91150690be
[sectionalize] pass max_count as argument
2014-12-21 13:14:12 +01:00
Barend Gehrels
7cc700a0e7
[sectionalize] avoid calculating robust points 3 times
...
It was calculated per segment which moved over a range. It is now done per point
(saving one calculation) which is also used for expand (saving another one)
2014-12-21 12:50:50 +01:00
Barend Gehrels
0d56247d6d
[sectionalize] indentation / make consistent within this file
2014-12-21 12:25:17 +01:00
Barend Gehrels
110e178f77
[sectionalize] remove specific unit-test free function
2014-12-21 11:53:16 +01:00
Adam Wulkiewicz
f014a12399
[algorithms][assign] Fix static assert checks on older compilers.
...
Revert the change done previously but use static keyword.
2014-12-21 01:04:42 +01:00
Barend Gehrels
7825f28c50
[sectionalize] remove unused id
2014-12-20 15:56:56 +01:00
Barend Gehrels
40a6525bb2
[sectionalize] remove effectively unused parameter enlarge_section_boxes:
...
It was used inconsistently in two places. If necessary, library code
can call enlarge_sections explicitly afterwards.
It was erroneous (if not enlarge then enlarge).
In case of robust policies it was redundant.
2014-12-20 15:53:51 +01:00
Barend Gehrels
a1b76e4017
[sectionalize] fix indendation
2014-12-20 15:50:26 +01:00
Barend Gehrels
4d9f64b215
[sectionalize] remove unused parameter make_rescaled_boxes
2014-12-20 15:50:12 +01:00
Barend Gehrels
43ba70c8e1
[partition][buffer] add extra policy for inclusion. This gives opportunity
...
to filter items early, they are skipped for all partitions. This avoids
the need making an extra copy to select only turns with location_ok status, for buffer.
It can increase performance with 20%
2014-12-20 14:47:57 +01:00
Barend Gehrels
7fa407d4d0
[buffer] make two functions static
2014-12-20 13:15:44 +01:00
Barend Gehrels
3c0b2dedd8
[buffer] use partition for checking if a turn is inside an original.
...
Originals are split such that also interior rings are partitioned.
This removes quadratic behaviour so can give performance improvements of
factor 10 or much more (many_rings robustness test still to be committed)
2014-12-20 13:14:19 +01:00
Adam Wulkiewicz
795da1e33a
[algorithms][relate] Fix relate for Linear/MultiPolygon (related to sorting of turns and handling of the last LS endpoint).
2014-12-19 15:33:41 +01:00
Adam Wulkiewicz
c651ce726b
[algorithms] Fix msvc warnings in centroid (unused variable, unreachable code).
2014-12-19 15:25:16 +01:00
Adam Wulkiewicz
c6b3a253e3
[algorithms] Fix static assert check in assign.
2014-12-19 15:24:13 +01:00