Commit Graph

2482 Commits

Author SHA1 Message Date
Adam Wulkiewicz
1808886487 Merge pull request #155 from awulkiew/fix/centroid
Fix/centroid
2014-10-18 17:35:29 +02:00
Adam Wulkiewicz
eee5b9e6ea [centroid] Move translating_transformer to separate file.
Add ctor taking Geometry to transformer.
This allows to encapsulate the origin-retrieving-logic inside the transformer.
Remove assign_origin() function.
2014-10-18 17:27:52 +02:00
Adam Wulkiewicz
1a2bb4f72e Merge pull request #132 from awulkiew/fix/distance_spherical
Fix/distance spherical
2014-10-18 13:40:25 +02:00
Adam Wulkiewicz
cc9b1292a6 Merge pull request #152 from awulkiew/fix/convex_hull
Fix/convex hull
2014-10-18 13:38:16 +02:00
Adam Wulkiewicz
b56727c606 Merge pull request #163 from awulkiew/fix/disjoint
Fix/disjoint
2014-10-18 13:28:02 +02:00
Adam Wulkiewicz
fba1b5607f [disjoint] Update a comment about point on border. 2014-10-18 12:07:15 +02:00
Adam Wulkiewicz
34fb6d82ef [disjoint] Replace has_within with not_disjoint and set it instead of checking conditions. 2014-10-18 11:58:53 +02:00
Adam Wulkiewicz
a87ace4c58 [nsphere][index][rstar] Fix compilation errors. 2014-10-18 03:45:25 +02:00
Adam Wulkiewicz
1f0d7393fb [nsphere][num_points] Fix compilation errors. 2014-10-18 03:45:06 +02:00
Adam Wulkiewicz
ed649b3b73 [disjoint] Fix A/A by replacing point_on_surface with point_on_boundary and changing relation check. 2014-10-18 03:06:38 +02:00
Adam Wulkiewicz
441ef15657 [relate] Fix uninitialized const object error. 2014-10-17 02:43:56 +02:00
Adam Wulkiewicz
4ff5fc787b [core] Use bare_type in closure and point_order. 2014-10-16 16:43:16 +02:00
Adam Wulkiewicz
a757dc8fef [util][core] remove_reference in bare_type. 2014-10-16 16:01:45 +02:00
Adam Wulkiewicz
49f677cca9 [index][intersection_content] Add a condition to make the code more robust and silence GCC 4.9.x warning about uninitialized variable. 2014-10-15 17:06:11 +02:00
Adam Wulkiewicz
5125c518b7 [distance][strategy] (spherical) Cosmetic changes - comment, lines length. 2014-10-15 16:32:30 +02:00
Matt Amos
5b47fb3188 [extreme_points] s/kludge/factor/ when flipping side tests. 2014-10-15 14:29:44 +02:00
Matt Amos
deb9d08914 [extreme_points] Kludge to flip side strategy for CCW polygons and their inners. 2014-10-15 13:55:32 +02:00
Matt Amos
786aac69b7 [point_on_surface] Do multiply & divide as separate steps to preserve as much precision as possible when using integer coordinates. 2014-10-15 13:55:05 +02:00
Barend Gehrels
8528423314 Merge branch 'develop' into feature/buffer 2014-10-15 13:08:39 +02:00
Barend Gehrels
70b722436b [buffer] Fix rt_u13 but that fix is still commented because causes other issues.
get_left_turns/occupation_info are revised
2014-10-15 11:59:01 +02:00
Adam Wulkiewicz
95b3fb45d3 [centroid] Disable translation for non-areal Geometries. 2014-10-11 11:57:49 +02:00
Adam Wulkiewicz
5e3656a09a [centroid] Disable error-reducing translation for other coordinate systems than cartesian.
Remove undefined namespace.
Add missing headers.
Add a note about other coordinate systems.
Add copyright info.
2014-10-11 01:42:20 +02:00
Adam Wulkiewicz
d7722e190a [centroid] Reduce numerical errors by translating the Geometry closer to 0 and then the result back.
The first Point of the Geometry is used as the new origin.
During the centroid calculation each Point is translated by subtracting the origin.
At the end the resulting point is translated back by adding the origin.
2014-10-11 00:14:36 +02:00
Adam Wulkiewicz
45029d6cb5 [point_on_surface] Remove unneeded function. 2014-10-10 20:38:17 +02:00
Adam Wulkiewicz
72c838c16d Merge pull request #153 from awulkiew/feature/refactor_turns
Overlay/Turns refactorization
2014-10-10 20:32:55 +02:00
Adam Wulkiewicz
776cc4c731 [point_on_surface] Use arithmetic mean instead of centroid(bashein-detmer). 2014-10-10 13:04:20 +02:00
Adam Wulkiewicz
e539a09278 [overlay] Move signed_index_type to separate file. Clean headers in ring_ and segment_identifier.hpp. 2014-10-09 01:07:14 +02:00
Adam Wulkiewicz
7cf47bb1e5 [overlay][is_valid] Replace int with signed_index_type for segments indexes. 2014-10-08 23:50:16 +02:00
Adam Wulkiewicz
296f137d85 [overlay][relate][is_valid][buffer] Remove other_id from turn_operation. 2014-10-08 20:23:42 +02:00
Adam Wulkiewicz
795bda6abe [index] Fix unused parameters warnings. 2014-10-08 00:08:40 +02:00
Adam Wulkiewicz
4c192c76ae [index] Increase readability of redistribute_elements-related code.
Convert struct to functions templates (pick_seeds() functions).
Move template parameters from struct level to method level.
Both for automatic type deduction.
2014-10-07 23:37:09 +02:00
Adam Wulkiewicz
b98df446e4 [index] Use in-memory (std::allocator) temporary containers in redistribute_elements. 2014-10-07 23:04:58 +02:00
Adam Wulkiewicz
8e4bc68ed5 [index] Rename "static" nodes to "variant" nodes (it is more clear). 2014-10-05 16:19:18 +02:00
Adam Wulkiewicz
9d7ed2962e [index] Remove polymorphic nodes. Add the implementation of weak nodes, not included/used yet.
The rationale to remove polymorphic nodes:
1. such nodes can't work properly if stored in shared memory due to the way how addresses are calculated (using offsets).
2. the rtree using Variant-based nodes has similar performance and takes less memory.
3. the rtree using newly added weak_nodes (not supported/enabled yet) will be even faster and smaller.

This is the first step to entirely drop the support for polymorphic nodes. After this it should be not needed to explicitly specify the Nodes types in visitors, therefore it should be possible to dispatch the nodes types statically more conveniently, simplify templates by removal of unneeded parameters, write simpler and more maintainable code, etc.
2014-10-05 15:36:50 +02:00
Adam Wulkiewicz
22bd0ea747 [test][index] Change throwing nodes from polymorphic to variant-based. 2014-10-05 14:40:43 +02:00
Adam Wulkiewicz
5531315d98 [index] Move elements-access-related code to separate file, not mixing it with nodes definition. 2014-10-05 12:29:28 +02:00
Adam Wulkiewicz
0db47437f2 [index] Replace levels type size_t with size_types in R*-tree insert visitor. 2014-10-04 01:40:40 +02:00
Adam Wulkiewicz
3069084c15 [index] Replace levels type size_t with size_types in rtree insert visitor. 2014-10-04 01:29:04 +02:00
Adam Wulkiewicz
1f1f663a12 [index] Replace size_t with proper size_types in rtree remove visitor. 2014-10-04 00:59:06 +02:00
Adam Wulkiewicz
6b8aeabbdf [index] Cosmetic changes.
Remove unneeded typedefs in nodes.
Change the order of template parameters in bgidr::get(dynamic_node<>&)
2014-10-04 00:06:21 +02:00
Adam Wulkiewicz
fa7cd296d3 [index] Refactor count rtree visitor.
Remove specialization of count visitor for value_type, don't duplicate the same algorithm in 2 places.
Move Value/Indexable-aware parts into smaller helper struct and specialize it.
2014-10-02 23:40:53 +02:00
Adam Wulkiewicz
a9ac57dc8f [index] Support objects of type convertible to value_type in rtree::count(). 2014-10-02 23:37:32 +02:00
Adam Wulkiewicz
d331bf262a [index] Tweak type, variable names and description of member and free rtree insert() and remove() functions. 2014-10-02 21:44:18 +02:00
Adam Wulkiewicz
d32066530c [index] Support objects of type convertible to value_type in insert() and remove().
In previous implementation such objects was falling into the overload taking Range.
2014-10-02 21:22:32 +02:00
Adam Wulkiewicz
ff98b648ee [index] Update copyrights info. 2014-10-02 21:22:11 +02:00
Adam Wulkiewicz
3abe3e0b79 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-10-02 20:08:19 +02:00
Adam Wulkiewicz
eabb17b7e4 [index] Replace uses of traits:xxx with geometry::xxx metafunctions. 2014-10-02 20:06:02 +02:00
Adam Wulkiewicz
b2dfd7f0c8 [index] Use default Dimension templ. params in content() and margin() algorithms.
Replace traits::dimension<> with geometry::dimension<>.
2014-10-02 19:57:20 +02:00
Adam Wulkiewicz
e6331558a5 Merge pull request #150 from mkaravel/fix/for_each-alternate
[algorithms][for_each] Alternative fix
2014-10-02 12:33:47 +02:00
Adam Wulkiewicz
091ddae7db [convex_hull] Generate "proper" number of Points also when invalid Output is generated.
E.g. for 1- or 2-Point MultiPoint input the Output is a 0-area Ring (Point-like or Segment-like respectively). After this change it should contain "proper" number of Points (3 for open, 4 for closed). The additional Point is added by duplication of the first one.
2014-10-01 22:11:52 +02:00