Commit Graph

5259 Commits

Author SHA1 Message Date
Menelaos Karavelas
178696d511 [is_valid] rename {not_}equal_point to {not_}equal_to and use point as the outer template parameter object instead of iterator 2014-04-30 22:22:01 +03:00
Menelaos Karavelas
542278e42c Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-30 22:06:13 +03:00
Menelaos Karavelas
c2bf14e1c3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-30 22:05:09 +03:00
Barend Gehrels
9f1b9ff7ba [overlay] Calculate ratio for segment intersection where one segment is degenerate 2014-04-30 17:33:58 +02:00
Menelaos Karavelas
98e6dd3783 [overlay] add template parameter to follow and action_selector about removing spikes; the default behavior is to remove them; this is backward compatible with the
code before the changes in copy_segments
2014-04-30 15:57:51 +03:00
Menelaos Karavelas
c5c22d720c [is_valid / is_simple] move files one directory level up (ommit the ogc directory);
move code one namespace up (ommit the ogc namespace);
2014-04-30 12:34:52 +03:00
Menelaos Karavelas
65e1118669 [algorithms][overlay] allow for spikes in output likestrings; this modifies the behavior of existing set ops and allows to support linear geometries with spikes;
change copy_segments for linestrings to take a template parameter to control whether spikes are accepted or not; by default they are not accepted
(but the follow code now explicitly allows for them in places where it wasn't;
2014-04-30 12:12:27 +03:00
Menelaos Karavelas
a5056728b7 [copyright headers] unify the way they look 2014-04-30 12:11:13 +03:00
Menelaos Karavelas
f605bbc7d1 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-30 01:27:23 +03:00
Menelaos Karavelas
c9e33bbd50 [is_simple] add missing includes; fix coding style; 2014-04-30 00:47:58 +03:00
Menelaos Karavelas
a712981e28 [is_simple] implementation of is_simple for pointlike and linear geometries 2014-04-30 00:12:05 +03:00
Menelaos Karavelas
737eb681c1 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-29 23:02:05 +03:00
Menelaos Karavelas
4e14afc71f [is_valid] fix wrong result for empty multi-geometries 2014-04-29 23:00:38 +03:00
Menelaos Karavelas
d4c0f9d626 [is_simple] basic dispatch for is_simple 2014-04-29 20:05:57 +03:00
Menelaos Karavelas
e68f3b512c [is_simple] update code; fix includes; 2014-04-29 20:05:16 +03:00
Menelaos Karavelas
dfa427e83a [is_valid] fix includes 2014-04-29 20:04:35 +03:00
Adam Wulkiewicz
c88767bf2a Merge pull request #20 from sdebionne/develop
check_result_type is missing inline qualifier
2014-04-29 14:06:40 +02:00
Samuel Debione
118a750e9e check_result_type is missing inline qualifier
Function check_result_type is missing inline qualifier.
2014-04-29 13:47:09 +02:00
Adam Wulkiewicz
d682a74c1b [extensions/dissolve] Fix compilation error - pass segment_ratio<> to traversal_turn_info<>. Remove mistankenly commited test change 2014-04-29 13:19:11 +02:00
Adam Wulkiewicz
d44e1a1e01 [get_turns][extensions/dissolve] Fix VS compilation error (STATIC_ASSERT + template). Add not_implemented<> info to extensions/dissolve. 2014-04-29 13:06:04 +02:00
Menelaos Karavelas
f5589c6ebf Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-28 18:11:38 +03:00
Menelaos Karavelas
b4774ff964 [is_valid] implementation of OGC's is_valid for pointlike and linear geometries; moved unit tests to test/algorithms/ogc directory; 2014-04-28 18:08:47 +03:00
Adam Wulkiewicz
bf918c15d0 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-28 12:22:37 +02:00
Adam Wulkiewicz
2349c817e2 [get_turns] Fix turns generation for double collinear spikes.
Add check if a spike Point is realy an IP.
2014-04-28 12:21:06 +02:00
Menelaos Karavelas
333cfdccfb [turns] rename less functor from less_seg_dist_other_op to less_seg_fraction_other_op (to indicate that the fraction comparison is now used) 2014-04-28 10:29:45 +03:00
Menelaos Karavelas
65c57c4bfb [policies][robustness] properly initialize m_approximation in default segment_ratio constructor 2014-04-28 10:15:05 +03:00
Barend Gehrels
0311b165ab Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-27 20:54:46 +02:00
Barend Gehrels
ac913b5a67 Replaced #ifdef with extra parenthesis to solve macro/comma problems 2014-04-27 20:54:31 +02:00
Adam Wulkiewicz
294b888f76 [test][sectionalize] Fix GCC4.4 compilation error.
Explicitly use namespace geometry in sectionalize() overload used in the test.
2014-04-27 18:48:35 +02:00
Adam Wulkiewicz
d41be62461 [relate] refactor relate helpers.
Remove unused, commented-out code.
Improve the names.
2014-04-27 16:08:30 +02:00
Adam Wulkiewicz
6bbabf9867 [views][relate] Add detail::normalized_view<> and use it in relate_linear_areal.
It's a view connecting reversible_view and closeable_view, allowing to view a subrange of a Geometry as reversed and/or closed if necessary.
Polygons and similar Geometries are always CW, closed.
2014-04-27 04:11:22 +02:00
Adam Wulkiewicz
bcd64d3e40 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 15:28:33 +02:00
Adam Wulkiewicz
7615ac3392 [get_turns] Add template parameters to side_calculator<> defining types of all points.
It is possible to use side_calculator<> with Points of various types without the conversion.
2014-04-26 15:27:53 +02:00
Barend Gehrels
7e775f8d35 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 14:49:51 +02:00
Barend Gehrels
c33abbd521 [rescale] avoid rescaling boxes (as long as box_tag derives from areal_tag) 2014-04-26 14:49:28 +02:00
Adam Wulkiewicz
edfb2c29c0 [get_turns] Change parameters of intersection_info::is_spike_of_collinear() 2014-04-26 03:21:10 +02:00
Adam Wulkiewicz
f697aa85aa Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-26 03:04:40 +02:00
Adam Wulkiewicz
f671b5830f [get_turns] Refactor get_turns for L/L and L/A.
This change prevents duplication and decreases the number of parameters that must be passed to various functions and makes the code more readable.

Enclose parts of the code used in both implementations in one class - intersection_info. Move there IntersectionsResult, sides_calculator, spikes checks. Use this class in get_turn_info_linear_*. Provide convenient i_info() and d_info() to allow replacing result.template get<0>() and result.template get<1>() calls.
2014-04-26 03:03:58 +02:00
Barend Gehrels
b007b85c17 removed debug statement 2014-04-25 23:05:31 +02:00
Barend Gehrels
6a23b0ff80 [overlay] added metafunction rescale_overlay_policy_type to use rescaling
only for areal/areal
2014-04-25 22:57:55 +02:00
Adam Wulkiewicz
80654aea65 [get_turns] Refactor get_turn_info_for_endpoint::handle_segment(), remove unused variables.
The code was moved outside get_turn_info_for_endpoints, to linear_intersections.
The code in the caller is more clear and safer since all variables are initialized and stored in linear_intersections.
2014-04-25 19:34:11 +02:00
Adam Wulkiewicz
83f375fc96 [get_turns] Fix side_calculator Points order in get_turn_info_ll and get_turn_info_la 2014-04-25 12:44:59 +02:00
Samuel Debione
c0df65a209 Fix get_turn_info
Fix template parameter order in side_calculator call (would fail with
different point types).
2014-04-25 12:19:46 +02:00
Adam Wulkiewicz
17faeadaa6 [get_turns][relate] fix assert in get_turn_info, remove enriched_operation from relate/turns - additional distance is no longer needed 2014-04-25 01:01:00 +02:00
Adam Wulkiewicz
d59e66e6d2 Merge branch 'develop' into feature/relate 2014-04-25 00:31:42 +02:00
Adam Wulkiewicz
1da9113046 [relate][get_turns] Support spikes for Linear in relate(L/A). Fix errors in get_turns for L/L and L/A.
relate_linear_areal:
handle non-endpoint x-c turns pair generated for a collinear spike.

relate/follow helpers:
fix turn_on_the_same_ip to use fraction instead of dimension.

get_turns:
L/L and L/A - use base_turn_handler::assign_point() to set fractions properly for collinear-opposite spikes.
L/A - fix the condition in calculate_spike_operation() used to check if a spike goes into the interior or exterior.
2014-04-24 23:49:36 +02:00
Barend Gehrels
30f4bd08b0 [overlay] removed unused distance_type 2014-04-24 22:35:34 +02:00
Barend Gehrels
2455677196 [intersect] Make calculations similar form, added const 2014-04-24 22:31:27 +02:00
Barend Gehrels
6bc9252c6a [intersect] Removed unused calculation 2014-04-24 22:30:45 +02:00
Barend Gehrels
d11d84c10d [intersect] Removed debug statements and adapted comments 2014-04-24 22:30:13 +02:00
Adam Wulkiewicz
b4b902ac85 [get_turns] Add the support for spikes for Linear Geometry in get_turns_linear_areal 2014-04-24 18:41:37 +02:00
Adam Wulkiewicz
5412c3bcf2 [strategies] remove register keyword 2014-04-24 11:41:07 +02:00
Adam Wulkiewicz
5d90c2449d Merge branch 'develop' into feature/relate 2014-04-24 02:00:22 +02:00
Adam Wulkiewicz
10ed56670d Merge pull request #17 from mkaravel/develop
[recalculate] add missing include for boost typeof
2014-04-24 01:59:50 +02:00
Adam Wulkiewicz
2ac24d446a Merge pull request #16 from mkaravel/feature/setops
Feature/setops: fixes/changes due to recent changes in develop branch
2014-04-24 01:59:30 +02:00
Adam Wulkiewicz
d74deb998d [relate] Partially fix Point-sized Linestrings support in relate(L/L).
The latest robustness upgrade introduced changes that broke the support:
1. degenerated turns are now method_none+c/c. This is fixed by this commit.
2. ratios aren't calculated for degenerated turns (proviously distances were calculated by AssignPolicy).
2014-04-24 01:55:21 +02:00
Menelaos Karavelas
3c910ee528 [recalculate] add missing include for boost typeof; needed because of BOOST_AUTO_TPL; 2014-04-24 02:20:23 +03:00
Menelaos Karavelas
9d293c8c03 [set ops] degenerate turns have now method_none; update test for isolating points to check for this method 2014-04-24 02:01:39 +03:00
Menelaos Karavelas
680c826f58 [turns][debug] output the fraction value as part of the debug output 2014-04-24 02:00:34 +03:00
Menelaos Karavelas
31fd0797cc [set ops][turns] compare turns using the fraction instead of the distance 2014-04-24 01:59:42 +03:00
Adam Wulkiewicz
85b7589bb1 [geometry] Merge develop with feature/relate, resolve conflicts 2014-04-24 00:37:46 +02:00
Adam Wulkiewicz
babe91b210 [relate][get_turns] Add the support for spikes in relate(L/L). Fix errors in get_turns L/L.
Some asserts are invalid when 'x' operation can be somewhere in the middle (boundary_checker).
boundary_checker::is_boundary() function removed since it's not used anywhere.
Errors in get_turns are related to the handling of touches turn. t,i/i must be handled and is_collinear must be set in operations for spikes.
2014-04-23 23:43:00 +02:00
Adam Wulkiewicz
973e5a58bc [get_turns] Add handling of spikes for L/L for endpoints 2014-04-23 22:09:00 +02:00
Adam Wulkiewicz
9e78d642e9 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-23 16:35:09 +02:00
Adam Wulkiewicz
db318225f3 [touches] Add the implementation for Box/Box 2014-04-23 16:33:43 +02:00
Barend Gehrels
13cfa67d75 cleanup: RescalePolicy -> RobustPolicy, and removed corresponding define 2014-04-23 16:22:16 +02:00
Barend Gehrels
ed1f680e6d [get_rescale_policy] follow up, avoid casts, use numeric constants for ttmath 2014-04-23 15:37:51 +02:00
Barend Gehrels
cc71c5dbfb [get_rescale_policy] processed review comments and avoid type "double" 2014-04-23 15:31:51 +02:00
Barend Gehrels
1ebe08921d [segment_ratio] added spaces 2014-04-23 15:15:51 +02:00
Barend Gehrels
c032c2799f [segment_ratio] processed review comments 2014-04-23 15:02:41 +02:00
Adam Wulkiewicz
e351063b9d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-04-23 14:53:11 +02:00
Adam Wulkiewicz
f9c51246c2 [touches][relate] Replace use_relate with relate_base<> for automatic support generation. Also implement static_mask_touches_type<> as 2 parameter template. 2014-04-23 14:53:04 +02:00
Barend Gehrels
edc2c04c3d commented calculating distance policy 2014-04-23 13:32:46 +02:00
Barend Gehrels
8af53613b9 added no_rescale_policy for follow linear/linear 2014-04-23 13:32:32 +02:00
Barend Gehrels
d228fb8523 added robust_policy which is, for linear/linear or pointlike/pointlike,
not used in the end
2014-04-23 13:31:23 +02:00
Barend Gehrels
b0b9503f81 renamed variable which was not detected by the merge 2014-04-23 13:28:20 +02:00
Barend Gehrels
1ef54cd00a Added missing includes which are now necessary 2014-04-23 13:27:55 +02:00
Barend Gehrels
dc2993ae3a Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/relate/turns.hpp
	include/boost/geometry/algorithms/touches.hppq
2014-04-23 13:26:59 +02:00
Adam Wulkiewicz
9ee78e4686 [get_turns] Handle m spike for L/L, add more tests 2014-04-23 12:53:36 +02:00
Adam Wulkiewicz
3fc8acc3f9 [get_turns] Add the generation of spike IPs for L/L non-endpoint touching and collinear-opposite segments 2014-04-22 16:11:04 +02:00
Barend Gehrels
c3bd204708 [remove_spikes] Fixed polygons consisting only of a spike.
If so, spike is now removed and only one point is left.
2014-04-21 19:44:42 +02:00
Adam Wulkiewicz
12797dbfb7 [get_turns][relate] Handle spikes for L/L !opposite collinear and equal turns.
2 Turns are generated for a spike, one with operation_blocked the second one with operation_intersection.
relate_linear_linear is not working yet, for now it is only ensured that boundaries will not be checked for those turns, which would result with assert failure.
TODO: opposite collinear and equal, touches c/c and endpoints intersecting a spike + the adaptation of relate(L,L).
2014-04-20 01:36:08 +02:00
Barend Gehrels
2077f81164 Merge branch 'rescale_to_integer' of github.com:boostorg/geometry into rescale_to_integer 2014-04-19 20:01:16 +02:00
Barend Gehrels
d54ced58d4 Use smallest of the segment_ratios to calculate the intersection point,
w.r.t. either segment a or segment b.
This results in small differences in the unit test for difference, which are
checked visually and/or compared with other output. In these cases it is
an enhancement
2014-04-19 19:59:14 +02:00
Adam Wulkiewicz
d05e7397f0 [get_turns] Set position front/back for L in L/A for degenerated turn - for consistency with L/L 2014-04-18 18:30:48 +02:00
Adam Wulkiewicz
a99fda5362 [relate] Fix L/L : handling of MLs containing overlapping, collinear Linestrings.
It's also consistent with the behavior for Point-like Linestrings.

E.g. some MultiLinestring may have boundary and interior in the same point:

Ls1:
  |--------------|
MLs2:
  |------------|
|------|

In this case the current version of the algorithm will set BB=0 and BI=0.
2014-04-18 14:43:07 +02:00
Adam Wulkiewicz
89955b787b [get_turns][relate] Handle Point-size Linestrings
Point-size Linestring is a linestring containing exactly 2 equal points.

Add generation of positions for degenerated turns, non-degenerated segments in get_turns_linear_linear.
The code should be polished after the addition of info about the degeneration of segments into Turns.
2014-04-18 02:22:33 +02:00
Adam Wulkiewicz
d4bcf8dcc8 [iterators][relate] Fix Intel 11 compilation errors. 2014-04-17 12:09:07 +02:00
Adam Wulkiewicz
a7f1521756 [relate] Fix GCC 4.4 and 4.5 compilation errors
Explicitly define namespace for the call relate::set<> in implementations of relate().
2014-04-17 01:53:55 +02:00
Adam Wulkiewicz
08cc83be49 [geometry] Fix compilation errors
point_in_geometry - Intel 11 probably can't handle BOOST_STATIC_ASSERT() inside which some template is directly instiantated - replace by intermediate value + BOOST_MPL_ASSERT_MSG for better error message.
multi_touches test - include missing header
2014-04-17 01:42:48 +02:00
Adam Wulkiewicz
5ab27a4594 Merge branch 'develop' into feature/relate 2014-04-15 17:04:49 +02:00
Adam Wulkiewicz
23081a7c06 [point_on_surface] Fix GCC4.4 compilation error and polish the interface.
Explicitly define the namespace geometry.
Add doxygen description to return_point_on_surface().
2014-04-15 17:02:44 +02:00
Adam Wulkiewicz
aacf2618b9 [touches] added missing #include 2014-04-15 16:43:48 +02:00
Adam Wulkiewicz
4a4dbf4512 [relate][touches] Implement touches() for L/L and L/A using relate(), fix error in L/A.
Enable touches() for other pairs of Geometries.
Implement ready-to-use in the implementations of relate() less comparators of operations.
Change the less comparator for L/A.
Fix: handling of the entry/interior for some turn with MultiID which comes before union for some other turn with different MultiID.
Finish the support for boost::mpl::vector<> as a complex StaticMask.
2014-04-15 16:28:35 +02:00
Adam Wulkiewicz
eb11e26e14 Merge pull request #12 from mkaravel/feature/setops
[set ops] polish code and use std::find_if (suggestions by Adam);
2014-04-15 01:06:33 +02:00
Menelaos Karavelas
7ff3f1089d [set ops] polish code and use std::find_if (suggestions by Adam); 2014-04-15 01:53:55 +03:00
Adam Wulkiewicz
b5a1d2fd98 Merge pull request #11 from mkaravel/feature/setops
Feature/setops
2014-04-14 21:39:38 +02:00
Menelaos Karavelas
1da360a8f3 [iterators] add missing includes; rename InnerRange to inner_range (coding standards); 2014-04-14 11:09:57 +03:00
Menelaos Karavelas
fffc55d677 [set ops] polish/simplify follow L/L code; change some vairable names that are confusing; 2014-04-14 10:00:08 +03:00
Menelaos Karavelas
2427b4a904 [set ops] remove #ifdef/#endif block used for debugging 2014-04-14 09:59:36 +03:00
Menelaos Karavelas
1c301e7503 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-14 03:05:01 +03:00
Adam Wulkiewicz
7d028ab2d9 Merge pull request #9 from mkaravel/feature/setops
[set ops][follow L/L] fix bug appearing in regression tests
2014-04-12 11:26:02 +02:00
Menelaos Karavelas
b10bf20996 [set ops][follow L/L] fix bug appearing in regression tests regarding dereferencing a non-dereferencable iterator 2014-04-12 11:49:58 +03:00
Adam Wulkiewicz
18d28c3839 [geometry] fix invalid #include 2014-04-12 02:46:13 +02:00
Adam Wulkiewicz
f689693b80 Merge branch 'feature/relate' into develop 2014-04-12 02:10:13 +02:00
Adam Wulkiewicz
7f150855eb [within][covered_by] enable default relate strategy for cases other than P/P and P/* as far as CS is the same 2014-04-12 02:08:38 +02:00
Adam Wulkiewicz
d7b7df8614 [within][covered_by] Add the support for Areal geometries for within() and all OGC geometries for covered_by().
Also the specializations for Multi Geometries was moved from geometry/multi/algorithms to geometry/algorithms. They're now in one place.
The default strategies are point_in_point for PointLike, winding<> for PointLike/AnyGeometry, relate for L/L, L/A and A/A.
Point/MultiGeometry version now uses point_in_geometry directly which implements the correct behavior - this fixes the wrong handling of MultiLinestrings (boundary point of a Linestring may not be a boundary point of a MultiLinestring which contains it).
2014-04-12 01:40:27 +02:00
Adam Wulkiewicz
51c7957e69 [convex_hull] fix uninitialized pointers in ConvexHullStrategy concept check 2014-04-10 22:38:47 +02:00
Adam Wulkiewicz
93a2a5bc48 [relate][overlaps][crosses] Add unified way to implement the default dispatch of spatial relation
Add relate_base derived from not_implemented<> if necessary for the purpose of support_status check.
This class is derived from not_implemented<> if either StaticMaskTrait or detail_dispatch::relate::relate is derived from nyi::not_implemented_tag.
Use this technique in crosses() and overlaps().
2014-04-10 18:09:54 +02:00
Menelaos Karavelas
22274430b4 [set ops] remove #ifndef/#endif commands (not needed any more); 2014-04-10 15:13:48 +03:00
Menelaos Karavelas
6646470a55 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops-develop 2014-04-10 10:03:43 +03:00
Menelaos Karavelas
9f5252be0e [set ops] Barend's review: (1) fix #includes; (2) remove //===.. lines; (3) rename AssignPolicy to assign_policy (not a template parameter); 2014-04-10 09:19:45 +03:00
Menelaos Karavelas
dd11061f81 [set ops] Barend's review: (1) fix #includes; (2) remove //===... comment lines; (3) put struct pointlike_pointlike_point in detail_dispatch namespace;
Other: remove difference_intersection_pointlike_pointlike_point struct (not used)
2014-04-10 09:15:30 +03:00
Menelaos Karavelas
d7bcd44974 [set ops] remove unused code in #if 0/#endif block; remove some obvious comments; 2014-04-10 09:13:20 +03:00
Menelaos Karavelas
17f3b3be58 [set ops] Barend's review: (1) remove unused variables; (2) fix #includes; (3) remove Linestring const*;
Other: remove unused argument in process_turn;
2014-04-10 09:10:22 +03:00
Menelaos Karavelas
193bca333b [set ops] add missing includes; remove unnecessary ones 2014-04-10 08:57:25 +03:00
Menelaos Karavelas
caadd6ce00 [set ops] replace included unit test by unit test 2014-04-10 08:45:38 +03:00
Adam Wulkiewicz
ccc40d3a0b [relate] cleanup, increase the readability of relate() dispatching, remove unneeded code 2014-04-09 21:53:12 +02:00
Adam Wulkiewicz
edf8a613ff [doc][crosses][overlaps] add crosses() to make_qbk.py script, add parameters info to crosses() and overlaps() 2014-04-09 03:26:07 +02:00
Adam Wulkiewicz
0374154930 [relate] fix GCC compilation error caused by a missing #include 2014-04-09 01:52:41 +02:00
Adam Wulkiewicz
2753f5e30a [crosses] add missing files required by bg::crosses() algorithm 2014-04-09 01:34:34 +02:00
Adam Wulkiewicz
d3f8ea2f6b [crosses] add bg::crosses() algorithm 2014-04-09 01:33:37 +02:00
Adam Wulkiewicz
c1d4a09ec7 [overlaps] add support for P/P, L/L and A/A to overlaps() 2014-04-09 00:23:26 +02:00
Adam Wulkiewicz
9e00853dfa [relate] fix: add missing handling of single geometries for which no IPs were generated (exterior ring inside, hole outside) 2014-04-08 15:33:18 +02:00
Adam Wulkiewicz
1c7fa89626 [relate] Fix warnings (unused variables) 2014-04-08 00:16:21 +02:00
Adam Wulkiewicz
d76c94d643 [relate] add optimization for L/L ommitting parts of the algorithm if the result mustnot be updated 2014-04-07 23:52:40 +02:00
Adam Wulkiewicz
cce6c71782 [relate] Add optimizations for L/A disabling parts of the code if the result mustnot be updated 2014-04-07 21:20:20 +02:00
Adam Wulkiewicz
eca27bc8af Merge branch 'develop' into feature/relate 2014-04-07 14:31:16 +02:00
Adam Wulkiewicz
e7e0083428 [relate] Add optimization to A/A skipping parts of the algorithm if it's not possible to change the final result.
Add may_update() funcionality which may be used if it's possible to change the result for the specified matrix fields and overlap dimension.
Initialize flags in no_turns_aa_pred and uncertain_rings_analyser with values calculated using this functionality.
Add manual checks around the parts of areal_areal::apply() where IPs are sorted and analysed.
2014-04-07 14:18:34 +02:00
Menelaos Karavelas
3604f45e88 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-07 12:27:44 +03:00
Menelaos Karavelas
091bccbcff Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-04-07 12:25:44 +03:00
Menelaos Karavelas
a307bec090 [point iterator][concatenate iterator] replace enable_if mechanism by static assert; add templated assignment operator; make dereference and increment inline;
templatize equal for comparison against other concatenate iterator (needed for interoperability between const/non-const versions);
2014-04-07 11:31:42 +03:00
Menelaos Karavelas
cb3a103256 [point iterator] replace enable_if mechanism by static assert; 2014-04-07 11:30:20 +03:00
Menelaos Karavelas
0316b64019 [point iterator][flatten iterator] replace enable_if mechanism in copy constructor by static asserts;
add static assert to assignment operator; make dereference inline;
2014-04-07 11:27:46 +03:00
Adam Wulkiewicz
8c2ee6152a [relate] Fix wrong type in interrupt_policy for A/A.
Add tests for MLs/MLs, Ring/Poly, Ring/Ring.
2014-04-07 01:30:05 +02:00
Adam Wulkiewicz
7bde891d7a [relate] Add the support for IPs generated for "real" and "fake" holes.
Rename turns::less_seg_dist_op<> to relate::turns::less<>
It now takes the Comp defining how operations are sorted if segment and distance are equal.
Add 2 different operations comparators for L/L,L/A and A/A.
Add tests.
2014-04-07 01:08:24 +02:00
Adam Wulkiewicz
09ab2351f9 [relate] Add support for rings with no turns and some special cases in A/A.
Add support for:
- single geometries for which no turns were generated
- rings for which no turns were generated
- i/i and u/u turns

TODO: some cases where turns are generated for the intersection of a "real" hole and a "fake" hole (self-touching exterior ring).
2014-04-06 02:52:24 +02:00
Menelaos Karavelas
082adbb655 [point_iterator] fix errors and warnings for g++ and clang++ with C++11 enabled 2014-04-06 01:43:25 +03:00
Menelaos Karavelas
dfc3785d48 [feature/is_simple] implement OGC is_simple test for points, segments, multi-points, linestrings and multi-linestrings 2014-04-04 16:16:43 +03:00
Adam Wulkiewicz
47747938a6 [relate] add for now commented out ignoring of u/u turns in A/A, add some tests 2014-04-04 01:16:27 +02:00
Adam Wulkiewicz
d0dab345a8 Merge branch 'develop' into rescale_to_integer 2014-04-04 00:23:36 +02:00
Menelaos Karavelas
d08a0b1ad3 [set ops] removing duplicate turns is disabled now; no need for this, after Adam's fix; 2014-04-03 13:12:11 +03:00
Adam Wulkiewicz
8cb6366bb4 Merge branch 'develop' into feature/relate 2014-04-03 12:11:22 +02:00
Menelaos Karavelas
91d094673b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-03 13:05:16 +03:00
Adam Wulkiewicz
ca0c8b97df [get_turns] Fix turns dumplication for L/L.
Change the ignoring check calculation in get_turn_info_for_endpoint.
Add additional parameters to the second version of collinear_opposite<>::apply() defining if the pk and/or qk are valid (in other words current segment is NOT the last one).
Also make ignoring check for last endpoint in L/A more clear.
2014-04-03 11:58:50 +02:00
Menelaos Karavelas
6eed104318 [set ops] removed my name from the copyright header 2014-04-03 08:48:48 +03:00
Menelaos Karavelas
b49a67fd29 [set ops] remove code for removing extra points 2014-04-03 04:02:04 +03:00
Menelaos Karavelas
8f46bb45e8 [set ops] remove debug code; code is called from unit tests 2014-04-03 03:55:04 +03:00
Menelaos Karavelas
dd13023f5f [set ops] remove print-outs inside the file 2014-04-03 03:46:37 +03:00
Menelaos Karavelas
2d1eaf2ef3 [set ops] better/shorter implementation for follow of L/L geometries; fix bug in previous code (linestrings in multilinestrings that had no turns where not reported in difference) 2014-04-03 02:54:33 +03:00
Menelaos Karavelas
db2079834f [set ops] make some stylistic changes and code re-arrangement 2014-04-03 02:54:14 +03:00
Menelaos Karavelas
27921c5a14 [set ops] remove include of multi-point geometry 2014-04-03 02:51:55 +03:00
Menelaos Karavelas
52b0018eaa [set ops] add missing include 2014-04-03 01:04:20 +03:00
Menelaos Karavelas
4ceea13cf4 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-04-02 21:47:09 +03:00
Adam Wulkiewicz
2f9f454334 [get_turns] fix for MultiLinestrings containing Ls with equal points
In this case no sections were generated for those "empty" Linestrings but if there were some sections already generated they could be marked as last_non_duplicated.
2014-04-02 20:21:32 +02:00
Adam Wulkiewicz
47da24242c [relate] add code ignoring i/i turns, comment out some unneeded code in areal_areal 2014-04-02 20:14:34 +02:00
Adam Wulkiewicz
8c700e9f31 [relate] handle non-simple Polygons in A/A, NOT FULLY SUPPORTED
Not supported: i/i, non-intersecting rings
2014-04-02 14:10:36 +02:00
Menelaos Karavelas
598b6a51cf Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-04-02 11:09:17 +03:00
Adam Wulkiewicz
0c6a0d1890 [relate] Add HandleOtherTag to turns::less_seg_dist_op<>, change TurnAnalyser concept.
HandleOtherTag can be used to define how should the seg_id of the other geometry be used in comparison.
TurnAnalyser now must have two versions of apply(). One is called for it != last and the other one for it == last.
2014-04-02 01:38:19 +02:00
Adam Wulkiewicz
8774426417 [relate] rearrange updates of result in interrupt policy for A/A to show the handling pattern 2014-04-01 22:39:23 +02:00
Adam Wulkiewicz
f2fea86f7e [relate] fix special case of L/L and L/A - going out and in on the same point but with different segment.
Linestring going into the exterior of the second geometry and then going inside on the same point. In this case the exterior wasn't taken into account. Now in addition to the Point, seg_id is checked. The check should also be faster since integral segment ids are checked before Points.
exit_watcher methods now take Turn instead of Point, seg_id and other_id.
Also added some tests for non-simple A/A.
2014-04-01 22:20:29 +02:00
Menelaos Karavelas
ffdb1d34f0 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops
Conflicts:
	include/boost/geometry/algorithms/detail/relate/less.hpp
2014-04-01 04:05:50 +03:00
Adam Wulkiewicz
759258563e Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-04-01 00:12:22 +02:00
Adam Wulkiewicz
0a49cb1e3e [relate] support simple, equal geometries in currently used, simplified interrupt_policy 2014-04-01 00:11:57 +02:00
Adam Wulkiewicz
c27671336c Merge pull request #4 from mkaravel/feature/point_iterator
Merge feature/point_iterator into develop
2014-04-01 00:07:20 +02:00
Adam Wulkiewicz
2fc1ca4e9c [relate] Fix for_each_disjoint_geometry_if return value for Multi Geometries
Fix GCC warnings.
2014-03-31 09:41:17 +02:00
Barend Gehrels
b46222df9b Removed unused includes 2014-03-30 14:12:09 +02:00
Barend Gehrels
fc595715e1 Removed temporary BOOST_GEOMETRY_CHECK_RATIO information and define 2014-03-30 13:52:46 +02:00
Barend Gehrels
46125dccb5 Removed distance (replaced by fraction) and calculate_distance_policy file, not used anymore 2014-03-30 13:50:20 +02:00
Barend Gehrels
a4804287e8 Removed unused #include of file just removed 2014-03-30 13:24:19 +02:00
Barend Gehrels
a5646a9295 Fixed typo 2014-03-30 13:24:00 +02:00
Barend Gehrels
cfaa628017 Removed unused headerfile 2014-03-30 13:23:50 +02:00
Adam Wulkiewicz
b6bf7038c9 Merge branch 'develop' into feature/relate 2014-03-29 23:46:22 +01:00
Adam Wulkiewicz
df8ecf627c [get_turns] Fix after merge: use base_turn_handler::assign_point() instead of bg::convert() in L/L and L/A
The new function must be used because besides the copying of an intersection point fractions must be set in turns.
Apply the change in get_turn_info_for_endpoints and get_turn_info_linear_areal.
2014-03-29 23:18:37 +01:00
Adam Wulkiewicz
a444b5f85f Merge branch 'develop' into rescale_to_integer 2014-03-29 22:43:16 +01:00
Adam Wulkiewicz
b0221bcda1 [get_turns] fix invalid equal<> use (convert() for uninitialized Point) in get_turn_info_for_endpoints and get_turn_info_linear_areal 2014-03-29 14:08:11 +01:00
Adam Wulkiewicz
8f7e0a39e4 [relate] fix GCC compile errors - hiding of template parameters and unknown identifier in not used part of the code 2014-03-29 13:36:51 +01:00
Adam Wulkiewicz
2a30c8ac0d [geometry] Fixes after merge in get_turns - use of arrivals, compilation fixes in relate, use of fractions for sorting turns in relate 2014-03-28 14:55:28 +01:00
Menelaos Karavelas
e1f39cd065 [point_iterator] minor and stylistic changes; in concatenate_iterator use enable_if_c instead of enable_if (shorter code); 2014-03-28 00:30:50 +02:00
Menelaos Karavelas
5e96c27c84 [point_iterator] make private the constructor of point_iterator that takes the base class as argument; 2014-03-28 00:11:16 +02:00
Menelaos Karavelas
c127c56871 [point_iterator] changes due to new location of files and namespaces used; 2014-03-27 23:32:05 +02:00
Menelaos Karavelas
25e746cd2a [point_iterator] move code to new namespace; remove comments; points_begin/point_end now return point_iterator<Geometry> class (suggested by Adam); 2014-03-27 23:29:37 +02:00
Menelaos Karavelas
88264401a1 [point_iterator] change namespace from core_dispatch to dispatch; fix macros of files due to new location; 2014-03-27 23:28:07 +02:00
Menelaos Karavelas
5d27f4f301 [point_iterator][flatten_iterator] polish code a bit; fix problems with copy constructor; 2014-03-27 23:27:23 +02:00
Menelaos Karavelas
f5d48b3798 [point_iterator][concatenate_iterator] fix issues in copy constructor; 2014-03-27 23:26:25 +02:00
Menelaos Karavelas
8a8132e6c0 [point_iterator] moved files to proper directories 2014-03-27 23:23:51 +02:00
Adam Wulkiewicz
438494e045 [relate] add result interrupt check to no_turns_xxx predicates 2014-03-27 16:50:15 +01:00
Adam Wulkiewicz
7df83d69a7 [relate] add support for no-IP casesin A/A, fix for_each_disjoint_geometry_if for Multi Geometries.
Fix a bug in for_each_disjoint_geometry_if resulting in assert failure if no turns are generated. This affects L/L, L/A and A/A.
Enable all combinations of Areal geometries.
Add ignoring of empty disjoint geometries in L/A and A/A.
Add tests for disjoint geometries.
2014-03-27 16:35:43 +01:00
Menelaos Karavelas
64c11353be [point_iterator] move flatten and concatenate iterator implementation in iterators/ directory; 2014-03-27 02:25:38 +02:00
Menelaos Karavelas
555947d8e2 [point_iterator] define points_{begin,end} as inline free functions; 2014-03-27 02:11:02 +02:00
Adam Wulkiewicz
d4418204ec [relate] add support for non-simple non-equal Polygons in A/A.
Currently simple interrupt policy is used.
This approach works is there are IPs, Polygons are simple and not equal.
2014-03-27 00:30:43 +01:00
Adam Wulkiewicz
77c7317cb1 [relate][get_turns] move single_geometry to bg::detail, fix get_turn_info test
also create a preliminary version of relate::areal_areal (copied from linear_areal)
in get_turn_info test mutable begin() and end() because it seems that Range can't handle immutable Ranges
2014-03-26 18:37:31 +01:00
Barend Gehrels
fc85b868b5 [geometry] Fixes after merge: added rescale policy argument 2014-03-26 14:17:05 +01:00
Barend Gehrels
ba5ed78fd3 [geometry] Fixes after merge: propagate SegmentRatio template argument 2014-03-26 13:47:25 +01:00
Barend Gehrels
2bd9a0f7e8 [geometry] Fixed compilation errors after merge
(part 1: trivial changes)
2014-03-26 13:35:01 +01:00
Barend Gehrels
da7c741eb8 Merge branch 'develop' into rescale_to_integer
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_intersection_points.hpp
	include/boost/geometry/algorithms/detail/sub_geometry.hpp
	include/boost/geometry/algorithms/disjoint.hpp
	include/boost/geometry/algorithms/touches.hpp
	include/boost/geometry/algorithms/within.hpp
	include/boost/geometry/policies/relate/intersection_points.hpp
	test/algorithms/intersection.cpp
	test/algorithms/overlay/get_turn_info.cpp
2014-03-26 13:33:15 +01:00
Menelaos Karavelas
7abe47876b [feature/point iterator] implementation of point iterator for most geometries (not yet for point, segment & box); 2014-03-26 10:22:31 +02:00
Adam Wulkiewicz
830a073c0d Merge branch 'feature/relate' into develop 2014-03-25 15:10:48 +01:00
Adam Wulkiewicz
3a29d3a90c [relate] fix MinGW compilation error - add includes missing in relate/result.hpp 2014-03-25 03:16:40 +01:00
Adam Wulkiewicz
ccbc15b8a1 [get_turns][relate] handle doubled points in relate L/L and L/A
add info about the first/last non-doubled section to sectionalize
modify get_turns() to pass info about the first/last segment to TurnPolicy::apply()
modify parameters of TurnPolicy::apply()
add searching for the next non-equal point in relate L/A when the segment of Linear must be checked if it starts in the interior or exterior of the Areal
add tests for relate and within
add relate L/A to Jamfile
2014-03-25 00:29:25 +01:00
Adam Wulkiewicz
b6fc144de7 [relate][within] add tests for Linestrings with duplicated points 2014-03-24 19:27:35 +01:00
Adam Wulkiewicz
3b91c7ed34 [relate] fix compile errors (use of old names) 2014-03-23 17:54:52 +01:00
Adam Wulkiewicz
5316d1f2ad [geometry] replace sub_geometry::get() by sub_range(), fix invalid #includes 2014-03-23 17:16:56 +01:00
Adam Wulkiewicz
bddaadd8bc [geometry] round() moved to util/math, added doxygen info to round() and range utils 2014-03-23 16:34:06 +01:00
Adam Wulkiewicz
e99574f1ed [relate][get_turns] add missing brackets 2014-03-23 15:21:36 +01:00
Adam Wulkiewicz
025bd3b2bc [relate] overall cleanup, group_dim replaced by topological_dimension, group_tag by tag_cast, range moved to util/range.hpp, some temporary code commented out 2014-03-23 15:17:05 +01:00
Adam Wulkiewicz
5eec228f10 [relate][get_turns] the code from handle_spike from get_turn_info_ll enclosed in spike detector (NOT FULLY WORKING) 2014-03-22 11:21:49 +01:00
Barend Gehrels
5ec0912daa [geometry] scoped namespace detail_dispatch, necessary since using that
namespace from robust_type
2014-03-21 22:30:03 +01:00
Adam Wulkiewicz
21c42ed87e [within][get_turns] implement within() using relate() for L/L and L/A. Add some basic/NOT_FULLY_WORKING handling of collinear spikes for get_turns(L/L) 2014-03-21 17:24:21 +01:00
Menelaos Karavelas
44827bdb28 [set ops] update linear-linear set op computation based on Adam's modification of turn info that now contains the is_collinear member; 2014-03-21 13:46:49 +02:00
Menelaos Karavelas
2394873328 [turns] fix error in print_turns; now print_turns also prints the value of is_collinear in turn info; 2014-03-21 13:45:25 +02:00
Menelaos Karavelas
61322d5679 [turns] add function for printing debug info for turns; 2014-03-21 13:43:40 +02:00
Menelaos Karavelas
e65e0718ad Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-20 11:21:00 +02:00
Adam Wulkiewicz
b79b857d1e [relate][get_turns] fixed (GCC) compilation errors (missing include, typename keyword, shadowing of template parameters) 2014-03-20 01:59:33 +01:00
Adam Wulkiewicz
9d49d802e9 [relate] group_dim util moved to separate file 2014-03-20 01:45:27 +01:00
Adam Wulkiewicz
f9c0a09c38 [relate] implement proper handling of multiple rings while checing for equality with the linestrings, enable relate() for all ls- and poly-based geometries 2014-03-20 01:03:34 +01:00
Adam Wulkiewicz
3e926cb818 [relate] implement the check for boundaries of Areal equal to Linear geometries in L/A 2014-03-19 19:50:54 +01:00
Barend Gehrels
616e678ef1 [geometry] added first version of detail intersection_side function
To be used for buffer where robust info is needed of side of IP's
2014-03-19 17:01:02 +01:00
Menelaos Karavelas
0a2f52ad93 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops
Conflicts:
	include/boost/geometry/algorithms/detail/overlay/get_turn_info_for_endpoint.hpp
	include/boost/geometry/algorithms/detail/relate/turns.hpp
2014-03-19 17:25:19 +02:00
Menelaos Karavelas
8c2e7ea282 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-03-19 17:12:41 +02:00
Adam Wulkiewicz
e0179e67e0 [relate] support ccw and open geometries, use closeable_view and reversable_view if needed 2014-03-18 23:27:18 +01:00
Adam Wulkiewicz
8cf2cfacc3 [get_turns] fix is_collinear calculation for methods t and m for L/L and L/A 2014-03-18 12:33:25 +01:00
Adam Wulkiewicz
6106fe6d1b [relate] change less_seg_dist_op comparator to support multipolygons 2014-03-18 11:43:35 +01:00
Adam Wulkiewicz
173371265f [relate] fix II for LS on boundary going out and in to the boundary of another ring on the same IP 2014-03-18 00:52:20 +01:00
Adam Wulkiewicz
e461f1003b [relate] fix duplication of points for BACK in L/A 2014-03-17 23:45:28 +01:00
Adam Wulkiewicz
3336212aaa [relate] fix sorting by distance in less_seg_dist_op 2014-03-17 15:52:32 +01:00
Adam Wulkiewicz
d5935134ef [relate] add interrupt policy for L/A 2014-03-17 15:23:35 +01:00
Adam Wulkiewicz
b4417c40ad [relate] add basic get_turns interrupt policy for L/L 2014-03-17 14:16:25 +01:00
Menelaos Karavelas
79bbb5a408 [geometry][append] updated copyright headers 2014-03-17 09:51:37 +02:00
Menelaos Karavelas
971247df04 updated the documentation wrt multi-linestrings and multi-polygons 2014-03-17 09:42:14 +02:00
Adam Wulkiewicz
ac8d628b8e [relate] fix error in static handler set dispatch, require const boundary checkers in algorithms 2014-03-17 00:52:37 +01:00
Menelaos Karavelas
429b5e0037 implementation and unit test for bg::append for multi-linestring and multi-polygon 2014-03-14 23:04:01 +02:00
Adam Wulkiewicz
19837bbe03 [relate] L/A: fix generation of matrix elements for L collinear to boundary of A 2014-03-14 17:54:17 +01:00
Adam Wulkiewicz
8bd4efbc26 [relate] add support for non-simple polygons 2014-03-14 16:57:10 +01:00
Adam Wulkiewicz
80b1c54b65 [relate][get_turns] fix turn generation for last LS endpoint in get_turns(L,A), in relate(L,A) handle Linestrings starting from the inside 2014-03-14 13:05:51 +01:00
Menelaos Karavelas
29b3b46e30 prototype implementation for set operations for pointlike-linear geometries; 2014-03-14 10:12:06 +02:00
Menelaos Karavelas
f934a3aa5f moved code to separate files;
added template parameter for enabling/disabling functionality wrt filtering turns, removing turns, and the parameters of the assign policy;
2014-03-14 10:11:02 +02:00
Adam Wulkiewicz
a6b0a32846 [relate] handle simple polygons in relate(L,A), remove some redundant code from L/L and L/A, add tests 2014-03-13 14:54:42 +01:00
Adam Wulkiewicz
4f32a3743f [relate][get_turns] added not yet finished support for relate(L,A), changed operations generated by get_turns(L,A) for collinear segments of Areal geometry, fixed errors in relate(L,A) 2014-03-13 01:08:57 +01:00
Adam Wulkiewicz
3c4ed4e396 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-03-12 19:18:20 +01:00
Adam Wulkiewicz
924d222e7f [relate][get_turns] fixed relate(L/L) error for collinear segments and a self-intersection in the middle, added is_collinear to turn_operation_linear, added setting of is_collinear to get_turns(L/L), fixed logic error in turns generation for endpoint-internal IP 2014-03-12 19:18:11 +01:00
Menelaos Karavelas
0fc2b5cbeb fixed issue with ambiguous partial specialization; 2014-03-12 16:51:36 +02:00
Adam Wulkiewicz
3142975b72 [relate] supported ORed run-time masks 2014-03-12 12:39:20 +01:00
Menelaos Karavelas
39ccab7622 added one more template parameter (dimension for second point);
used to make sure that less is not called for points of different dimensions;
2014-03-12 11:23:09 +02:00
Menelaos Karavelas
d9e741c106 implemented set operations for pointlike-pointlike geometry combinations;
added unit tests for union, intersection and difference for pl-pl pairs;
2014-03-12 11:19:44 +02:00
Adam Wulkiewicz
8e9a59bac3 [relate] helpers like segment_watcher, exit_watcher, etc. moved to a separate file, implemented preliminary version of L/A (commented out for now), found bug in L/L, added failing tests 2014-03-11 18:06:47 +01:00
Adam Wulkiewicz
fe0e34bff6 [relate][get_turns] fixed incorrect dispatching of static masks, tag_base<> replaced by group_tag<> and moved to namespace detail, added group_dim<> 2014-03-11 01:51:23 +01:00
Adam Wulkiewicz
4182cb916b [relate] TODOs regarding predefined masks added 2014-03-10 17:25:11 +01:00
Adam Wulkiewicz
d91db3a2e0 [relate] added ready-to-use static masks for various spatial relations 2014-03-10 15:03:57 +01:00
Adam Wulkiewicz
d209b4fbd2 [relate] added functions check() and interrupt(), added parameter EnableInterrupt to static_interrupt for consistency 2014-03-10 12:08:16 +01:00
Adam Wulkiewicz
4987e8d13d relate() implemented support for complex static masks as a MPL sequences 2014-03-10 03:02:11 +01:00
Adam Wulkiewicz
5f0ab7962f relate() static_mask_handler::update() dispatching fixed 2014-03-09 22:29:27 +01:00
Adam Wulkiewicz
9ca11feb90 relate() static_mask and static_mask_handler implemented 2014-03-09 22:24:09 +01:00
Barend Gehrels
511605369a [geometry] Use robust-policy in side-related-functions
Functions: side_on_convex_range and get_side
2014-03-09 15:24:59 +01:00
Barend Gehrels
340fbc61d6 [geometry] buffer cleanup, removed dead code 2014-03-09 15:18:40 +01:00
Barend Gehrels
124012019a [geometry] Test point-equality using rescale policy 2014-03-09 14:56:35 +01:00
Barend Gehrels
ed572055be [geometry] buffer: fixed code inside BOOST_GEOMETRY_DEBUG_WITH_MAPPER for
new changes for rescale strategies
2014-03-09 12:51:49 +01:00
Barend Gehrels
ed78d7027d [geometry] Fixed the changed copy_segments signature for buffer 2014-03-09 12:19:03 +01:00
Adam Wulkiewicz
09c41cb171 relate() - const MatrixOrMask may be passed to the function, the actual matrix is now stored in the result handler 2014-03-08 19:59:39 +01:00
Adam Wulkiewicz
1e6da76527 relate() implemented different interface, added support for complex masks passed in boost::tuple 2014-03-08 19:31:06 +01:00
Adam Wulkiewicz
b6ad82a0c2 relate() naming of results changed, added de4im matrix 2014-03-07 19:41:54 +01:00
Barend Gehrels
61c7999cdd [geometry] added missing includes for recent changes 2014-03-05 22:49:02 +01:00
Menelaos Karavelas
f9bc59a423 proper implementation of the erase-remove idiom; 2014-03-05 13:40:35 +02:00
Barend Gehrels
f3fd9084ea [geometry] moved zoom_to_robust to algorithms/detail 2014-03-05 12:04:56 +01:00
Barend Gehrels
921c7d2f14 [geometry] splitted file zoom_to_robust.hpp into several files:
- get_max_size
- rescale_policy
- robust_type
- get_rescale_policy
2014-03-05 12:01:43 +01:00
Adam Wulkiewicz
9ff0624b41 relate(L,A) added preliminary implementation, for now working only for disjoint geometries 2014-03-04 17:37:12 +01:00
Adam Wulkiewicz
38147c2fc7 relate() for_each_disjoint_linestring_if utility now works for all geometries, renamed to for_each_disjoint_geometry_if 2014-03-04 16:55:18 +01:00
Adam Wulkiewicz
8ae3b591d3 relate(L,L) unused code commented out 2014-03-04 15:37:34 +01:00
Menelaos Karavelas
9bbac740b7 stylistic changes according to Barend's review; 2014-03-04 16:24:38 +02:00
Menelaos Karavelas
1c318af64a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-03-03 21:37:40 +02:00
Menelaos Karavelas
6a87866339 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-03 21:37:30 +02:00
Adam Wulkiewicz
02cdc305d3 get_turns(L,A) - fixed turns generation for endpoints of collinear front/back segments, added some tests 2014-03-03 19:21:12 +01:00
Adam Wulkiewicz
325b2e2bb0 get_turns(L,L) - TODO comment added 2014-03-03 18:19:37 +01:00
Adam Wulkiewicz
4fd21c2fa7 get_turns(L,A) - handled the back endpoint of the Linestring 2014-03-03 18:16:02 +01:00
Adam Wulkiewicz
ebaf26c0ff get_turns(L,A) handled front endpoint 2014-03-03 13:36:23 +01:00
Adam Wulkiewicz
be1ac99a82 get_turns(L,A) added, the endpoints are NOT properly set yet! 2014-02-28 18:59:30 +01:00
Adam Wulkiewicz
ad201710c7 generation of turns for linestrings endpoints moved from get_turn_info_ll.hpp to separate file, some run-time parameters replaced by compile-time parameters 2014-02-28 16:51:57 +01:00
Adam Wulkiewicz
1234e21c53 [geometry][index] rtree packing algorithm optimized, partial_sort replaced by nth_element, thanks to Lu Wang 2014-02-28 14:00:33 +01:00
Menelaos Karavelas
1c4ecf5b94 new implementation for union, following discussion with Barend;
updated unit test for union a bit;
2014-02-27 16:46:22 +02:00
Adam Wulkiewicz
040f9ed6e9 some comments changed in relate/turns.hpp 2014-02-27 15:31:11 +01:00
Adam Wulkiewicz
e8b5e64f2b added empty test for get_turns(L,A) and some small changes like naming, comments. to_svg() (test debug helper tool) is now using turn_info defined in relate::turns, also traversal info output commented out. 2014-02-27 15:20:51 +01:00
Adam Wulkiewicz
629d6b1246 relate/less.hpp copyrights fixed 2014-02-27 02:18:12 +01:00
Adam Wulkiewicz
9ad7ec98a8 detail::relate::less moved to separate file 2014-02-27 02:17:08 +01:00
Barend Gehrels
4211a2b1e9 [geometry] Use robust_policy in append_no_dups_or_spikes
Only if robust_policy would make any difference, so we added an "enabled"
boolean into the policy
2014-02-26 12:05:48 +01:00
Adam Wulkiewicz
9ed47574e1 relate(L,L) readability of some parts of the code improved 2014-02-25 18:11:11 +01:00
Adam Wulkiewicz
6f4094ec2a relate(L,L) some comments added 2014-02-25 17:59:02 +01:00
Adam Wulkiewicz
37db735b38 relate(L,L) recently introduced turn position info used to optimize boundary points detection 2014-02-25 17:37:00 +01:00
Adam Wulkiewicz
736f26db4a get_turns(L,L) turn_position now indicates the global position in linestring, not local in segment, for consistency - this was set only for the first and the last segment 2014-02-25 16:47:18 +01:00
Adam Wulkiewicz
261b35a323 get_turns(L,L) got rid of the duplicated part of the code 2014-02-25 16:38:06 +01:00
Adam Wulkiewicz
0a70310124 get_turns(L,L) added turn_operation_linear containing info about the position of the IP in the segment 2014-02-25 13:39:09 +01:00
Menelaos Karavelas
bd736c2e69 added end-of-namespace comment 2014-02-25 02:10:03 +02:00
Menelaos Karavelas
5bf941aa2e added stronger type checking for geometries passed to linear geometry set op algorithm code; 2014-02-25 02:08:00 +02:00
Menelaos Karavelas
ea421976c5 added doxygen-related macro 2014-02-25 01:46:59 +02:00
Menelaos Karavelas
835c0fce1d added proper copyright header 2014-02-24 23:20:11 +02:00
Menelaos Karavelas
b7c939cc8a added implementation for union of linear geometries 2014-02-24 23:13:33 +02:00
Menelaos Karavelas
4030dd7c4b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-24 22:20:35 +02:00
Adam Wulkiewicz
00941b7d50 Implemented relate(MultiPoint, MultiPoint), added detail::relate::less comparing Point types with different coordinate_type, added some TODO notes regarding possible optimizations 2014-02-24 17:47:29 +01:00
Adam Wulkiewicz
39d0d3bd75 Merge branch 'feature/relate' of github.com:boostorg/geometry into feature/relate 2014-02-24 15:17:20 +01:00
Adam Wulkiewicz
7033337149 IP coordinates rounded to the nearest value instead of a cast in segments_intersection_points if coordinate_type is integer 2014-02-24 15:16:37 +01:00
Menelaos Karavelas
9393ff10b5 moved follow_linear_linear.hpp to detail/overlay directory;
moved linear/linear geometry follow functionality in bg::detail::overlay::follow::linear namespace;
2014-02-24 05:57:53 +02:00
Menelaos Karavelas
8509f3668a changed follow_linear_linear dispatch a bit;
added a small optimization in process_turn;
2014-02-24 05:44:59 +02:00
Menelaos Karavelas
671a28aed4 updated copyright year for Barend; 2014-02-23 11:48:50 +02:00
Menelaos Karavelas
e11dcd9bbf intersection now includes isolated intersection points; exact behavior depends on the definition of related macros;
updated unit test to test for isolated intersection points as well;
2014-02-23 11:47:13 +02:00
Menelaos Karavelas
0cd6e23494 added code for detecting isolated intersection points;
no action implemented yet;
2014-02-22 16:10:55 +02:00
Menelaos Karavelas
ba809a838c removed unused function parameters; 2014-02-22 15:42:14 +02:00
Menelaos Karavelas
c00f46550b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:55 +02:00
Menelaos Karavelas
b0e5a71464 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 15:24:24 +02:00
Adam Wulkiewicz
684b29cbe3 relate() - fixed clang warnings 2014-02-22 12:38:04 +01:00
Adam Wulkiewicz
a68d9f5855 fixed GCC compilation errors 2014-02-22 04:29:11 +01:00
Menelaos Karavelas
c13877c69e re-activated code that removes duplicate turns (needed again for now);
code can be disabled by defining the appropriate macro;
2014-02-22 00:13:01 +02:00
Menelaos Karavelas
a7e2d325f0 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-22 00:10:30 +02:00
Adam Wulkiewicz
0fd875fb63 relate() added Point-MultiPoint, point_point moved to the separate file, Geometries sequence is reversed if needed to not duplicate the code - for this Transpose is also used as the parameter to set<>(result) 2014-02-21 19:25:27 +01:00
Adam Wulkiewicz
89e412f5b4 added test for relate(Pt,Pt), added a TODO in relate::linear_linear 2014-02-21 17:56:40 +01:00
Adam Wulkiewicz
6482716689 relate() Finished the implementation for Point/Geometry, added topology_check util, added tests 2014-02-21 17:51:37 +01:00
Adam Wulkiewicz
93b82b734d relate() added interruption_enabled flag to policy which can be used to create optimized mask type not checking for interuption per each set<>() 2014-02-21 15:34:52 +01:00
Adam Wulkiewicz
a03f554e27 relate() Added the interruptable mask Result, handled arbitrary Result type in relate(), added tests for masks and interruption, fixed warning in get_turns_ll 2014-02-21 00:40:09 +01:00
Adam Wulkiewicz
47b958ec53 relate()/get_turn_info_ll added TODO and commented out unused code 2014-02-20 23:29:39 +01:00
Adam Wulkiewicz
d13ff170be relate(L,L) code refactored, tests added 2014-02-20 23:10:16 +01:00
Adam Wulkiewicz
9b16fdcf23 relate(L,L) handled case when several BLOCK operations were generated for the same point, fixed an error for BLOCK generated for a geometry touching the other one from the "outside" 2014-02-20 22:47:23 +01:00
Menelaos Karavelas
76e9e33924 changed the namespace where the linear/linear set-ops code lives from difference to overlay 2014-02-20 23:32:52 +02:00
Menelaos Karavelas
7450b64706 moved file linear_linear.hpp from detail/difference to detail/overlay 2014-02-20 13:41:53 +02:00
Menelaos Karavelas
c5048bd8f9 updated implementation so that it works for the intersection of linear geometries 2014-02-20 13:37:43 +02:00
Menelaos Karavelas
b66e411200 added dispatch for linear geometries' difference 2014-02-20 13:37:06 +02:00
Menelaos Karavelas
e56ca86a03 added parentheses in order to remove compiler warning 2014-02-20 12:57:57 +02:00
Menelaos Karavelas
4ad18efba9 minor stylistic change 2014-02-20 08:54:34 +02:00
Menelaos Karavelas
ed5852b282 replaced BOOST_CHECK by BOOST_ASSERT 2014-02-20 08:39:00 +02:00
Adam Wulkiewicz
a125811d56 relate(L,L) the ref to perviously analysed turn and operation added to turn_analyser<> 2014-02-19 15:45:02 +01:00
Adam Wulkiewicz
c2e1331270 relate(L,L) handling of 1-point linestrings replaced by simple ignoring (for now) since those are not valid geometries, the code was not removed though in case we wanted to e.g. enable it with some macro check. 2014-02-19 14:42:05 +01:00
Menelaos Karavelas
8412e9f3ba simplified dispatch for difference of linear geometries 2014-02-19 13:45:38 +02:00
Menelaos Karavelas
0ca5d2f13a re-arranged code so that linestrings are not transformed to multilinestrings;
added implementations for all four pairs of LS/MLS combinations;
added unit tests that were missing for new combinations;
2014-02-19 13:37:04 +02:00
Barend Gehrels
6269c5f4c1 [geometry] Simplified copy_segments template signature,
now that we also added RobustPolicy
2014-02-19 12:31:40 +01:00
Barend Gehrels
3ec7162957 [geometry] Added RobustPolicy to copy_segments and append_no_dups_or_spikes
- and moved typedefs inside function two times
- no other actions
2014-02-19 12:18:16 +01:00
Barend Gehrels
13aa0b07db [geometry] Append without duplicates, fixed 3 calls 2014-02-19 11:18:20 +01:00
Menelaos Karavelas
1f9ccb6698 rearranged and simplified test code for differences of linear geometries;
added test cases for the LS/MLS difference;
polished debug macros a bit;
2014-02-19 09:25:30 +02:00
Menelaos Karavelas
7d3fef405e Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-19 09:00:09 +02:00
Adam Wulkiewicz
b03601fab8 get_turns(L,L) fixed 2x IPs generation for a special case of collinear, opposite last Ls segment 2014-02-19 02:26:15 +01:00
Menelaos Karavelas
1fdf91064c added support for the LS/MLS difference; need to add tests as well 2014-02-18 18:02:02 +02:00
Adam Wulkiewicz
1e871f8ae6 relate() result refactored, result concept crystalized, prepared for compile-time interruptable result types 2014-02-17 17:37:46 +01:00
Adam Wulkiewicz
99610ca124 relate(L,L) handled the rest of cases with 1-point linestrings involved, added interrupt member to relate result - it may be used to break the calculation 2014-02-16 22:23:14 +01:00
Barend Gehrels
17356d7d7d [geometry] Fix for integer-distance-point-to-polygon,
submitted by Menelaos Karavelas
2014-02-16 21:53:00 +01:00
Adam Wulkiewicz
9f54142896 relate(L,L) handled some cases with 1-point linestrings involved (if 1-PtLS is disjoint or there are other Ls in the other MLs) 2014-02-16 18:26:41 +01:00
Adam Wulkiewicz
4815e00048 relate(L,L) disjoin linestrings contained in multilinestring properly handled. In the case of disjoint linestrings almost all special cases are handled non-simple linear rings, 1-point linestrings. Linestrings containing >1 equal points are for now treated as normal linear rings, this should probably be changed. 2014-02-15 21:51:47 +01:00
Adam Wulkiewicz
25ce65b28a relate(L,L) has_disjoint_sub_geometries simple check replaced by for_each_disjoint_linestring_if taking predicate checking linestrings 2014-02-15 19:00:26 +01:00
Adam Wulkiewicz
00e69bbea3 relate(L,L) - restored asserts in boundary_checker, added proper calculation of seg_ids for the first and last point of a range 2014-02-15 01:21:57 +01:00
Adam Wulkiewicz
551069e555 relate() added has_disjoint_sub_geometries check - not working for all special cases, should be replaced with e.g. for_each_disjoint_sub_geometry 2014-02-14 18:44:14 +01:00
Adam Wulkiewicz
2437538ccd added point_in_point agnostic strategy and point_in_geometry() for Point and MultiPoint 2014-02-14 15:07:02 +01:00
Adam Wulkiewicz
868b54c644 relate() boundary_checker moved to separate file 2014-02-14 14:01:20 +01:00
Adam Wulkiewicz
1f2041594a relate(L,L) added asserts to boundary_checker 2014-02-14 13:52:27 +01:00
Menelaos Karavelas
b1d78e1a85 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:40:41 +02:00
Menelaos Karavelas
734dcb7930 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-14 09:39:46 +02:00
Adam Wulkiewicz
790c0027a0 relate(L,L) fixed some compilation errors for MultiLinestrings, some parts of the code temporarily commented out, added failing test - currently used algorithm is analysing only those Linestrings which are intersecting the other geometry, other ones are NOT taken into account 2014-02-14 00:30:10 +01:00
Adam Wulkiewicz
b114b814d4 relate(L,L) the algorithm analysing one turn enclosed within turn_analyser 2014-02-14 00:10:39 +01:00
Barend Gehrels
8af588045e [geometry] Fixed results for distance of integer point types point-segment
or point-linestring
2014-02-13 22:18:39 +01:00
Adam Wulkiewicz
0aa1ca08d9 relate(L,L) added exit_operation to exit_watcher 2014-02-13 17:15:05 +01:00
Adam Wulkiewicz
9fe9d7259c relate(L,L) handled G1 last range point boundary in the exterior of G2 2014-02-13 01:08:08 +01:00
Menelaos Karavelas
2c3713270f added code that removes duplicate turns; 2014-02-13 01:48:56 +02:00
Adam Wulkiewicz
7429694b54 relate(L,L) added checks for boundaries for the first points of ranges of G1 which are in the exterior of G2 2014-02-13 00:12:39 +01:00
Barend Gehrels
52fc96ccc1 [geometry] Get buffer in compileable state w.r.t. rescale policies 2014-02-12 22:44:28 +01:00
Menelaos Karavelas
a1ac024c5b Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 18:06:37 +02:00
Adam Wulkiewicz
b943f3de26 get_turns(L,L) another special case handled 2014-02-12 16:53:06 +01:00
Barend Gehrels
832ea52015 [geometry] removed "distance" from enhanced_info
(now protected by ifdef). Also removed calculate_distance_policy, and "r".
All these are now obsolete.

This also removes the verify_r in cart_intersect
2014-02-12 16:38:42 +01:00
Barend Gehrels
bb60749540 [geometry] Use fraction instead of distance for "follow" and enrichment 2014-02-12 16:36:58 +01:00
Barend Gehrels
02deb84786 [geometry] Fixes for new MSVC issues 2014-02-12 12:54:26 +01:00
Barend Gehrels
2a85b339f1 [geometry] Fix compile errors w.r.t. changed turn_info in touches 2014-02-12 12:14:23 +01:00
Menelaos Karavelas
a366f120f7 changes in code for linear-linear geometries difference 2014-02-12 13:03:35 +02:00
Barend Gehrels
8d202fd319 [geometry] Verified compatibility with/without robust rescaling
We now have the define BOOST_GEOMETRY_NO_ROBUSTNESS to avoid rescaling
(probably should be renamed)
2014-02-12 11:45:02 +01:00
Barend Gehrels
664bd2b488 [geometry] Rescaling, build-fixes, changed assert's in conditions,
comment changes, handle_tangencies: now skip overlap_info
2014-02-12 11:43:50 +01:00
Adam Wulkiewicz
c5cbf5e6f2 relate() - added BoundaryQuery parameter to boundary_checker, makes possible to specify if the boundary should be at the first point, last or might be on both, etc. 2014-02-12 03:38:26 +01:00
Barend Gehrels
f3147001b5 [geometry] Splitted file rescale.hpp into different files:
segment_ratio_type
robust_point_type
no_rescale_policy
2014-02-11 23:08:32 +01:00
Menelaos Karavelas
0848049a10 Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-12 00:02:27 +02:00
Adam Wulkiewicz
5bb4c45ff5 get_turns(L,L) fixed another case for opposite linestrings 2014-02-11 17:06:43 +01:00
Menelaos Karavelas
a0e56a6157 current implementation for difference of linear geometries (still a prototype);
added some copyright headers and made minor fixes;
2014-02-11 16:22:39 +02:00
Menelaos Karavelas
9418d4b3e3 added copyright headers 2014-02-11 10:39:26 +02:00
Menelaos Karavelas
773331f6d9 implementation of follower for linear geometries;
added test files for difference of linear geometries;
2014-02-11 10:37:45 +02:00
Menelaos Karavelas
e3ce00473d Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-02-11 08:38:01 +02:00
Adam Wulkiewicz
4a4acf00cb [get_turns] fixed error in get_turn_info_linear_linear - invalid operations generated for the endpoint-internal IP for opposite segments 2014-02-11 02:57:39 +01:00
Adam Wulkiewicz
21dfef6f05 get_turn_info_linear_linear<>::handle_first_last() method moved to better reflect calling dependency 2014-02-11 01:30:22 +01:00
Menelaos Karavelas
e87d9ccb55 added helper function to print turns 2014-02-10 11:06:19 +02:00
Menelaos Karavelas
7abd905013 added custom turn comparison functors 2014-02-10 10:56:33 +02:00
Barend Gehrels
f6ce9e2c91 [geometry] Moved robustness policies to policies folder
Also added unit-test to develop/test behaviour of different policies
2014-02-09 19:29:01 +01:00
Barend Gehrels
547ed12024 [geometry] Changes for segment_ratio
Removed as default parameter, removed default type-defs for robust_point_type
and for segment_ratio_type
2014-02-09 19:05:40 +01:00
Adam Wulkiewicz
e36c2027ec relate(L,L) handled one special case, still not fully working 2014-02-08 23:40:42 +01:00
Adam Wulkiewicz
d56a7bcc2e relate(L,L) algorithm without preliminary boundaries analisys - work in progress 2014-02-07 18:58:53 +01:00
Barend Gehrels
83703aac99 [geometry] removed/changed comment 2014-02-06 22:28:01 +01:00
Barend Gehrels
99b3e8a24d [geometry] Allow different types for Cramers rule 2014-02-06 22:27:15 +01:00
Barend Gehrels
03c8f6822f [geometry] explicitly specify SegmentRatio type for turn_info 2014-02-06 22:26:55 +01:00
Adam Wulkiewicz
5e3223e467 fixed error in relate(), entry points seg_id replaced by other_seg_id - required for MultiLinestrings 2014-02-06 01:27:52 +01:00
Adam Wulkiewicz
4881b94ee6 added a comment 2014-02-06 00:47:16 +01:00
Adam Wulkiewicz
c0598807db handled non-simple Linestrings, for now without spikes 2014-02-06 00:22:54 +01:00
Barend Gehrels
7c6ba53e59 [geometry] Added RescalePolicy (to get SegmentRatio) to strategy_intersection
Some creations/instances of rescale policy had therefore to be moved
2014-02-05 14:06:00 +01:00
Barend Gehrels
1b23e260d5 [geometry] Removed commented unused code 2014-02-05 14:02:07 +01:00
Barend Gehrels
05e9c7905d [geometry] Use side strategy only in relative order
(preparing next commit changing strategy_intersection)
2014-02-05 14:01:50 +01:00
Barend Gehrels
24a11fe984 [geometry] Added comparisons for segment_ratio's based on float 2014-02-05 11:37:13 +01:00
Barend Gehrels
336f73e276 [geometry] made SegmentRatio as a template argument for turn_operations,
and therefore for turn_info and many more
2014-02-05 11:36:42 +01:00
Adam Wulkiewicz
2e4bafa27c fixed #define, added some comments 2014-02-03 19:45:07 +01:00
Adam Wulkiewicz
2fff49a684 fixed compilation error - missing namespaces 2014-02-03 18:43:41 +01:00
Adam Wulkiewicz
b7054cffc2 front() and back() helper functions moved to separate file, updated copyright info 2014-02-03 18:38:04 +01:00
Adam Wulkiewicz
30f06fede7 added relate(Point, Box), added transpose() to relate result, update_dimension renamed to update, optimized - runtime parameters of set and update replaced by template parameters, added static_assert checking dimension 2014-02-02 18:29:42 +01:00
Adam Wulkiewicz
2804514b3a removed invalid point_in_geometry() implementation for Box, geometry::within() reverted in distance() and disjoint() 2014-02-02 15:31:10 +01:00
Adam Wulkiewicz
fe09a6dc2e fixed some warnings (unused variables, signed-unsigned comparison) 2014-02-02 00:58:44 +01:00
Adam Wulkiewicz
c0fdceee0d added missing parameters to get_turn_without_info - new GetTurnPolicy interface 2014-02-02 00:05:30 +01:00
Adam Wulkiewicz
87ab6f8ece fixed VS compilation errors (overlay:: removed), removed relate()-related code from get_turns_linear_linear.cpp test 2014-02-01 23:43:54 +01:00
Adam Wulkiewicz
a739ebe714 fixed a compilation error in point_in_geometry called for non-polygon Geometry 2014-02-01 23:24:55 +01:00
Adam Wulkiewicz
1c021516de fixed compilation error in get_turns_cs - new interface of TurnPolicy 2014-02-01 22:31:54 +01:00
Adam Wulkiewicz
a412070362 used the old turn policy in default get_turns() for backward compatibility 2014-02-01 21:17:30 +01:00
Adam Wulkiewicz
51d9641505 get_turn_info_linear_linear policy and related code moved from namespace relate to overlay/get_turns and connected with the official get_turns() 2014-02-01 19:05:58 +01:00
Adam Wulkiewicz
ff9596578f Merge branch 'develop' into feature/relate 2014-02-01 13:41:53 +01:00
Adam Wulkiewicz
89f7ce15b0 fixed compilation errors 2014-02-01 13:37:41 +01:00
Adam Wulkiewicz
8a31265497 Added template parameters to less_seg_dist_op<>, it is now possible to define operations order and geometry id in place 2014-02-01 01:19:12 +01:00
Adam Wulkiewicz
b9d7d7f975 changed relate() to use new turns info for linestrings, the same implementation state - does not work for self-touching Linestrings or MultiLinestrings 2014-01-31 22:13:13 +01:00
Adam Wulkiewicz
459bb46dff detail::relate::relate() result now contains correct dim(E(A) and E(B)), T is put for dimensions > 9 2014-01-29 23:37:49 +01:00
Adam Wulkiewicz
3e99412c02 [index] varray: templated rvref workaround replaced with the fixed Boost.Move macro 2014-01-29 20:19:41 +01:00
Adam Wulkiewicz
0874a880b5 Added methods replacement for some cases of non-endpoint IPs, e.g. touching c or e is replaced by m or t. Methods are set WRT IPs, not segments, i.e. if points of both intersecting segments are equal to the IP the method is e. In addition to this x/x was handled, e.g. t+x/x is replaced by e+c/c. 2014-01-29 17:24:46 +01:00
Adam Wulkiewicz
9c63a58412 added proper operations generation for non-endpoint IPs 2014-01-29 15:09:54 +01:00
Adam Wulkiewicz
9d1a1011c2 added calculation of methods t or m for endpoints 2014-01-29 13:54:53 +01:00
Adam Wulkiewicz
06f0c0e418 removed two equal_point_point() calls 2014-01-28 13:32:19 +01:00
Adam Wulkiewicz
abbbcf73ab removed most of equal_point_point() calls by simpler checks using IntersectionResult 2014-01-28 00:58:04 +01:00
Adam Wulkiewicz
b70c886f2e IP duplicates handled for endpoints 2014-01-27 16:44:11 +01:00
Adam Wulkiewicz
b83d88476c added missing typename keyword 2014-01-26 01:36:09 +01:00
Adam Wulkiewicz
f24f7e2e1b implemented more consistent segments intersections (is_last used also for non-collinear segments), not needed checks for duplicated IPs commented out 2014-01-25 03:01:36 +01:00
Adam Wulkiewicz
e7992832a9 added a few test cases 2014-01-24 20:33:51 +01:00
Adam Wulkiewicz
37b6383474 a few more duplicated endpoints handled 2014-01-24 17:48:02 +01:00
Adam Wulkiewicz
bd686badd7 most of the duplicated endpoints handled 2014-01-24 16:58:11 +01:00
Adam Wulkiewicz
506b83ea42 handled some of the duplicated IPs 2014-01-24 00:58:29 +01:00
Adam Wulkiewicz
a9f1c8e00a handled all endpoints, for now method is not set, IPs may be duplicated and invalid value is returned from handle_first_last() 2014-01-23 18:23:12 +01:00
Adam Wulkiewicz
af6aeb77db fixed comments with the segments intersection result analysis 2014-01-23 01:19:20 +01:00
Adam Wulkiewicz
33f9c05258 added small optimization in range_collect_vectors - erase() replaced by copy from back and pop_back() 2014-01-22 22:14:09 +01:00
Adam Wulkiewicz
50fe5a7e67 added copyrights 2014-01-22 22:02:22 +01:00
Adam Wulkiewicz
7e3d0571f9 fixed error in collect_vectors - vectors previously gathered for other rings were removed based on the direction of the last vector of currently analysed ring 2014-01-22 22:00:29 +01:00
Adam Wulkiewicz
3f667361d6 get_turns() for endpoints L/L started from the beginning, added copyrights info, added comments regarding segment intersection results analysis 2014-01-22 21:42:44 +01:00
Barend Gehrels
41f9c94e31 [geometry] Fixed unit test for collinear intersections w.r.t new parameters 2014-01-19 22:33:58 +01:00
Barend Gehrels
9dd4eaff7f [geometry] Use segment_ratio_type metafunction in handle_tangencies,
disjoint, add policy_type to intersection strategy with 2 segments
2014-01-19 22:13:52 +01:00
Barend Gehrels
011815a80d [geometry] Extracted segment_ratio_type as a metafunction
just like robust_point_type
2014-01-19 22:02:01 +01:00
Barend Gehrels
9ea637265e [geometry] Merged rescale policy and (rudimentary) robustness policy.
We should decide how we call this thing (probably RobustnessPolicy as it
decides for types, ratio-types, rescaling and other behaviour related to
robustness)
2014-01-19 15:34:15 +01:00
Barend Gehrels
c7111355cc [geometry] Made SegmentRatio a template parameter as was intended.
Still TODO: it should come from a robustness-policy
2014-01-19 15:06:07 +01:00
Barend Gehrels
ca6280c9af [geometry] Added (probably temporary) comment 2014-01-19 14:48:55 +01:00
Barend Gehrels
2851b50fc3 [geometry] Removed now redundant template parameters from segment-intersection
strategies.
2014-01-19 14:48:39 +01:00
Barend Gehrels
fe207c73da [geometry] Removed now unused method 2014-01-19 14:40:35 +01:00
Barend Gehrels
482c9a3a62 [geometry] Added static assert 2014-01-18 21:33:20 +01:00
Barend Gehrels
3eadfb2549 [geometry] Comment change 2014-01-18 21:33:10 +01:00
Barend Gehrels
7d8342093a [geometry] Removed unnecessary includes 2014-01-18 21:32:45 +01:00
Barend Gehrels
e76936025c [geometry] Bugfix get point-type instead of segment-type 2014-01-18 21:32:19 +01:00
Barend Gehrels
175032c841 [geometry] Integer coordinates are now not rescaled
which fixes corresponding tests
2014-01-17 19:58:31 +01:00
Barend Gehrels
fc681ba236 [geometry] fixes in unit tests w.r.t. rescale policy 2014-01-17 18:53:29 +01:00
Barend Gehrels
683267e3e5 [geometry] Bugfix in new code, arrival value should be -1 if not on segment 2014-01-16 18:46:03 +01:00
Barend Gehrels
90b75b7640 Merge branch 'develop' into rescale_to_integer 2014-01-16 14:19:01 +01:00
Adam Wulkiewicz
594d025e95 overlay:: equal<> and collinear<> used to calculate the operations for the first point of P LS in adequate cases 2014-01-09 19:36:31 +01:00
Bruno Lalande
cfba8409c5 Made transform variant-aware. 2014-01-09 09:09:56 +00:00
Adam Wulkiewicz
0b50ebc2e8 added preliminary version of the new algo for the first point of P LS 2014-01-08 18:45:19 +01:00
Adam Wulkiewicz
a326d7a258 small changes of methods/operations and comments to generation of turns for the first points 2014-01-08 17:09:59 +01:00
Barend Gehrels
fd781b79d5 [geometry] Rescale to integer: changed types to make them consistent
w.r.t. integer/float input points. IP calculation is now always based on
ratios.
2014-01-08 13:47:18 +01:00
Barend Gehrels
cd0ec07f64 [geometry] Minor - pass ringtype separately
(further this change was part of a non-committed change)
2014-01-08 13:26:00 +01:00
Adam Wulkiewicz
518156a727 [geometry] begined the new implementation of handling of first and last LS point in get_turns(), for now considered cases when both LSs starts on the same segment 2014-01-07 21:46:46 +01:00
Bruno Lalande
6646a16d7f Added strategy resolution stage to transform algorithm. 2014-01-05 17:53:08 +00:00
Adam Wulkiewicz
2799cb867b [geometry] handled IP on the last point of LS for equal and collinear case, for the first point method may now be set to equal or collinear 2014-01-05 17:27:31 +01:00
Bruno Lalande
8d58aaf8b9 Made touches (1 param version) variant aware. 2014-01-05 15:54:14 +00:00
Adam Wulkiewicz
c1530d41f9 [geometry] handled IP for the first point of a LS when IP is equal to the second point of the first segment of the other LS to avoid generation of 2 IPs for the same point 2014-01-04 23:51:12 +01:00
Adam Wulkiewicz
def187c977 added generation of IP for the first point of a Linestring - c+c/c, c+i/u or c+u/i 2014-01-04 01:11:43 +01:00
Bruno Lalande
87a5a242f4 Made touches (2 params version) variant aware. 2014-01-02 09:34:31 +00:00
Bruno Lalande
ea3cf83bf8 Fixed how resolve_strategy::simplify_insert is called from the public functions 2013-12-24 22:27:38 +00:00
Bruno Lalande
4919e00e2d Made simplify variant-aware 2013-12-24 22:15:15 +00:00
Bruno Lalande
2ddcf5dccf Added resolve_strategy stage for simplify_insert. 2013-12-23 12:19:25 +00:00
Bruno Lalande
5e946a1c1e Added resolve_strategy stage for simplify. 2013-12-22 23:18:29 +00:00
Adam Wulkiewicz
eba7d26db4 [geometry] in relate() called dispatch::get_turns instead of higher level one to avoid geometries switching, added generation of SVGs for some special cases 2013-12-22 23:35:18 +01:00
Barend Gehrels
b889923619 [geometry] Take care that FP ratio (which is still used) is between 0-1 too.
If not we take the robust ratio.
This fixes case ticket_9081_15 where the intersection point was far outside
the belonging segment (causing a new spike)
2013-12-22 14:16:15 +01:00
Barend Gehrels
1a1cb4cff0 [geometry] Moved debug string 2013-12-22 14:14:37 +01:00
Barend Gehrels
9cd79d8033 [geometry] Instead of (non-rescaled) append, we clean rescaled dups afterwards.
We don't do it on the fly to avoid additional rescaling, it is done only once per point
This also changes occasionally some number-of-points in testcases (now more cleaned)
2013-12-22 14:12:40 +01:00
Barend Gehrels
2c2c384652 [geometry] Remove sanity check as planned 2013-12-22 13:43:55 +01:00
Barend Gehrels
50f8696aaf [geometry] Let has_intersections also rescale 2013-12-22 13:42:51 +01:00
Adam Wulkiewicz
4f07087db5 [geometry] handled more cases in relate(Ls, Ls) 2013-12-22 04:00:15 +01:00
Barend Gehrels
f467f6ff31 [geometry] Avoid using Boost.Rational for all comparisons
Only if values are close, we resort to Boost.Rational (for int) for exact comparisons.
This avoids most conversions.
2013-12-21 17:58:59 +01:00
Barend Gehrels
0333e7c313 [geometry] replaced boost::rational with segment_ratio which is more specialized for our needs.
segment_ratio contains specific methods (on a segment the ratio is [0..1]) and
can be based on double or float too (Boost.Rational cannot do that).
Boost.Rational is still used under the hood for comparisons (which will be
made more efficient later)
2013-12-21 17:35:44 +01:00
Adam Wulkiewicz
106f3da5ae [geometry] fixed some errors in relate(Ls, Ls): checked terminal points of both linestrings, treated touch with x/x as ii 2013-12-21 02:41:48 +01:00
Adam Wulkiewicz
382e975f2f [geometry] added test file for relate(), fixed error in linear_linear, added tag-dispatched detail::relate() 2013-12-21 01:49:40 +01:00
Bruno Lalande
dffb4db8ce Break circular dependency get_turns->disjoint->covered_by->within->get_turns 2013-12-21 00:49:16 +00:00
Adam Wulkiewicz
02a32dee32 [geometry] relate code divided into several files 2013-12-21 00:55:22 +01:00
Adam Wulkiewicz
da524695c6 [geometry] added relate() test implementation for Point-Geometry, Geometry-Point and Linestring-Linestring. The least one is not finished yet. 2013-12-20 19:58:08 +01:00
Barend Gehrels
ef3992a921 [geometry] big cleanup removed old code from cart_intersect 2013-12-20 19:10:42 +01:00
Barend Gehrels
b00311f502 [geometry] Removed (need for) arrangment and moved disjoint.
Disjoint is now based on ratios too. All is now based on ratios, greatly
simplifying the original code with many lines and conditions.
2013-12-20 19:06:05 +01:00
Barend Gehrels
e0d9036aef [geometry] removed segment_equal, now all collinear go to one fuction.
Function now renamed to segments_collinear, and the other to segments_crosses

We calculate opposite now only in "direction", where it is used to pass through.
That one also checks on equality

Test 5103 now (or with previous action for touches) also passes again.
2013-12-20 18:50:08 +01:00
Adam Wulkiewicz
907a260b01 [geometry] added within(Ls, Ls) 2013-12-20 01:28:32 +01:00
Barend Gehrels
4a5b85c870 [geometry] Collinear touch now also uses new unified method
This fixes the holes_intersect_and_touch case
NOTE: method should now be renamed, not ...two_intersection_points
2013-12-19 22:38:52 +01:00
Barend Gehrels
06b03d534c [geometry] Let rescale derive from not_implemented as is new style 2013-12-19 22:36:38 +01:00
Barend Gehrels
f3d1fb4736 [geometry] Bugfix in rescaling, points may not be const& (of course)
They were initialized from local variables and returned
2013-12-19 22:35:54 +01:00
Barend Gehrels
9a9efcff89 [geometry] Work in progress: factor (rational) instead of distance
This is a large commit. It replaces enriched.distance with factor. Factor
is based on integer calculations, calculated in cart_intersect, from the
passed robust points, so always trustable.

We had to do this because without certain tests failed because of FP
problems with distance (calculated with FP).

This commit also greatly simplifies relate_collinear, where most things and checks
are replaced by simple unified calculations. This is also based on robust
fractions (but could have been done earlier).

Many (but not all) testcases commented in previous commit are now uncommented
again, they now work thanks to the fractions. There are also testcases
uncommented which now work correctly using clang/Linux

This commit breaks compiling disjoint (because of rescale), and running buffer
(also because of rescale), and some more (probably all because or rescaling),
this has to be fixed soon after.
2013-12-18 19:19:10 +01:00
Adam Wulkiewicz
2462177a7c [geometry] changed point_in_geometry behaviour for 1-point linestring - treated like point - not within 2013-12-16 00:54:36 +01:00
Adam Wulkiewicz
2b2ceadfc6 [geometry] fixed within(Box, Box) for Boxes with overlapping boundaries - OGC conformance 2013-12-16 00:42:15 +01:00
Adam Wulkiewicz
8f5aa8f236 [geometry] 2-parameter touches() properly dispatched for non-areal geometries, fixed sub_geometry::get() for multi geometries - const correctness 2013-12-15 03:43:07 +01:00
Barend Gehrels
107621943d [geometry] Use robust determinant for comparisons
This breaks one extra testcase which should be verified later
2013-12-14 19:49:35 +01:00
Barend Gehrels
c173233efa [geometry] Propagated rescale_policy further / from earlier phase 2013-12-14 19:45:21 +01:00
Adam Wulkiewicz
b05fe92549 [geometry] fixed multi within and covered_by - new namespace hierarchy (point_in_geometry) 2013-12-14 19:43:27 +01:00
Adam Wulkiewicz
39484599bc [geometry] recently added detail::XXX::YYY_dispatch structs moved/renamed to detail_dispatch::XXX::YYY 2013-12-14 19:34:54 +01:00
Adam Wulkiewicz
bc0dee97d2 [geometry] not_implemented used instead of MPL_ASSERT in point_in_geometry and sub_geometry 2013-12-14 19:11:55 +01:00
Adam Wulkiewicz
4fca624a32 Merge branch 'develop' of github.com:boostorg/geometry into develop 2013-12-14 17:16:13 +01:00
Adam Wulkiewicz
5940d4acb8 [geometry] parameters names changed in within_no_turns 2013-12-14 17:15:08 +01:00
Adam Wulkiewicz
dca7cb060d [geometry] parameters names changed in point_in_geometry 2013-12-14 17:06:06 +01:00
Barend Gehrels
a77aef8d16 Merge branch 'develop' into rescale_to_integer 2013-12-14 16:54:04 +01:00
Barend Gehrels
ce38ea7072 [geometry] Adapted buffer for recent changes in within 2013-12-14 16:52:47 +01:00
Barend Gehrels
ff7cb5c21e Merge branch 'develop' into rescale_to_integer 2013-12-14 13:38:28 +01:00
Barend Gehrels
d988e1ac93 [geometry] Work in progress: rescaling to robust-type
A robust type is integer for float/double. The rescaled points will only
be used for side-information and equality and distance-comparisons, not
to calculate the intersection points themselves.
Currently the code is #ifdefed
2013-12-14 13:25:46 +01:00
Adam Wulkiewicz
a238da019b [geometry] added touches(Ls, Poly), added details for other combinations of linear-areal geometries 2013-12-14 04:01:32 +01:00
Adam Wulkiewicz
5ce07d86f6 [geometry] touches generic_interrupt_policy fixed to not update the state if non-touching turn was found earlier 2013-12-12 03:33:48 +01:00
Adam Wulkiewicz
f78626b0f2 [geometry] added parameters reversal for touches() 2013-12-11 17:28:52 +01:00
Adam Wulkiewicz
5b417cc66b [geometry] touches(Ls,Ls) algorithm modified 2013-12-11 11:47:16 +01:00
Adam Wulkiewicz
a0cca4848a [geometry] removed a condition in touches(Ls, Ls) for consistency 2013-12-11 02:14:05 +01:00
Adam Wulkiewicz
8d690ff164 [geometry] added touches(Ls, Ls) + tests 2013-12-11 02:08:54 +01:00
Adam Wulkiewicz
f95efb34ee [geometry] added tests for touches(Pt, MLs) and touches(Pt, MPoly), fixed error in point_in_geometry(Pt, MLs), fixed error in within(Pt, MLs) tests 2013-12-11 01:42:25 +01:00
Adam Wulkiewicz
437c94ad77 added touches(Point, Geometry) 2013-12-11 00:24:16 +01:00
Adam Wulkiewicz
54434f6e82 [geometry] generic touches implementation moved to detail::touches::generic_touches, added dispatch::touches used in bg::touches 2013-12-10 21:39:39 +01:00
Adam Wulkiewicz
9d34be1c09 [geometry] optimization: equals::has_only_turns() replaced by interrupt policy 2013-12-10 21:26:23 +01:00
Adam Wulkiewicz
7fae091c72 added point_in_geometry_dispatch for Box 2013-12-09 22:44:02 +01:00
Adam Wulkiewicz
c211dd01db Merge branch 'develop' of github.com:boostorg/geometry into develop 2013-12-09 22:39:37 +01:00
Barend Gehrels
f999c1b1a7 [geometry] added ring/polygon rescaling 2013-12-09 22:11:25 +01:00
Barend Gehrels
24fddebe8c [geometry] handle unhandled iu/iu case 2013-12-09 22:02:46 +01:00
Adam Wulkiewicz
4d195e28b0 [geometry] types renamed in within_no_turns 2013-12-09 04:20:29 +01:00
Adam Wulkiewicz
ffa81b45e0 [geometry] added tests for intersects() 2013-12-08 14:42:17 +01:00
Adam Wulkiewicz
8ef20f9f88 added disjoint() for previously non-supported Geometries 2013-12-08 13:20:01 +01:00
Adam Wulkiewicz
5436fb2cfa added within() and covered_by() for Pt-Ls and Pt-MLs, fixed error in point_in_geometry for MLs 2013-12-08 12:36:31 +01:00
Adam Wulkiewicz
004908caf9 [geometry] added support for MultiLinestrings in copy_segment_point, point_on_border, range_by_section, sectionalize, ring_return_type, ring_type 2013-12-08 02:28:46 +01:00
Adam Wulkiewicz
a34c03ff3b [geometry] compilation errors fixed in point_in_geometry/within/covered_by for multi geometries 2013-12-08 02:23:56 +01:00
Adam Wulkiewicz
72205cf03e [geometry] added point_in_geometry() and used in within() and covered_by(), also added within_no_turns() 2013-12-08 00:41:39 +01:00
Barend Gehrels
c06e55af16 [geometry] Minor trivial change 2013-12-07 11:37:12 +01:00
Barend Gehrels
32eb7090d5 [geometry] Use rescale_policy in enrich_intersection_points and sectionalize
Also in get_turns forward them further up to point-comparison
2013-12-07 11:36:42 +01:00
Barend Gehrels
f100acae4e [geometry] Silenced (some) warnings in extension code 2013-12-07 11:28:41 +01:00
Barend Gehrels
f9469b91f1 [geometry] Fixed projection example/test 2013-12-07 11:24:21 +01:00
Barend Gehrels
59969ce883 [geometry] removed parameters in private functions which were unused
(They are unused because we now pass the "sides" struct with this information).
This also makes the corresponding parameters for the main entry redundant,
so we can remove them too, later
2013-12-05 22:50:43 +01:00
Barend Gehrels
6bdc8c0d02 [geometry] Remove unused parameters in get_turn_info and direction 2013-12-05 22:31:17 +01:00
Barend Gehrels
88c365a45d [geometry] Remove all trailing spaces (extensions) 2013-12-05 19:42:44 +01:00
Barend Gehrels
eb3260708e [geometry] Remove all trailing spaces (algorithms) 2013-12-05 19:36:58 +01:00
Barend Gehrels
960915dfa7 [geometry] Remove all trailing spaces (arithmetic, iterators, views) 2013-12-05 19:35:35 +01:00
Barend Gehrels
442680a51f [geometry] Remove all trailing spaces (core, geometries, util) 2013-12-05 19:34:19 +01:00
Barend Gehrels
9ca5bb333d [geometry] Remove all trailing spaces (strategies) 2013-12-05 19:32:32 +01:00
Barend Gehrels
6336ee4799 [geometry] Remove all trailing spaces in multi 2013-12-05 19:31:18 +01:00
Barend Gehrels
626ed1a0e7 [geometry] Remove trailing spaces.
For the rest this commit contains nothing.
2013-12-05 19:22:36 +01:00
Barend Gehrels
75d078aaed [geometry] added RescalePolicy template-parameter.
Where that was applied and possible, moved template-parameter to methods
instead of to classes.

This is a large commit, but contains no functional changes.
2013-12-05 19:20:54 +01:00
Barend Gehrels
e5340158ac [geometry] Moved template parameters in sectionalize, preparing for following changes 2013-12-04 12:27:22 +01:00
Barend Gehrels
c4bb879d79 [geometry] Add check on duplicate sections to avoid them being intersected,
unless the only one
2013-12-04 10:41:27 +01:00
Bruno Lalande
fb3ec9de1f Made reverse algorithm variant-aware.
[SVN r86678]
2013-11-13 14:53:37 +00:00
Bruno Lalande
128ebab54c Made remove_spikes variant-aware.
[SVN r86634]
2013-11-12 07:52:06 +00:00
Barend Gehrels
1088afb1be [geometry] Fixed self-turn points, neighboring function in get_turns did have the wrong meta-function. Also cleaned corresponding unit tests / added test cases for reported error (reported by Joan on mailing list)
[SVN r86627]
2013-11-11 22:36:57 +00:00
Bruno Lalande
d951f4ea72 Made perimeter algorithm variant-aware.
[SVN r86619]
2013-11-11 16:29:00 +00:00
Bruno Lalande
1799ee4777 Made within algorithm variant-aware.
[SVN r86606]
2013-11-10 23:07:59 +00:00
Bruno Lalande
98aa16b3f2 Added 2 utility metafunctions for variants. Necessary to make some algos variant aware.
[SVN r86584]
2013-11-08 08:14:51 +00:00
Barend Gehrels
359703e933 [geometry] avoid warnings for multi-line comments and unused var in new sources
[SVN r86581]
2013-11-07 21:18:57 +00:00
Barend Gehrels
1bb3745741 [geometry] added extreme_points for multi-polygon to fix compilation in disjoint for multi polygon. Also fixed bug in multi by using within, we have to use rings_containing, that one is restored. It is now duplicated (temporary) in touches because that one has to use point_on_border still (somehow), to be found out
[SVN r86580]
2013-11-06 23:27:02 +00:00
Barend Gehrels
42c3e28ff7 [geometry] fixed ticket 8310, disjoint did give the wrong results. Fixed using point_on_surface. Added unit test. Also tests for overlay algorithms because they might suffer from the same problem
[SVN r86579]
2013-11-06 22:42:02 +00:00
Barend Gehrels
ee6140f274 [geometry] point_on_surface, update for linux/clang
[SVN r86555]
2013-11-03 21:11:54 +00:00
Barend Gehrels
cbafc2398a [geometry] added point_on_surface, developed last summer to SVN
[SVN r86554]
2013-11-03 21:00:34 +00:00
Barend Gehrels
fbdf22bb72 [geometry] avoid warnings for member order
[SVN r86541]
2013-11-01 21:19:46 +00:00
Barend Gehrels
3b51da2d6f [geometry] added the (not yet finished) distance_info to extensions
[SVN r86538]
2013-11-01 19:49:06 +00:00
Barend Gehrels
f0dbf7905a [geometry] fixed strategy type, reported by Menelaos on the list
[SVN r86534]
2013-11-01 14:54:34 +00:00
Bruno Lalande
982c60d4f1 Made envelope variant-aware.
[SVN r86531]
2013-10-31 21:01:21 +00:00
Bruno Lalande
cfeaaf0cab Made disjoint variant-aware.
[SVN r86523]
2013-10-30 12:03:54 +00:00
Bruno Lalande
f8408c546f Made covered_by variant-aware.
[SVN r86461]
2013-10-26 21:37:49 +00:00
Barend Gehrels
4600b79a68 [geometry] added remove_spikes.hpp to all-include file
[SVN r86452]
2013-10-26 13:25:55 +00:00
Barend Gehrels
cee8a0506c [geometry] Added remove_spikes as an algorithm. The first version was already in extensions (for years), that is removed now. The new version works using the recent point_is_spike_or_equal
[SVN r86450]
2013-10-26 13:18:11 +00:00
Bruno Lalande
73e9c494b7 Made 'correct' variant-aware.
[SVN r86414]
2013-10-24 06:10:34 +00:00
Bruno Lalande
e2f11f015d Converted convex_hull to the multi-stage approach and made it variant-aware.
[SVN r86401]
2013-10-23 10:13:28 +00:00
Barend Gehrels
3a6ae0bacb [geometry] revised solution for robustness, we don't go to integer which was shortly done. This is partly a revert of r85867, where we scaled to integer. Now we make side information consistent by iteratively selecting a larger epsilon. This will be moved into a separate class. All tests pass now, also the complete ticket_9081 test which failed before
[SVN r86368]
2013-10-20 15:30:21 +00:00
Barend Gehrels
8ea1f1000b [geometry] avoid referencing *(end-1) if size <=1
[SVN r86359]
2013-10-18 20:57:15 +00:00
Adam Wulkiewicz
a915999ac1 [geometry] added missing header defining disjoint() to wkt/write.hpp
[SVN r86355]
2013-10-18 15:35:28 +00:00
Adam Wulkiewicz
05ccc90461 [geometry] header file defining clear() included in follow.hpp
[SVN r86354]
2013-10-18 15:34:22 +00:00
Bruno Lalande
c47d0b85fc Converted all devarianted_xxx classes to the new resolve_variant approach.
[SVN r86345]
2013-10-18 08:14:13 +00:00
Bruno Lalande
75305ec823 Removed check_input stage - merged into resolve_variant.
[SVN r86338]
2013-10-17 06:21:28 +00:00
Adam Wulkiewicz
69a2fd6c58 [geometry] replaced size() and removed clear() call in overlay/follow.hpp.
[SVN r86334]
2013-10-16 15:43:02 +00:00
Adam Wulkiewicz
f07f5fe6cf [geometry] fixed errors in overlay/follow.hpp related to proper usage of Linestring concept.
[SVN r86333]
2013-10-16 15:36:32 +00:00
Bruno Lalande
90dd0bf7d5 Default strategy placeholder class forgotten in previous commit.
[SVN r86332]
2013-10-16 15:35:52 +00:00
Bruno Lalande
c35effb15c Made centroid variant-aware. This implied a refactoring - we're clearly heading towards a multi-stage algorithm call resolution as previously foreseen. Will align other variant-aware algorithms to this.
[SVN r86305]
2013-10-14 20:04:54 +00:00
Bruno Lalande
e6f57e7523 Made the buffer algorithm variant aware.
[SVN r86240]
2013-10-11 21:47:28 +00:00
Barend Gehrels
8b1343cb67 [geometry] discard turn points without turn info
[SVN r86239]
2013-10-11 20:49:05 +00:00
Bruno Lalande
560fd46dfd Bug fix - wrong template parameter in buffer algorithm
[SVN r86235]
2013-10-11 09:30:52 +00:00
Mateusz Loskot
5f6f6212d6 [geometry] Impose closed rings of any polygon output in WKT (ticket #9217)
[SVN r86233]
2013-10-10 23:07:03 +00:00
Adam Wulkiewicz
af9e45a7c6 [geometry][index]: BOOST_NO_* deprecated macros replaced.
[SVN r86175]
2013-10-06 12:39:17 +00:00
Mateusz Loskot
3c866f927b [geometry] Correct pointlike_tag name in a comment
[SVN r86145]
2013-10-03 15:12:38 +00:00
Adam Wulkiewicz
ed61f8d08e [geometry] added #ifndef DOXYGEN_NO_DETAIL in touches.hpp
[SVN r85908]
2013-09-25 15:43:53 +00:00
Barend Gehrels
951f213e2a [geometry] added missing template keyword, not catched by clang 3.0 but catched by 3.2
[SVN r85890]
2013-09-25 10:26:59 +00:00
Adam Wulkiewicz
1f170a3a7c [geometry] fixed error in touches() for CCW Rings/Polygons.
[SVN r85869]
2013-09-24 14:28:51 +00:00
Barend Gehrels
ac40228b07 [geometry] Major bugfix: intersection problem(s) caused by robustness, reported in ticket 9081. Causes were inconsistent side information by floating point precision. We now switch to integer for a specific region (6 points) to have the side information consistent. This removes many separate robustness checks previously done in cart_intersect, which is now more simple and ~200 lines shorter. And it removes also some robustness checks in get_turn_info (probably more were actually needed by old approach). It also uses this system in handle_tangencies and enrich_intersection_points.
It now also used the passed side information in direction.hpp, which saves calculations and is shorter.
In the end the performance is similar.
One (of many) situations in ticket 9081 is added in multi unit tests.


[SVN r85867]
2013-09-24 14:18:13 +00:00
Barend Gehrels
6567f7fab9 [geometry] merged to release
[SVN r85862]
2013-09-23 21:54:07 +00:00
Adam Wulkiewicz
ce10039377 [geometry][index]: added iterators test implementation using Boost.Function. Fixed compilation errors in benchmark_experimental.
[SVN r85693]
2013-09-16 00:25:37 +00:00
Adam Wulkiewicz
64730165b5 [geometry][index] experimental serialization routines implemented as free functions instead of rtree member functions and moved to separate file, added private_view(s).
[SVN r85647]
2013-09-11 01:21:57 +00:00
Adam Wulkiewicz
d31d73ed62 [geometry] query iterators described in docs + some fixes of the chapter describing queries.
[SVN r85637]
2013-09-10 11:54:34 +00:00
Adam Wulkiewicz
d9b6f89d64 [geometry]: iterative queries simplified, docs updated, added qbegin() and qend() free functions, added new functions to the reference matrix, release notes updated.
[SVN r85630]
2013-09-09 22:37:55 +00:00
Adam Wulkiewicz
597f121798 [geometry][index] docs updated.
[SVN r85617]
2013-09-09 00:02:53 +00:00
Adam Wulkiewicz
d063118a3f [geometry] docs: added description of contains() and covers() predicates.
[SVN r85566]
2013-09-04 19:44:19 +00:00
Barend Gehrels
154e4504e9 [geometry] added traits::clear, resize, push_back to multi concepts
[SVN r85565]
2013-09-04 15:16:29 +00:00
Adam Wulkiewicz
bfff854c0c [geometry][index] Fixed the description of rtree class.
[SVN r85564]
2013-09-04 11:58:33 +00:00
Barend Gehrels
fd4bfbcc8c [geometry] use concept instead of .erase for recent append_no_dups_or_spikes
[SVN r85561]
2013-09-04 11:11:14 +00:00
Adam Wulkiewicz
08690f20f0 [geometry] segment-box intersects() tweaked to support boost::rational<>, not fully supported because of lack of std::numeric_limits<> specialization.
[SVN r85558]
2013-09-04 01:44:15 +00:00
Adam Wulkiewicz
8c65e8b6d3 [geometry] segment/linestring-box intersection moved to detail/disjoint, compilation error fixed.
[SVN r85557]
2013-09-04 00:16:50 +00:00
Adam Wulkiewicz
1566048ae2 [geometry] added n-dimensional segment-box and linestring-box intersects()/disjoint() implementation.
[SVN r85556]
2013-09-03 23:55:17 +00:00
Barend Gehrels
bb8e187931 [geometry] fixed clear/back calls for cases reported by Renaud on 2013-09-02 on mailing list
[SVN r85554]
2013-09-03 20:08:30 +00:00
Barend Gehrels
fb74bfbe26 [geometry] Fixed ticket 9047 (recursive inclusion) and unit test for ticket 8652
[SVN r85552]
2013-09-03 18:45:18 +00:00
Adam Wulkiewicz
7d0393eb4a [geometry][index] added covers() and contains() predicates to the official interface.
[SVN r85520]
2013-08-30 02:31:31 +00:00
Adam Wulkiewicz
425d370d1a [geometry][index] type-erased query iterators move semantics implemented using Boost.Move replaced by c++11 rval refs if supported. Error in move assign fixed.
[SVN r85517]
2013-08-29 22:59:02 +00:00
Adam Wulkiewicz
242ef41cf1 [geometry][index] query iterators added to the rtree official interface.
[SVN r85507]
2013-08-29 00:33:54 +00:00
Adam Wulkiewicz
86273a3c7f [geometry][index] added conditional move semantics to type-erased query iterators, for test purposes
[SVN r85503]
2013-08-28 19:05:53 +00:00
Adam Wulkiewicz
2e81515795 [geometry][index] added one more implementation of experimental type-erased query iterator
[SVN r85500]
2013-08-28 13:53:16 +00:00
Adam Wulkiewicz
3c8eca3df2 [geometry][index] implemented alternative version of type-erased query iterators (still experimental).
[SVN r85495]
2013-08-28 00:51:14 +00:00
Barend Gehrels
78f88c752a [geometry] avoid error on geometry::math::abs for MSVC and long long
[SVN r85479]
2013-08-26 21:02:18 +00:00
Barend Gehrels
bd79d311c9 [geometry] avoid clang warning about unused ublas function
[SVN r85478]
2013-08-26 20:18:27 +00:00
Barend Gehrels
d1c4cb7b6d [geometry] avoid generation of spikes in overlays, this fixes ticket 8364 and 8365. Added unit tests for these tickets. These changes result in (at about 3 places) changes in the output-number-of-points, this is verified visually
[SVN r85451]
2013-08-24 22:53:43 +00:00
Barend Gehrels
2c7ab5b8d4 [geometry] small fixes/typos in documentation for strategies
[SVN r85413]
2013-08-20 20:39:33 +00:00
Barend Gehrels
52db334352 [geometry] fixed documentation: removed template parameters, made pythagoras back to a class, remove xml files in make_qbk to avoid using old ones
[SVN r85412]
2013-08-20 20:22:33 +00:00
Barend Gehrels
fa2c9e373b [geometry] cleanup: removed unused typedefs as warned for by gcc 4.8
[SVN r85411]
2013-08-20 19:42:20 +00:00
Barend Gehrels
7a71993c6f [geometry][extension] fixed clang compilation problem, qualifying baseclass
[SVN r85398]
2013-08-19 19:55:19 +00:00
Barend Gehrels
250384a591 [geometry] ticket #8969, fixed: constructor of model::point should be explicit
[SVN r85383]
2013-08-17 20:04:23 +00:00
Barend Gehrels
81db2ee699 [geometry] robustness-tests added Jamfile and fixed gcc compilation errors
[SVN r85380]
2013-08-17 17:10:35 +00:00
Barend Gehrels
2676eea111 [geometry][extensions] fixed offset unit test by fixing offset compiler errors and commenting failing tests. Offset was never finished but is especially broken since I took another approach for buffer. At least the test is green now so we can monitor future regressions
[SVN r85372]
2013-08-17 12:29:13 +00:00
Barend Gehrels
87edb13129 [geometry][extensions] fixed multi_within test which missed a default_strategy, this was the same for within so uncommented the relevant lines there (and added polygon/box)
[SVN r85371]
2013-08-17 11:14:14 +00:00
Barend Gehrels
9881aa96c0 [geometry] removed register as noted as deprecated by clang
[SVN r85370]
2013-08-17 10:19:28 +00:00
Barend Gehrels
176a774a26 [geometry] fixed cross-track (missed comparable_type), vincenty (missed radius), cross-track-course (now supports different point-types), distance_mixed unit test which uses all these things
[SVN r85361]
2013-08-15 22:01:16 +00:00
Barend Gehrels
ca7750bab1 [geometry] fixed dissolve-extension, which was broken for quite some time, however it was only missing an extra parameter in assign_parents
[SVN r85360]
2013-08-15 21:03:59 +00:00
Barend Gehrels
409be79e03 [geometry] added centroid calculation for segment type
[SVN r85346]
2013-08-14 15:31:46 +00:00
Barend Gehrels
018502c52c [geometry] adapted transform strategies, they have points now as member-template, and calculation-type as template. Similar to what was done for Distane. This commit includes updated tests/doc/examples
[SVN r85325]
2013-08-12 21:22:53 +00:00
Adam Wulkiewicz
5af7da4f86 [geometry][index] varray elements move construction and assignment dispatched using has_trivial_move_xxx, clang ambiguity fixed
[SVN r85210]
2013-08-04 21:37:45 +00:00
Barend Gehrels
6118d09c50 [geometry][extension] adapted nsphere/within to new distance strategy structure
[SVN r85150]
2013-07-24 13:14:00 +00:00
Barend Gehrels
8468c22c03 [geometry] fixed bug of MSVC. It apparently cannot pass function pointers of template functions by reference (with non-template, it could...)
[SVN r85142]
2013-07-23 21:18:09 +00:00
Barend Gehrels
224b9786c7 [geometry] fixed bug of MSVC. This provable bug is postponed by MSVC. See https://connect.microsoft.com/VisualStudio/feedback/details/715626/msvc-needs-namespace-even-if-it-is-hoisted#
[SVN r85141]
2013-07-23 21:11:38 +00:00
Barend Gehrels
86b8a5f755 [geometry] fixed pythagoras calculation for Windows (MSVC), the problem was that std::sqrt(int) is ambiguous. Previous version did it in two steps, we now use boost::numeric_cast
[SVN r85140]
2013-07-23 21:03:35 +00:00
Adam Wulkiewicz
5ee7c2d5b1 [geometry][index] internal_node_pointer type removed from Allocators and not used in visitors
[SVN r85098]
2013-07-21 16:23:06 +00:00
Barend Gehrels
83cf372b18 [geometry][extension] adapted connect extension to new structure
[SVN r85069]
2013-07-17 22:08:10 +00:00
Barend Gehrels
dd1c53da69 [geometry][extension] Commented concept-check for MSVC, adapted (partially) distance_cross_track
[SVN r85067]
2013-07-17 21:41:12 +00:00
Barend Gehrels
c4d60d094d [geometry][extension] Updated andoyer/vincenty adaption (added radius_type for distance_cross_track)
[SVN r85066]
2013-07-17 21:34:46 +00:00
Barend Gehrels
29a03318a3 [geometry][extension] Updated andoyer adaption (comments, removed redundant namespace, fixed default_strategy template parameter)
[SVN r85065]
2013-07-17 21:24:33 +00:00
Barend Gehrels
06876ec32c [geometry][extension] adapted selected to new strategy structure
[SVN r85064]
2013-07-17 21:16:34 +00:00
Barend Gehrels
a222a54135 [geometry][extension] adapted vincenty to new strategy structure
[SVN r85063]
2013-07-17 21:08:38 +00:00
Barend Gehrels
209062a655 [geometry] adapted extension andoyer to new structure strategies
[SVN r85057]
2013-07-17 13:32:12 +00:00
Bruno Lalande
4246ea4217 Distance strategies no longer need to be parameterized with the point type(s).
[SVN r85040]
2013-07-14 22:54:43 +00:00
Adam Wulkiewicz
18783cb9b0 [geometry][index]: added names to serialized objects to support xml archives, fixed error in loading of rstar parameters.
[SVN r85038]
2013-07-14 19:05:00 +00:00
Adam Wulkiewicz
7e755d5823 [geometry][index]: serialization of node type removed - currently there are only 2 types which may be deduced from leafs_level, check of the number of loaded values added.
[SVN r85037]
2013-07-14 18:18:26 +00:00
Adam Wulkiewicz
c38abef50c [geometry][index]: experimental rtree serialization support added.
[SVN r85026]
2013-07-14 01:59:26 +00:00
Bruno Lalande
5c01967f86 Move some template parameters from class level to function level in assign_value.
[SVN r84920]
2013-06-30 21:01:02 +00:00
Adam Wulkiewicz
aa166010a3 [geometry][index]: removed non-c++03 header from statistics additional utility
[SVN r84907]
2013-06-26 22:05:28 +00:00
Adam Wulkiewicz
49597be2de [geometry][index]: errors fixed in additional rtree utilities.
[SVN r84906]
2013-06-26 21:45:17 +00:00
Adam Wulkiewicz
90d1c2485f [geometry][extensions]: Added required includes to nsphere.hpp, missing if rtree.hpp wasn't included.
[SVN r84899]
2013-06-24 12:25:33 +00:00
Adam Wulkiewicz
4108135c62 [geometry][index]: error fixed in iterative spatial query visitor - because of the error, the first return value in the query performed for a tree with only one node (root==leaf) was omitted. iterative distance query visitor modified for consistency.
[SVN r84896]
2013-06-24 00:44:41 +00:00
Barend Gehrels
9cc6d295c3 [geometry] merged for 1.54 release
[SVN r84889]
2013-06-23 20:59:55 +00:00
Adam Wulkiewicz
fbc4b3de6a [geometry]: [index] some unused variables removed. [extensions] added support for nsphere in rstar algorithm
[SVN r84872]
2013-06-22 00:36:31 +00:00
Adam Wulkiewicz
fb42b6453c [geometry][extensions]: added Matrix and Quaternion concepts.
[SVN r84868]
2013-06-21 19:30:38 +00:00
Adam Wulkiewicz
e7d6a62ddc [geometry][index]: Added a note regarding implementation of various Indexable types in linear pick_seeds.
[SVN r84865]
2013-06-21 16:23:00 +00:00
Adam Wulkiewicz
10aa36c29c [geometry][index]: Added a comment regarding implementation of various Indexable types in linear find_greatest_normalized_separation.
[SVN r84862]
2013-06-21 15:53:09 +00:00
Adam Wulkiewicz
43439fedf3 [geometry]: [index] rtree linear algorithm can now handle nspheres, [extensions] linear find_greatest_normalized_separation implemented for nsphere.
[SVN r84861]
2013-06-21 15:09:08 +00:00
Adam Wulkiewicz
17934592b5 [geometry][index]: clang compile errors fixed.
[SVN r84859]
2013-06-21 14:34:52 +00:00
Adam Wulkiewicz
3391f24b18 [geometry]: added boost::ignore_unused_variable_warning in covered_by, [index]: BOOST_GEOMETRY_INDEX_DETAIL_USE_PARAM removed, boost::ignore_unused_variable_warning used instead.
[SVN r84855]
2013-06-20 22:56:09 +00:00
Adam Wulkiewicz
469bc03afa [geometry][extensions]: added missing covered_by algorithm for Point and NSphere.
[SVN r84854]
2013-06-20 21:57:28 +00:00
Adam Wulkiewicz
f0b813285f [geometry][extensions]: added cartesian strategy point_in_nsphere, added base classes of nsphere_tag, used strategy in within(pt,sph).
[SVN r84852]
2013-06-20 21:39:12 +00:00
Adam Wulkiewicz
9676629bcc [geometry]: [index] added detail::bounds(ind, box) function, quadratic algorithm is able to handle nspheres as Indexables. [extensions] added algorithms required by rtree to handled nspheres as Indexables: centroid(sph), covered_by(sph,box), equals(sph,sph), expand(box,sph), [i]comparable_distance_near(pt,sph), [i]bounds(sph,box), cartesian nsphere_in_box strategy, center_view<Sph> registered as Point.
[SVN r84847]
2013-06-20 16:30:05 +00:00
Adam Wulkiewicz
27160ad98e [geometry][extensions]: nsphere modified with respect to changes made for index.
[SVN r84842]
2013-06-19 23:12:22 +00:00
Adam Wulkiewicz
45970c5696 [geometry][index]: implemented version of linear find_greatest_normalized_separation optimized for Points. Removed index::detail::traits, the official ones used instead.
[SVN r84840]
2013-06-19 23:00:12 +00:00
Adam Wulkiewicz
de8a2e8e45 [geometry][index]: added covers and contains spatial predicates, as experimental for now, removed experimental reversing of spatial predicates.
[SVN r84838]
2013-06-19 18:00:27 +00:00
Adam Wulkiewicz
8e11107a2c [geometry]: [index] improved margin and content, [extensions] nsphere - fixed disjoint/intersects, added content, margin, is_valid.
[SVN r84830]
2013-06-18 22:51:33 +00:00
Adam Wulkiewicz
c583fb2eb5 [geometry][index]: added contains() and touches() predicates generators as experimental features.
[SVN r84827]
2013-06-18 16:31:34 +00:00
Adam Wulkiewicz
815f14df0b [geometry][index]: boost::swap() for unsigned ints changed to std::swap() because of error C2872: 'swap' : ambiguous symbol in msvc 8 and 9.
[SVN r84821]
2013-06-18 00:16:01 +00:00
Adam Wulkiewicz
6fdc73a452 [geometry][index]: added reversed spatial predicates as experimental feature.
[SVN r84819]
2013-06-17 22:21:13 +00:00
Adam Wulkiewicz
744f2b5454 [geometry][extensions]: disjoint/intersects implemented for nsphere, ball removed.
[SVN r84811]
2013-06-16 22:24:12 +00:00
Adam Wulkiewicz
f0cdd03609 [geometry][index]: spatial query fixed - output iterator dereferenced.
[SVN r84808]
2013-06-16 19:36:41 +00:00
Adam Wulkiewicz
3f7b22f572 [geometry][index]: compilation error fixed - removed #ifdef not including required file - pack_create.hpp
[SVN r84786]
2013-06-14 23:48:12 +00:00
Adam Wulkiewicz
a754c180a6 [geometry][index]: cosmetic change - fix needed by exceptions tests.
[SVN r84784]
2013-06-14 23:09:30 +00:00
Adam Wulkiewicz
db239f03d3 [geometry][index]: R*tree choose_next_node significantly optimized.
[SVN r84783]
2013-06-14 23:03:37 +00:00
Adam Wulkiewicz
67d3f47852 [geometry][index]: added small optimization of overlap difference calculation in r* choose_next_node.
[SVN r84778]
2013-06-14 13:05:30 +00:00
Adam Wulkiewicz
b00696a043 [geometry][index]: packing algorithm enabled.
[SVN r84752]
2013-06-12 23:23:08 +00:00
Adam Wulkiewicz
7f1b251e25 [geometry][index] sort replaced by partial_sort in R* choose_next_node.
[SVN r84749]
2013-06-12 11:38:56 +00:00
Adam Wulkiewicz
865fc5621d [geometry][index] small fix in r* choose_next_node
[SVN r84748]
2013-06-12 10:11:02 +00:00
Adam Wulkiewicz
ac4b789c88 [geometry][index]: added modification of other than root rtree internals after packing.
[SVN r84735]
2013-06-10 22:24:10 +00:00
Adam Wulkiewicz
e06868a53b geometry.index: potential memleak fixed in pack.
[SVN r84733]
2013-06-10 21:48:58 +00:00
Adam Wulkiewicz
9812fde716 geometry.index: packer naming error fixed in rtree, auto_removers added in pack.
[SVN r84731]
2013-06-10 20:34:58 +00:00
Adam Wulkiewicz
bfd0052905 geometry.index: packer replaced by pack, various tweaks added.
[SVN r84730]
2013-06-10 15:55:45 +00:00
Mateusz Loskot
7c4ee689bc [geometry] Add message missing in BOOST_ASSERT_MSG
[SVN r84727]
2013-06-10 15:10:49 +00:00
Mateusz Loskot
d9b740ddd1 [geometry] Iterator difference is not always std::size_t
[SVN r84726]
2013-06-10 15:08:04 +00:00
Adam Wulkiewicz
1f8a6c1331 geometry.index: packer - nodes counts container removed. counts are calculated when needed, subtree_counts pair replaced by struct with descriptive members and trivial copy.
[SVN r84724]
2013-06-10 13:53:07 +00:00
Adam Wulkiewicz
ef4ef2acfb geometry.index: pack_create - non-VC-compiler compilation errors fixed, small optimization added.
[SVN r84722]
2013-06-10 11:59:52 +00:00
Adam Wulkiewicz
c44de29d5e geometry.index: added experimental packing algorithm, some varray warnings fixed.
[SVN r84720]
2013-06-10 03:43:10 +00:00
Barend Gehrels
300c7ccbfd [geometry] fixed documentation of return_buffer and exterior_ring
[SVN r84697]
2013-06-08 17:49:41 +00:00
Barend Gehrels
1277d8e51b [geometry] fixed documentation of convex_hull
[SVN r84692]
2013-06-08 17:12:44 +00:00
Adam Wulkiewicz
abd33fbab2 geometry.index: varray replaced by optimized, advanced varray with move semantics and emplace support, developed by: Andrew Hundt and Adam Wulkiewicz.
[SVN r84675]
2013-06-07 17:34:58 +00:00
Adam Wulkiewicz
b4288c4a4d geometry.index: geometry.index: wrong condition fixed in rstar/choose_next_node.
[SVN r84670]
2013-06-07 02:41:25 +00:00
Adam Wulkiewicz
aa4933856d geometry.index: wrong condition fixed in quadratic/redistribute_elements. Comment added in rstar/redistribute_elements.
[SVN r84669]
2013-06-07 02:29:41 +00:00
Adam Wulkiewicz
43c3838e10 geometry.index: handled floating point types comparison and unsigned types difference calculation in linear/redistribute_elements.
[SVN r84667]
2013-06-07 01:29:19 +00:00
Adam Wulkiewicz
ae7a4129af geometry.index: info and test visitors + functions moved to detail::rtree::utilities. Added detail::rtree::utilities::view<>. Definition of BOOST_GEOMETRY_INDEX_DETAIL_ENABLE_DEBUG_INTERFACE no longer needed.
[SVN r84661]
2013-06-06 22:52:19 +00:00
Mateusz Loskot
921b6b2d52 [geometry] Add index::rtree visitor collecting basic tree statistics.
[SVN r84649]
2013-06-05 23:10:19 +00:00
Mateusz Loskot
1a27aa6c37 [geometry] Remove superfluous semi-colon
[SVN r84616]
2013-06-03 00:37:35 +00:00
Adam Wulkiewicz
754989b0ae geometry extensions: added experimental clear() and reverse() for translations/vectors (assigning zeros and negating) and rotations (assigning identity and calculating invese/conjugate)
[SVN r84615]
2013-06-02 23:53:12 +00:00
Adam Wulkiewicz
6aad0216e8 geometry extensions: added convert(), removed assign_zero() and added assign_identity() for rotations.
[SVN r84614]
2013-06-02 21:16:59 +00:00
Adam Wulkiewicz
81fb61af69 geometry extensions: implemented assign_zero() for algebra.
[SVN r84612]
2013-06-02 19:56:47 +00:00
Adam Wulkiewicz
2340347956 geometry extensions: fixed error in rotation_quaternion, removed translate().
[SVN r84610]
2013-06-02 18:18:58 +00:00
Adam Wulkiewicz
78069a375f geometry extensions: fixed some compile errors.
[SVN r84588]
2013-06-01 00:44:12 +00:00
Adam Wulkiewicz
11ddd4b117 geometry extensions: quaternion_rotate moved to detail::algebra
[SVN r84585]
2013-05-31 19:43:38 +00:00
Mateusz Loskot
9cc6036ba3 [geometry]
Wrap debug facility with #ifdef BOOST_GEOMETRY_DEBUG_INTERSECTION.
Include missing <cmath>.

[SVN r84574]
2013-05-31 13:53:22 +00:00
Adam Wulkiewicz
1800788823 geometry extensions: Added basic description of some functions.
[SVN r84563]
2013-05-30 19:57:16 +00:00
Adam Wulkiewicz
e42c9009d7 geometry extensions: added generation of 2d rotation matrix.
[SVN r84562]
2013-05-30 19:51:47 +00:00
Adam Wulkiewicz
c7add5afce index extensions: added rotation matrix, for now rotation() implemented only for 3d.
[SVN r84561]
2013-05-30 19:24:46 +00:00
Adam Wulkiewicz
f0bfb3c7dd geometry extensions: Added rotation_quaternion, rotation(), transform_geometrically(), etc.
[SVN r84549]
2013-05-29 23:18:08 +00:00
Adam Wulkiewicz
4534b5add4 geometry extensions: fixed compile error in box translation.
[SVN r84543]
2013-05-28 23:01:58 +00:00
Adam Wulkiewicz
146c827f9d geometry extensions: Added Vector concept, implemented assign(), clear(), num_points.hpp(), implemented translations for Point and Box. Fixed includes in extensions/ball.
[SVN r84542]
2013-05-28 22:45:57 +00:00
Adam Wulkiewicz
033aa9c3ed geometry extensions: changed ball's geometry_id.
[SVN r84523]
2013-05-26 23:24:32 +00:00
Adam Wulkiewicz
f5c34db895 geometry extensions: fixed error in nsphere num_points, added ball concept implementation - nsphere using indexed access.
[SVN r84522]
2013-05-26 23:10:58 +00:00
Barend Gehrels
a2afadf701 [geometry] merged up to 84394 into Release branch
[SVN r84395]
2013-05-20 20:31:45 +00:00
Barend Gehrels
4efb54c25d [geometry] SVG (mainly svg_mapper) documentation
[SVN r84394]
2013-05-20 18:04:29 +00:00
Adam Wulkiewicz
a8c6c4bad6 geometry::index: wrong result_type in calculate_distance for path predicate fixed
[SVN r84344]
2013-05-18 10:59:21 +00:00
Adam Wulkiewicz
a5695c8311 geometry.index: added handling of Segments to path queries.
[SVN r84292]
2013-05-15 23:24:56 +00:00
Barend Gehrels
485923d149 [geometry] merge of Boost.Geometry into release branch
[SVN r84242]
2013-05-12 10:58:26 +00:00
Barend Gehrels
6d62650bad [geometry] creating branch of index
[SVN r84240]
2013-05-12 10:48:57 +00:00
Adam Wulkiewicz
5703291505 geometry.index: path_intersection optimized for 2-point linestrings.
[SVN r84237]
2013-05-11 22:37:03 +00:00
Barend Gehrels
edca638dfc [geometry] Moved SVG from extensions to main tree, to release it
[SVN r84233]
2013-05-11 12:27:43 +00:00
Adam Wulkiewicz
6fd3616601 geometry.index: added compile-time Range type check.
[SVN r84230]
2013-05-10 23:06:55 +00:00
Adam Wulkiewicz
1363ad17d2 geometry.index: added rtree parameters Min default = 0.3*Max.
[SVN r84217]
2013-05-10 12:03:44 +00:00
Adam Wulkiewicz
cf9edb967e geometry.index: negation of satisfies() predicate added.
[SVN r84215]
2013-05-09 23:33:52 +00:00
Adam Wulkiewicz
38e29d62fc geometry.index: nearest_query.cpp renamed to distance_query.cpp
[SVN r84214]
2013-05-09 22:32:29 +00:00
Adam Wulkiewicz
609528d426 geometry.index: Deprecated BOOST_NO_RVALUE_REFERENCES replaced by BOOST_NO_CXX11_RVALUE_REFERENCES in distance_query_incremental.
[SVN r84212]
2013-05-09 18:52:19 +00:00
Adam Wulkiewicz
72e2ee5ade geometry.index: introduced distance query - a generalized nearest query. distance calculation simplified. nearest query implemented using distance query. added path() predicate and query implemented using distance query as well.
[SVN r84209]
2013-05-09 18:01:25 +00:00
Adam Wulkiewicz
03da86e962 geometry.index: nearest() predicate point relations shielded by BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL.
[SVN r84170]
2013-05-06 16:15:38 +00:00
Adam Wulkiewicz
66f91c3578 geometry.index: added path_intersection algorithm.
[SVN r84131]
2013-05-04 02:08:21 +00:00
Adam Wulkiewicz
e4e7bd4a28 geometry.index: added segment_intersection algorithm.
[SVN r84129]
2013-05-03 20:36:29 +00:00
Adam Wulkiewicz
44084345b9 geometry.index: compile errors fixed in experimental iterators.
[SVN r84122]
2013-05-03 01:03:32 +00:00
Adam Wulkiewicz
00c66c3277 geometry.index: added experimental end_query_iterator which may be compared with spatial_query_iterator or nearest_query_iterator to check if query is finished.
[SVN r84120]
2013-05-03 00:14:33 +00:00
Adam Wulkiewicz
ba57344359 geometry.index: query_visitor_incremental - index to current value replaced by pair of iterators
[SVN r84108]
2013-05-02 12:23:01 +00:00
Adam Wulkiewicz
2fdd1c6ab6 geometry.index: rtree methods/functions descriptions improved.
[SVN r84095]
2013-04-30 20:49:29 +00:00
Adam Wulkiewicz
3236a7546e geometry.index: fixed error for BOOST_NO_EXCEPTION.
[SVN r84093]
2013-04-30 14:02:54 +00:00
Adam Wulkiewicz
d51e39bae9 geometry.index: added rtree's max and min parameters checks.
[SVN r84092]
2013-04-30 14:00:50 +00:00
Adam Wulkiewicz
a17bf4a6c7 geometry.index: edge values of some parameters handled more safely, changed order of rstar parameters.
[SVN r84087]
2013-04-29 20:50:00 +00:00
Adam Wulkiewicz
92aa63a684 geometry.index: added includes to some detail/algorithms to make possible using them without including rtree.
[SVN r84085]
2013-04-29 12:51:49 +00:00
Adam Wulkiewicz
13458e4de4 geometry.index: fixed errors preventing copy-assigning query iterators in C++03 (caused by container::vector and Boost.Move limitation).
[SVN r84078]
2013-04-28 23:04:58 +00:00
Adam Wulkiewicz
72e5b48bba geometry.index: added stl container-like typedefs in rtree (reference, pointer, etc.), added type-erased iterator - currently may be enabled by define.
[SVN r84071]
2013-04-28 17:06:28 +00:00
Adam Wulkiewicz
7c43145cf8 geometry.index: fixed GCC compilation error related to initialization of pointer to function wrapped in the 'satisfies' predicate.
[SVN r84059]
2013-04-27 23:22:04 +00:00
Adam Wulkiewicz
28578fe932 geometry.index: made changes required to allow copying of query iterators - geometries objects are now wrapped in predicates instead of const references, pointers to const translator instead of const references are stored in queries incremental visitors.
[SVN r84057]
2013-04-27 22:59:37 +00:00
Adam Wulkiewicz
d1881e788f geometry.index: supported environments with disabled exceptions (BOOST_NO_EXCEPTIONS) - committed missed file.
[SVN r84047]
2013-04-25 14:13:16 +00:00
Adam Wulkiewicz
affba8cc35 geometry.index: supported environments with disabled exceptions (BOOST_NO_EXCEPTIONS)
[SVN r84045]
2013-04-25 13:55:19 +00:00
Adam Wulkiewicz
c20734b705 geometry extensions: tabs replaced by spaces.
[SVN r84044]
2013-04-25 10:41:03 +00:00
Adam Wulkiewicz
1d1a4778b6 geometry.index: changed exception type thrown when the allocator returns null node and doesn't throw an exception.
[SVN r84043]
2013-04-25 10:37:58 +00:00
Adam Wulkiewicz
97aea19565 geometry: tabs replaced by spaces in non-extensions code.
[SVN r84038]
2013-04-24 14:22:21 +00:00
Adam Wulkiewicz
4c6a1e4de3 geometry.index: fixed numeric_limits max() calls in iterative nearest visitor.
[SVN r84037]
2013-04-24 14:08:49 +00:00
Adam Wulkiewicz
dfd201146b geometry.index: experimental iterative query visitor increment() simplified.
[SVN r84030]
2013-04-24 12:35:30 +00:00
Adam Wulkiewicz
06e93d3f0e geometry.index: experimental nearest iterative visitor optimized (different data structures, less complex algorithm).
[SVN r84029]
2013-04-24 11:22:36 +00:00
Barend Gehrels
d1036cf417 [geometry] fix for clang
[SVN r83998]
2013-04-21 11:59:05 +00:00
Barend Gehrels
ed62b34402 [geometry] Added (draft) versions of point_buffer, multi_point_buffer, end-caps, rounded endcap
[SVN r83996]
2013-04-21 10:43:22 +00:00
Adam Wulkiewicz
187c5cf3f7 geometry.index.rtree: added condition in nearest query iterative visitor for safety reasons.
[SVN r83975]
2013-04-20 01:52:26 +00:00
Adam Wulkiewicz
7a8e2735cd geometry.index.rtree: removed unneeded prune_nodes() method from nearest query visitor.
[SVN r83974]
2013-04-20 01:21:20 +00:00
Adam Wulkiewicz
e8dabbaf9f geometry.index.rtree: unclear condition in nearest query iterative visitor replaced by shorter and cleaner one.
[SVN r83973]
2013-04-20 00:56:19 +00:00
Adam Wulkiewicz
76af7b64c2 geometry.index.rtree: fixed error in nearest query iterative visitor.
[SVN r83972]
2013-04-20 00:41:14 +00:00
Adam Wulkiewicz
d3e83c3818 geometry.index.rtree: removed unused variable
[SVN r83971]
2013-04-19 23:01:01 +00:00
Adam Wulkiewicz
6307d5b3a4 geometry.index.rtree: added experimental nearest query iterator, rtree::qbegin() and rtree::qend() methods modified to support it, cosmetic change in spatial query iterator (addressof() instead of &)
[SVN r83968]
2013-04-19 22:27:54 +00:00
Adam Wulkiewicz
8b7e59b3ec geometry.index.rtree: Removed distance predicates member unnecessarily stored in nearest visitor.
[SVN r83964]
2013-04-19 12:57:12 +00:00
Adam Wulkiewicz
3f7df7c85e geometry.index rtree: dependency removed - node_auto_ptr base class noncopyable - implemented manually.
[SVN r83946]
2013-04-18 00:20:40 +00:00
Adam Wulkiewicz
8d002db8a9 geometry.index rtree: error fixed in linear redistribute_elements, errors fixed in experimental spatial query iterator and visitor.
[SVN r83945]
2013-04-18 00:06:35 +00:00
Adam Wulkiewicz
fcc99ddbcb geometry.index: added experimental spatial query iterator and rtree::qbegin() and rtree::qend() methods, added allocator_type to Allocators.
[SVN r83935]
2013-04-16 22:08:55 +00:00
Adam Wulkiewicz
5aa6c7d487 geometry.index rtree: Added commented out preliminary version of incremental spatial query visitor.
[SVN r83912]
2013-04-15 00:47:46 +00:00
Mateusz Loskot
182dac69e0 [geometry] Add missing words in doc sentences
[SVN r83911]
2013-04-14 23:36:05 +00:00
Adam Wulkiewicz
6bf7e0dbe0 geometry::index: commented out explicit copy ctor and assignment of ptr_pair.
[SVN r83879]
2013-04-13 18:28:41 +00:00
Barend Gehrels
8145047dc5 [geometry] Ticket #7465 Fixed, made 2 constructors public
[SVN r83787]
2013-04-06 23:03:38 +00:00
Barend Gehrels
b2e3b33250 [geometry] Tickets #8403 and #8405 -> silenced various warnings using MSVC /W4.
We have to use the #pragma's to not destroy the sources.

[SVN r83786]
2013-04-06 22:46:54 +00:00
Barend Gehrels
7fce3396e2 [geometry] Ticket #8405 -> silenced various warnings using MSVC /W4
[SVN r83780]
2013-04-06 21:28:38 +00:00
Adam Wulkiewicz
7fd1f8c88f geometry.index: doxygen group description tweaked
[SVN r83751]
2013-04-03 19:03:25 +00:00
Adam Wulkiewicz
dd5d6ff393 rtree: members of equal_to and indexable documented.
[SVN r83731]
2013-04-03 00:21:04 +00:00
Barend Gehrels
c8475204e6 [geometry] Fixes for Doxygen: we go back to ifdef DOXYGEN... for parameters which should not be documented, instead of qbk_skip. This because the newer versions of Doxygen did not support the qbk_skip construction anymore.
Also removed <em> from the comment because it complained about the end (there was a /2, meaning divide by two in between)

[SVN r83714]
2013-04-02 17:53:51 +00:00
Adam Wulkiewicz
806c11d710 rtree: msvc warnings suppressed in utilities
[SVN r83711]
2013-04-02 14:11:42 +00:00
Adam Wulkiewicz
d490cec151 rtree: fixed error in move assignment (allocators comparison), some comments added
[SVN r83709]
2013-04-02 14:00:57 +00:00
Adam Wulkiewicz
a18bb704d3 rtree: added allocator propagation test in swap()
[SVN r83706]
2013-04-02 02:35:03 +00:00
Adam Wulkiewicz
03ffa0f35f rtree: added Allocators copy assignments for C++11, warning disabled.
[SVN r83704]
2013-04-02 00:13:51 +00:00
Adam Wulkiewicz
11d4f2294b rtree: added missing returns
[SVN r83671]
2013-03-31 20:23:52 +00:00
Adam Wulkiewicz
e28cf9a69b rtree: MSVC warning 4996 disabled in varray
[SVN r83663]
2013-03-31 13:56:49 +00:00
Adam Wulkiewicz
58f2526bdc rtree: fixed template parameter types and MPL_ASSERT parameters
[SVN r83659]
2013-03-31 01:28:13 +00:00
Adam Wulkiewicz
a73d6c0b2e rtree move ctor and assignment rearranged.
[SVN r83658]
2013-03-31 00:02:15 +00:00
Adam Wulkiewicz
cd7109025c rtree error fixed: Allocators copy/move assignment defined explicitly.
rtree warning fixed: conversion from size_t to Allocators::size_type.

[SVN r83655]
2013-03-30 21:34:31 +00:00
Adam Wulkiewicz
ab56aa37b2 index copied from branches to trunk
[SVN r83638]
2013-03-30 01:20:27 +00:00
Barend Gehrels
cad4707a7d [geometry] Fix ticket 7462, degenerate union for float. This was caused by two distances being wrong (by floating point precision). We now use earlier the alternative sort method (sorting on left/right), using relaxed_epsilon. This fixes the cause.
[SVN r83481]
2013-03-17 21:26:01 +00:00
Barend Gehrels
8fbc112550 [geometry] fixed issue (found myself with testcase #buffer_mp2) where, in double precision, a false intersection point was inserted. This was a robustness issue, an inconsistent side-value in colinear-opposite handler of get_turn_info
[SVN r83475]
2013-03-17 16:28:15 +00:00
Barend Gehrels
c992eb61e8 [geometry] fixed issue (found myself with testcase #buffer_mp1) where two specific circle-like polygons were not overlayed correctly. This was caused by sections not containing all points. We now make the section boxes a little smaller, such that they are not disjoint (10 * epsilon). This margin is a little fuzzy, but that is not harmful, they only influence might be some more comparisons. But that is intentional, we missed now one.
[SVN r83474]
2013-03-17 16:26:34 +00:00
Adam Wulkiewicz
f850426692 rtree: margin() renamed to comparable_margin(), other/simpler algorithm used, 3d_benchmark added
[SVN r83449]
2013-03-15 18:49:46 +00:00
Adam Wulkiewicz
453af42c4b Added indexable<> and equal_to<> specialized for std::tuple<> if the compiler supports c++11 tuples and variadic templates.
[SVN r83438]
2013-03-15 17:17:54 +00:00
Adam Wulkiewicz
2db7f67b56 rtree: cosmetic changes
allocator passed to ctors by const ref instead of a value,
some parameters names changed,
docs updated.

[SVN r83315]
2013-03-05 18:26:56 +00:00
Adam Wulkiewicz
6fc96171f8 Added commented out specializations of insexable<>, equal_to<> and tests for std::tuple.
Removed unneeded variant node get<> function.

[SVN r83302]
2013-03-05 02:42:02 +00:00
Adam Wulkiewicz
f2f41d8b74 rtree: errors in indexable_get() and value_eq() fixed,
indexable_get() and value_eq() used in rtree tests instead of translator().


[SVN r83289]
2013-03-04 01:06:58 +00:00
Adam Wulkiewicz
cfb4911630 rtree: indexable<>, equal_to<> and translator<> relocated:
translator<>, indexable_type<>, result_type<> moved to detail namespace.
indexable<> and equal_to<> are now defined in separate files.
detail::translator namespace removed.

[SVN r83288]
2013-03-03 23:41:22 +00:00
Adam Wulkiewicz
5e2db81daf rtree: indexable_getter and value_equal description added.
[SVN r83280]
2013-03-03 13:55:24 +00:00
Barend Gehrels
ce3e4e858e [geometry] reorganized buffer strategies
[SVN r83272]
2013-03-03 12:28:16 +00:00
Adam Wulkiewicz
4727f94f4d rtree: IndexableGetter and EqualTo handled in members_holder interface.
Fix in glut_vis example - macro name fixed.

[SVN r83257]
2013-03-03 00:34:45 +00:00
Adam Wulkiewicz
33aef8ae3b rtree: added indexable_getter and value_equal. Macro enabling debug interface renamed.
[SVN r83255]
2013-03-02 23:51:13 +00:00
Barend Gehrels
59ab90e79e [geometry] Buffer update, added buffer support for multi_linestring, and the number of steps for round buffers can be specified (both requests of John Lilley)
[SVN r83243]
2013-03-02 14:30:50 +00:00
Adam Wulkiewicz
d04778f99e rtree parameter Translator replaced by two IndexableGetter and EqualTo
[SVN r83238]
2013-03-02 02:20:40 +00:00
Adam Wulkiewicz
f536225918 added functors index::equal_to<V> and index::indexable<V>, not used yet
[SVN r83235]
2013-03-01 21:57:29 +00:00
Adam Wulkiewicz
0bc541d1e9 rtree query default spatial predicate removed. Explicit call of intersects() is expected.
Predicates and DistancePredicates are stored by value in visitors.
Each predicate is stored by value in expression tuple.
Examples and docs updated.

[SVN r83232]
2013-03-01 18:14:46 +00:00
Adam Wulkiewicz
0afdadc5c4 value() predicate renamed to satisfies()
[SVN r83224]
2013-03-01 02:59:39 +00:00
Barend Gehrels
9808bf8b45 [geometry] updated offset/buffer w.r.t. changes in library
[SVN r83189]
2013-02-27 17:25:07 +00:00
Adam Wulkiewicz
e621608667 index::runtime::XXX parameters moved and renamed to index::dynamic_XXX
[SVN r83188]
2013-02-27 13:30:14 +00:00
Adam Wulkiewicz
12bb15d27e Added translator examples.
rtree: parameters passed in the constructor by const& instead of a copy.



[SVN r83135]
2013-02-24 16:42:39 +00:00
Adam Wulkiewicz
e1a4660d47 Added examples of indexing polygons.
Fixed c++11 compilation error caused by use of deleted Allocators copy ctor in rstar insert visitor.


[SVN r83110]
2013-02-23 23:47:19 +00:00
Adam Wulkiewicz
f7849be05d doxygen_xml2qbk: fixed alt. class output for class specialization.
quickbook_output_indexterm() call removed from alt. class output.
docs updated


[SVN r83082]
2013-02-22 13:53:19 +00:00
Adam Wulkiewicz
d418dac57f rtree predefined translator renamed to index::translator<>
index::translator::def<> renamed to index::translator<>
index::translator::index<> removed
translator helpers removed or moved to index::default::translator namespace
some unneeded includes removed
docs updated

[SVN r83077]
2013-02-22 03:23:41 +00:00
Adam Wulkiewicz
fd98aaab40 rtree: allocator_traits used in ctor and operator= (e.g. propagate_XXX or select_XXX),
index::swap() added,
query_range operator| generator moved to index::detail,
docs updated.

[SVN r83019]
2013-02-19 19:36:43 +00:00
Adam Wulkiewicz
27c53a3779 rtree: definition of _CRT_SECURE_NO_DEPRECATE removed
[SVN r83001]
2013-02-19 14:30:44 +00:00
Adam Wulkiewicz
b09c83883d rtree: translator_wrapper removed,
detail::rtree::ptr_pair used in internal nodes instead of std::pair.

[SVN r83000]
2013-02-19 14:20:06 +00:00
Adam Wulkiewicz
a3778c9097 rtree: Geometries stored in predicates as const& instead of a copy, envelope_tag renamed to bounds_tag, MSVC warnings disabled/fixed.
[SVN r82999]
2013-02-19 13:17:52 +00:00
Adam Wulkiewicz
d16ffc0297 rtree: added include missing for standalone usage of detail::varray
[SVN r82979]
2013-02-18 19:40:39 +00:00
Adam Wulkiewicz
c47f314aaa calls to allocator_traits::construct() and ::destroy() used, this time with valid parameters, C++11 requires raw pointers
[SVN r82966]
2013-02-18 03:37:52 +00:00
Adam Wulkiewicz
9198afb7f9 compile errors fixed: allocator_traits::construct() and destroyed() replaced by allocator calls because of errors in Boost.Container, nonasignable uses removed.
[SVN r82965]
2013-02-18 03:29:18 +00:00
Adam Wulkiewicz
a98548fe76 rtree: copy_from_back() replaced by move_from_back(), auto_deallocator used instead of try-catch block in create_node, nonassignable removed, container::allocator_traits used in create_node
[SVN r82964]
2013-02-18 03:02:28 +00:00
Adam Wulkiewicz
4270e53fe5 rtree detail varray error fixed
[SVN r82963]
2013-02-18 01:32:39 +00:00
Adam Wulkiewicz
9b2ebcde2e rtree detail varray rvref support added.
ptr_pair added (not used for now).

[SVN r82962]
2013-02-18 01:19:22 +00:00
Adam Wulkiewicz
b122d309b7 rtree: some params definition corrected,
docs updated,
reference definition moved to the separate file.

[SVN r82949]
2013-02-17 14:57:29 +00:00
Adam Wulkiewicz
24626df0cf rtree: unneeded allocators removed from members.
[SVN r82924]
2013-02-16 14:54:52 +00:00
Adam Wulkiewicz
cb38c7b034 rtree object size decreased by deriving allocators holder from allocators
[SVN r82918]
2013-02-16 01:21:32 +00:00
Adam Wulkiewicz
f43d5ca8f3 rtree object size decreased, bounds returned by copy, rtree members grouped in members_holder derived from potentially empty types
[SVN r82917]
2013-02-16 00:04:03 +00:00
Adam Wulkiewicz
214e9e8286 rtree errors fixes related to non-std allocator pointers usage
[SVN r82866]
2013-02-14 04:34:34 +00:00
Adam Wulkiewicz
b7f592f1f4 rtree non-std allocators support implemented.
interprocess test added.

[SVN r82864]
2013-02-14 01:11:17 +00:00
Adam Wulkiewicz
1b806fc797 compilation errors related to detail::rtree::get fixed
[SVN r82850]
2013-02-13 14:57:43 +00:00
Adam Wulkiewicz
6b270d31ec raw pointers replaced by allocator pointer
[SVN r82849]
2013-02-13 14:33:11 +00:00
Adam Wulkiewicz
eb78310bc7 Added rtree_interprocess test (doesn't executed for now), error fixed in detail::varray
[SVN r82837]
2013-02-12 18:24:13 +00:00
Adam Wulkiewicz
8c6081100a Removed
spatial_query(), nearest_query(),
related adaptors,
distance predicates generators bounded(), min_bounded() etc.,
detail static_vector renamed to varray.
Docs and tests updated.



[SVN r82824]
2013-02-11 19:11:41 +00:00
Adam Wulkiewicz
a90b56de26 boost::container::vector used in dynamic nodes. detail::static_vector renamed to detail::varray. Added Alloc parameter to varray. rtree::envelope() renamed to rtree::bounds(). Tests moddified. Docs tweaked.
[SVN r82766]
2013-02-06 20:56:29 +00:00
Barend Gehrels
7e949875aa [geometry] applied patch of Vladimir Petrovic and changed std::string (which causes string-construction) to const char* for non-debug mode
[SVN r82690]
2013-02-02 18:47:00 +00:00
Adam Wulkiewicz
3f712b94f8 nearest() predicate and related classes moved from distance_predicates.hpp to predicates.hpp
query() methods and functions documented.
nearest() predicate documented.
Changes in various methods/functions description.
Deleted unneeded query_expr.

[SVN r82617]
2013-01-26 00:36:29 +00:00
Adam Wulkiewicz
fb25dff48e Added rtree free function insert.
Added adaptors::queried().
nearest_query_range and spatial_query_range moved to adaptors::detail.

[SVN r82611]
2013-01-25 18:43:48 +00:00
Adam Wulkiewicz
cfb4ee0d43 MPL_ASSERT_MSG message modified.
[SVN r82606]
2013-01-25 13:23:10 +00:00
Adam Wulkiewicz
dfb33baede Implemented all variants of rtree::query() method. spatial and nearest returning 1 and k values.
[SVN r82600]
2013-01-24 22:24:58 +00:00
Adam Wulkiewicz
455b2d9f45 Change in predicates.
empty() removed.
value() parameter renamed to Fun const& fun.
operator! moved to index::detail namespace.
Reference updated.

[SVN r82595]
2013-01-24 13:51:01 +00:00
Adam Wulkiewicz
344825c144 query_expr: implemented push_back_impl operator&& and find_nearest_impl
[SVN r82593]
2013-01-24 05:43:57 +00:00
Adam Wulkiewicz
1fdee7912a added query_expr for test purposes
[SVN r82590]
2013-01-23 02:10:38 +00:00
Adam Wulkiewicz
26e9526564 boost/geometry/extensions/index/* moved to boost/geometry/index/*
rtree::box() renamed to rtree::envelope()
index::box() renamed to index::envelope()
some unneeded tests removed
docs updated

[SVN r82546]
2013-01-19 02:26:34 +00:00
Adam Wulkiewicz
4233d851c4 index/algorithms/* moved to index/detail/algorithms/*
[SVN r82545]
2013-01-19 01:15:55 +00:00
Adam Wulkiewicz
55774f5041 MSVC compilation error fixed.
is_valid moved to detail namespace.

[SVN r82544]
2013-01-19 00:23:48 +00:00
Adam Wulkiewicz
ca17094850 indexable traits and accessors moved to index::detail namespace
[SVN r82538]
2013-01-18 21:18:32 +00:00
Adam Wulkiewicz
b830ec1cdb Files structure rearranged to better reflect namespace strcture. Some classes moved to different namespaces.
[SVN r82536]
2013-01-18 20:40:24 +00:00
Adam Wulkiewicz
392ac1a864 Options, functions: check_predicates(), are_boxes_ok(), are_levels_ok() moved to the index::detail namespace.
query_expr.hpp deleted.

[SVN r82523]
2013-01-17 15:19:40 +00:00
Adam Wulkiewicz
4836bbabce root box calculation after remove moved from rtree::raw_remove() to visitor::remove.
[SVN r82522]
2013-01-17 14:37:40 +00:00
Adam Wulkiewicz
28a9448da5 Box stored in the rtree.
box() returns box_type const&.
rtree adapted to Box concept.
error in remove() fixed - size change if the Value wasn't removed.
Tests added.



[SVN r82515]
2013-01-17 03:54:52 +00:00
Adam Wulkiewicz
74db796acc rtree: added bg::envelope() and bg::return_envelope().
doxygen_qbk2xml: added template parameters to detailed function output.



[SVN r82510]
2013-01-16 14:39:01 +00:00
Adam Wulkiewicz
9cd5626c90 rtree - added move ctor taking allocator
distance predicates - docs improved
doxygen_xml2qbk - group output finished (enums, defines and functions)



[SVN r82509]
2013-01-16 04:08:16 +00:00
Bruno Lalande
6090b106af Made the length algorithm variant-aware.
[SVN r82484]
2013-01-13 23:09:27 +00:00
Adam Wulkiewicz
7994089084 Rtree docs improved.
[SVN r82483]
2013-01-13 20:02:19 +00:00
Barend Gehrels
f3735f6475 [geometry] Made concept-checks variant aware. For now the underlying types are skipped. So a specialization for variants is made, being empty. This also solves two omissions: checks for Ring and Segment. Besides that, it now derives from not-inherited. This was earlier not the case (i.e. concepts were not checked, if type was not found). The commit makes it also consistent with the new system (template parameters auto-derived if possible)
[SVN r82482]
2013-01-13 17:34:50 +00:00
Bruno Lalande
2da1ca09d1 Made wkt write variant-aware.
[SVN r82481]
2013-01-13 17:25:15 +00:00
Adam Wulkiewicz
36440429e0 rtree docs and doxygen_xml2qbk modified.
rtree docs:
fixed formatting, added rtree parameters info.

doxygen_xml2qbk:
added doxygen ref links support.
removed index_id_path - no longer needed.

[SVN r82479]
2013-01-13 15:35:10 +00:00
Barend Gehrels
d575690df3 [geometry] added include files for concept checking
[SVN r82476]
2013-01-13 15:05:24 +00:00
Bruno Lalande
8ae4743abb Adapted multi/io/wkt to latest change.
[SVN r82474]
2013-01-13 12:04:01 +00:00
Bruno Lalande
acba0901a7 Made dispatch::wkt able to retrieve the tag by itself + used not_implemented.
[SVN r82473]
2013-01-13 11:57:45 +00:00
Bruno Lalande
dfb6a611db Made the convert algorithm variant-aware.
[SVN r82472]
2013-01-12 23:06:18 +00:00
Bruno Lalande
4be6f96160 Reimplemented variants handling in num_points algorithm.
[SVN r82470]
2013-01-12 21:28:59 +00:00
Bruno Lalande
1be15177cb Reimplemented variants handling in clear algorithm.
[SVN r82469]
2013-01-12 21:06:44 +00:00
Bruno Lalande
0394222c2b Small fix - missing header.
[SVN r82468]
2013-01-12 20:59:42 +00:00
Bruno Lalande
ab7220987e Removed a useless template parameter + used devariant_area in the no-strategy overload.
[SVN r82467]
2013-01-12 20:56:00 +00:00
Bruno Lalande
36c9694321 Reimplemented variant handling in area algorithm.
[SVN r82466]
2013-01-12 20:46:13 +00:00
Bruno Lalande
4d59f27f94 Better aligned the recent new code.
[SVN r82465]
2013-01-12 20:34:40 +00:00
Bruno Lalande
136d84356f Used 'devarianted_' term in append algorithm, like for equals.
[SVN r82464]
2013-01-12 18:33:20 +00:00
Bruno Lalande
c3c0e57304 Made the equals algorithm variant-aware.
[SVN r82463]
2013-01-12 18:28:00 +00:00
Adam Wulkiewicz
17584a35d3 Moddified rtree description - required by doxygen to properly generate links.
[SVN r82454]
2013-01-12 03:49:19 +00:00
Bruno Lalande
ecf429362e Adding back mistakenly removed polygon specialization
[SVN r82452]
2013-01-12 00:24:44 +00:00
Bruno Lalande
684945f1c5 Reimplemented variants handling in clear() to avoid function overloading.
[SVN r82450]
2013-01-11 21:54:41 +00:00
Bruno Lalande
13e2dc0984 Reimplemented variants handling in append to avoid function overloading.
[SVN r82449]
2013-01-11 21:16:55 +00:00
Adam Wulkiewicz
4e972f0389 Fixed errors in doxygen_xml2qbk - lists support, additional paragraphs display.
Added warnings and infos.
Rtree docs improved, added text formatting, warnings etc.



[SVN r82446]
2013-01-11 04:09:30 +00:00
Adam Wulkiewicz
53a5a25f55 Docs improved.
[SVN r82428]
2013-01-09 23:48:23 +00:00
Adam Wulkiewicz
5310131f4c Rtree docs: added inserter, groups names changed.
[SVN r82420]
2013-01-09 16:43:16 +00:00
Adam Wulkiewicz
121ac6c683 rtree: missing parameters description added.
[SVN r82419]
2013-01-09 16:34:02 +00:00
Adam Wulkiewicz
7a707809a7 Default and index translator added to the reference.
doxygen_xml2qbk now displays members only if they have brief description.

[SVN r82418]
2013-01-09 16:31:16 +00:00
Adam Wulkiewicz
0b84c2b0a5 rtree constructors parameters moddified
[SVN r82416]
2013-01-09 13:36:19 +00:00
Adam Wulkiewicz
e72e9bcfad Added move ctors and swap() to nodes allocators. Used those in rtree move ctor and swap(). Docs: added rtree methods exceptions detailed description.
[SVN r82415]
2013-01-09 13:07:45 +00:00
Adam Wulkiewicz
cf6a052ffd Added adaptors to the reference.
[SVN r82414]
2013-01-08 23:56:10 +00:00
Adam Wulkiewicz
54a789ec78 Added spatial and distance predicates to the reference.
[SVN r82413]
2013-01-08 23:41:27 +00:00
Bruno Lalande
2cc83e50a1 Made the append algorithm variant-aware.
[SVN r82412]
2013-01-08 23:35:28 +00:00
Adam Wulkiewicz
a127e0eb70 Added rtree group to src description and free functions to reference.
Some changed in doxygen_xml2qbk - group handling, parameters changes etc.

[SVN r82411]
2013-01-08 23:03:43 +00:00
Bruno Lalande
79ce0f7bb5 Gave variant dispatcher a more algorithm-specific name.
[SVN r82409]
2013-01-08 21:58:04 +00:00
Adam Wulkiewicz
bd3dc677b5 \bgi_exception{} alias used.
[SVN r82407]
2013-01-08 17:45:27 +00:00
Adam Wulkiewicz
81e43183a5 Added cos_output_style to doxygen_xml2_qbk tool.
Detail member description output slightly changed.


[SVN r82405]
2013-01-08 15:54:30 +00:00
Adam Wulkiewicz
f63be38583 rtree methods description: \qbk{} alias changed to manual \xmlonly<qbk>...</qbk>\endxmlonly
[SVN r82404]
2013-01-08 15:32:33 +00:00
Adam Wulkiewicz
033fb806bf added qbk params in rtree description
[SVN r82402]
2013-01-08 14:40:57 +00:00
Bruno Lalande
22fff3f43b Made clear() variant-aware.
[SVN r82395]
2013-01-08 00:05:36 +00:00
Bruno Lalande
f78cee7c30 Integrated not_implemented into clear.
[SVN r82390]
2013-01-07 22:39:17 +00:00
Adam Wulkiewicz
c06e6efc98 R-tree docs improved.
[SVN r82387]
2013-01-07 21:08:48 +00:00
Adam Wulkiewicz
0870399a28 rtree methods info/definition improved
[SVN r82386]
2013-01-07 18:04:20 +00:00
Adam Wulkiewicz
1257977a04 R-tree docs improved
[SVN r82380]
2013-01-07 01:50:29 +00:00
Adam Wulkiewicz
1f3612c9e4 doxygen_xml2qbk used to build the rtree reference
[SVN r82379]
2013-01-07 01:00:02 +00:00
Bruno Lalande
2a5b55ffe9 Made num_points variant-aware.
[SVN r82378]
2013-01-06 22:27:38 +00:00
Bruno Lalande
da4868a421 Made clearer that variant's tag is irrelevant.
[SVN r82377]
2013-01-06 21:35:07 +00:00
Adam Wulkiewicz
fa55322ddc Fixed error in nearest_query() - for Iterator which is not an inserter - operator++ call added.
[SVN r82371]
2013-01-06 00:58:54 +00:00
Adam Wulkiewicz
a8b63e7617 Added rtree autodoc reference.
[SVN r82359]
2013-01-04 20:40:36 +00:00
Adam Wulkiewicz
dcd4550b4d Updated exception-safety description in sources.
[SVN r82355]
2013-01-04 18:13:08 +00:00
Adam Wulkiewicz
8364fd5adb remove() description improved.
[SVN r82354]
2013-01-04 17:56:17 +00:00
Adam Wulkiewicz
31d95f9ac4 Added number of removed elements returned by rtree::remove().
[SVN r82353]
2013-01-04 17:38:18 +00:00
Adam Wulkiewicz
c8a643a9d7 Rtree static parameters methods changed to static.
[SVN r82079]
2012-12-18 13:52:22 +00:00
Adam Wulkiewicz
95f6cf8442 Some compilation errors corrected in local index::static_vector.
[SVN r82048]
2012-12-17 15:43:27 +00:00
Adam Wulkiewicz
b8e533f7be static_vector size_t changed to std::size_t.
[SVN r82035]
2012-12-16 22:00:22 +00:00
Adam Wulkiewicz
c51fbe50b9 Iterators check changed in erase(f, l).
Tests upgraded.

[SVN r82032]
2012-12-16 19:34:51 +00:00
Adam Wulkiewicz
d96e31bb1b Compilation error fixed.
[SVN r82031]
2012-12-16 19:11:26 +00:00
Adam Wulkiewicz
f43d94fa29 asserts/checks closed in separate functions:
check_capacity()
check_empty()
check_iterator_end_eq()
check_iterator_end_neq()

[SVN r82030]
2012-12-16 19:09:10 +00:00
Adam Wulkiewicz
24f349839f Added templated versions of static_vector copy ctor and assignment.
GCC compile error fixed in test.

[SVN r82028]
2012-12-16 18:45:23 +00:00
Adam Wulkiewicz
32fbcf66ed Added statid_vector::insert(pos, first, last) for non random access iterators.
Added uninitialized_copy_checked() helper method.
Added tests.

[SVN r82027]
2012-12-16 18:31:03 +00:00
Adam Wulkiewicz
7e6f3b197e static_vector: assertion moved.
[SVN r82025]
2012-12-16 16:13:35 +00:00
Adam Wulkiewicz
0ae51b1dbc Implemented static_vector::insert(pos, first, last) for random access iterators.
Tests added.

[SVN r82024]
2012-12-16 16:09:07 +00:00
Barend Gehrels
106876b29d [geometry] merged revisions r78001:r78851 which were not yet merged earlier
[SVN r82023]
2012-12-16 16:08:33 +00:00
Barend Gehrels
5ce1a36676 [geometry] merged to release branch
[SVN r82022]
2012-12-16 15:14:35 +00:00
Barend Gehrels
202f8db2b2 [geometry] updated traverse to avoid output of nearly empty rings, like in convert_rings. This also affects unit tests
[SVN r82020]
2012-12-16 13:26:21 +00:00
Adam Wulkiewicz
5c9f96c750 Added static_vector::insert(pos, n, val) + test.
[SVN r82008]
2012-12-16 02:40:29 +00:00
Adam Wulkiewicz
8c6d651676 Fixed wrong assert in static_vector::insert(pos, val)
Test added.

[SVN r82003]
2012-12-16 01:02:38 +00:00
Adam Wulkiewicz
50bb3d9fdf Error fixed in static_vector::insert(pos, val).
Test added.

[SVN r82002]
2012-12-16 00:58:07 +00:00
Adam Wulkiewicz
2b5cd1d7e8 implemented static_vector insert(pos, val)
[SVN r82000]
2012-12-16 00:40:39 +00:00
Adam Wulkiewicz
475837cfa6 static_vector: types comparison warnings fixed.
[SVN r81994]
2012-12-15 23:51:24 +00:00
Adam Wulkiewicz
20c8e649b7 static_vector: fixed wrong assert, removed ptr(i), calls of ptr(i) replaced by methods returning iterators wherever possible.
[SVN r81992]
2012-12-15 23:41:37 +00:00
Adam Wulkiewicz
addc5eebcf Added static_vector::erase() and tests.
[SVN r81990]
2012-12-15 23:21:59 +00:00
Adam Wulkiewicz
b985f5a561 Added assertion in static_vector.
[SVN r81980]
2012-12-15 20:55:38 +00:00
Adam Wulkiewicz
ba031be21a Added static_vector::assign(count, value) + test.
Added static_vector iterators test.

[SVN r81978]
2012-12-15 20:07:19 +00:00
Adam Wulkiewicz
bed0b92f6e static_vector helper method uninitialized_copy(Val, It) changed to uninitialized_fill(It, Val).
[SVN r81977]
2012-12-15 19:31:45 +00:00
Adam Wulkiewicz
36f0abc509 Fixed gcc compiler errors.
[SVN r81974]
2012-12-15 16:42:56 +00:00
Adam Wulkiewicz
d55108b720 Added ctor and modified assign to static_vector.
static_vector(Iter, Iter), assign(Iter, Iter) + separated version for RandomIterators.
Private helper methods now are able to take arbitrary type (Iterator, Value).

[SVN r81971]
2012-12-15 16:30:57 +00:00
Adam Wulkiewicz
395777fb9d fixed static_vector error related to construction of values with nontrivial default constructor.
tests added.

[SVN r81962]
2012-12-14 23:22:16 +00:00
Adam Wulkiewicz
da5a91bad4 static_vector error fixed, tests added.
[SVN r81960]
2012-12-14 22:59:19 +00:00
Adam Wulkiewicz
479c6a3bab Error fixed in static_vector::at().
Added test for static_vector.

[SVN r81958]
2012-12-14 22:35:46 +00:00
Barend Gehrels
f7040ca437 [geometry] added combinations point/ring, point/polygon, point/multi_polygon for disjoint and intersects
[SVN r81955]
2012-12-14 22:12:12 +00:00
Adam Wulkiewicz
b22bd9525c assertion added in static_vector::assign();
[SVN r81954]
2012-12-14 21:46:53 +00:00
Adam Wulkiewicz
bbba565874 Compilation error fixed.
[SVN r81953]
2012-12-14 21:28:04 +00:00
Adam Wulkiewicz
17ed2a700b static_vector resize() and corresponding ctor divided into 2 methods/ctors (C++11).
First one uses default ctors (for noncopyable values).
Second one uses copy ctors (for values with no default ctor).

[SVN r81952]
2012-12-14 21:26:14 +00:00
Barend Gehrels
30cd790db3 [geometry] fix in variable names
[SVN r81951]
2012-12-14 21:19:49 +00:00
Adam Wulkiewicz
3005f91f84 Small improvement to the nearest_query added.
[SVN r81949]
2012-12-14 19:46:18 +00:00
Adam Wulkiewicz
627452da2a Added rtree::count() method. Docs modified.
[SVN r81947]
2012-12-14 19:15:34 +00:00
Adam Wulkiewicz
d7cf32bcfa Rtree value_type must no longer have default ctor defined.
Added static_vector::assign(), added assertion in static_vector::resize().
Added test for value without default ctor..

[SVN r81940]
2012-12-14 14:49:45 +00:00
Adam Wulkiewicz
8f67c58ea4 rtree::assign() commented out.
[SVN r81936]
2012-12-14 12:07:25 +00:00
Adam Wulkiewicz
79436250e5 Added assign() to the rtree interface. Fixed compilation error in static_vector.
[SVN r81935]
2012-12-14 11:58:40 +00:00
Adam Wulkiewicz
95000752cd static_vector changes: added MPL_ASSERT, added difference_type.
[SVN r81934]
2012-12-14 11:33:48 +00:00
Adam Wulkiewicz
4022ec2ccc added val_ref parameter to static_vector::resize() and constructor, added methods max_size(), data(), at(), added some comments
[SVN r81931]
2012-12-14 04:18:21 +00:00
Adam Wulkiewicz
ae07c29360 added optimized versions of static_vector operations, however preliminary tests on linux shows no speed difference
[SVN r81930]
2012-12-14 02:02:52 +00:00
Adam Wulkiewicz
a8f5d60f93 Added optimized uninitialized_copy() and destroy() to static_vector.
[SVN r81925]
2012-12-14 00:13:20 +00:00
Adam Wulkiewicz
34768c2fb2 Some VS warnings fixed.
[SVN r81923]
2012-12-13 23:08:37 +00:00
Adam Wulkiewicz
6f103fc04e explicit keyword added in static_vector.
[SVN r81895]
2012-12-13 13:16:06 +00:00
Adam Wulkiewicz
aaf737a5ce static_vector implemented and used in the rtree instead of pushable_array
[SVN r81885]
2012-12-13 03:34:54 +00:00
Adam Wulkiewicz
00481f40c2 BOOST_ASSERT used instead of std assert
[SVN r81812]
2012-12-10 01:21:00 +00:00
Adam Wulkiewicz
dd6430083d Coding style improved (issues detected by Boost Inspect tool).
[SVN r81802]
2012-12-08 23:47:52 +00:00
Adam Wulkiewicz
f4f0094c3a Merged from index_dev
Fixed rtree::clear() mem leak.
Added test for clear() and boost::shared_ptr as Values.
Each linear algo test file divided into 2 files.
Added reference in docs->rtree introduction.

[SVN r81778]
2012-12-07 22:52:53 +00:00
Adam Wulkiewicz
640ae6ced6 Inserter included in the rtree.hpp
Added docs regarding inserter and creation of the rtree from the query results.
Added info about comparison of tuples in default translator.
Merged from index_dev.

[SVN r81582]
2012-11-26 22:20:38 +00:00
Barend Gehrels
54a64a7e35 [geometry] fixed comparable_distance point-linestring (and -range, -polygon)
[SVN r81580]
2012-11-26 22:12:35 +00:00
Adam Wulkiewicz
6f5b384b93 Merged from index_dev.
not_xxx predicates generators removed.
Added rtree constructor, insert() and remove() taking Range.
Added default translator for boost::tuple<>.
Each R*tree test divided into 2 files.
Docs updated/modified/fixed.

[SVN r81571]
2012-11-26 18:54:09 +00:00
Adam Wulkiewicz
e1a14edce2 Merged from index_dev.
Docs improved (images added). Some samples and tests modified.

[SVN r81542]
2012-11-25 21:38:31 +00:00
Adam Wulkiewicz
f7d7e88bbb Modified glut_vis additional test and added generated rtree images.
[SVN r81528]
2012-11-25 17:28:12 +00:00
Adam Wulkiewicz
5a6e87b146 Pointers and Iterators types removed from the default Translator.
[SVN r81523]
2012-11-24 22:17:08 +00:00
Adam Wulkiewicz
80be48d155 Added rtree::swap() method.
Added requirement 'Nonthrowing copy constructor of the Translator'.



[SVN r81512]
2012-11-24 19:54:36 +00:00
Adam Wulkiewicz
a901b88244 Fixed nullptr dereference errors. Merged from index_dev.
[SVN r81484]
2012-11-22 14:47:16 +00:00
Adam Wulkiewicz
e5766cf57e Fixed nullptr dereference errors.
[SVN r81483]
2012-11-22 14:45:32 +00:00
Adam Wulkiewicz
52e8317c3b warnings fixed, query and nearest visitors renamed
[SVN r81482]
2012-11-22 11:31:58 +00:00
Adam Wulkiewicz
0ccbb1fe0c some of warnings fixed.
[SVN r81481]
2012-11-22 11:28:21 +00:00
Adam Wulkiewicz
b42b3e3c9f nearest and query visitors renamed.
[SVN r81471]
2012-11-22 01:54:21 +00:00
Adam Wulkiewicz
46816e4c44 merged from index_dev.
Fixed memory leaks mostly related to exception-safety issues.
Modified docs, added tests.

[SVN r81458]
2012-11-21 15:47:51 +00:00
Adam Wulkiewicz
7bbf242891 Improved exception safety of the r-tree.
Requirement 'nonthrowing copy constructor of the BoundingObject/CoordinateType' changed to 'exception-safe copy constructor of the BoundingObject/CoordinateType'.
From now the r-tree do not use erase() method of the elements containers. It uses copy_from_back() and pop_back() instead.
erase() removed from pushable_array.
Added various memory leaks fixes taking throwing by Element's copy constructor into account.
Tests added.
Docs modified.

[SVN r81445]
2012-11-20 22:49:14 +00:00
Adam Wulkiewicz
7ed71e5324 Fixed memleak for CoordinateType/BoundingObject which have throwing copy constructor for R*tree.
Added comments regarding exception-safety.

[SVN r81438]
2012-11-20 17:00:41 +00:00
Adam Wulkiewicz
e2beb3cf2f Safety issue fixed in pushable_array.
Filenames related to filters(old name) changed to adaptors.

[SVN r81436]
2012-11-20 13:45:48 +00:00
Barend Gehrels
3ec9d48e43 [geometry] fixed for_each using C++11 lambda's, including adding unit test for them
[SVN r81418]
2012-11-18 19:51:00 +00:00
Adam Wulkiewicz
ff1ccbdf29 Translator copy ctor exception handled.
Exception-safety docs moddified.



[SVN r81365]
2012-11-16 12:43:34 +00:00
Adam Wulkiewicz
04cf9fbc39 A cosmetic change in raw_destroy().
Some of the rtree member types and methods made private unless BOOST_GEOMETRY_INDEX_ENABLE_DEBUG_INTERFACE is defined.



[SVN r81355]
2012-11-15 11:23:36 +00:00
Adam Wulkiewicz
00c54279b4 std::vector MS implementation memory leak workaround added.
[SVN r81351]
2012-11-14 23:55:53 +00:00
Adam Wulkiewicz
6b456b1fc7 remove() don't return if there is no root, assertion check is done in raw_remove().
Docs updated.

[SVN r81350]
2012-11-14 23:35:14 +00:00
Adam Wulkiewicz
593ab6d9fb Names changed query to spatial_query, nearest to nearest_query, query_filtered to adaptors::spatial_queried, nearest_filtered to adaptors::nearest_queried.
[SVN r81349]
2012-11-14 21:59:37 +00:00
Adam Wulkiewicz
118ec2fbf6 Error related to the state of the rval after moving fixed. The root being NULL is valid state. Root is created lazily, if needed. This means that default constructor won't throw as well as moving operations.
[SVN r81345]
2012-11-14 17:12:23 +00:00
Adam Wulkiewicz
0ce013bdba mem leaks related exceptions in rtree copying fixed
[SVN r81340]
2012-11-14 14:37:09 +00:00
Adam Wulkiewicz
b00198e311 mem leaks related to exceptions in remove fixed
[SVN r81325]
2012-11-13 22:13:17 +00:00
Adam Wulkiewicz
6a1f024055 exceptions test improved.
[SVN r81302]
2012-11-12 01:07:59 +00:00
Adam Wulkiewicz
25e10f2539 potential mem leaks fixed in inserting algorithms, exceptions tests added.
[SVN r81301]
2012-11-12 00:47:07 +00:00
Adam Wulkiewicz
d008473125 mem leaks related to exceptions fixed in linear redistribute_elements.
[SVN r81284]
2012-11-10 13:29:07 +00:00
Adam Wulkiewicz
4dc16eb40d Exception-safety of the default insert and split algorithms improved.
[SVN r81280]
2012-11-10 10:25:56 +00:00
Bruno Lalande
cd44f9090e Made dispatch::reverse able to find the tag by itself.
[SVN r81077]
2012-10-28 19:25:13 +00:00
Bruno Lalande
7be65c1fbc Made dispatch::num_points able to find the tag by itself + used not_implemented.
[SVN r81075]
2012-10-28 19:08:35 +00:00
Barend Gehrels
931d6b65bf [geometry] Bugfix: difference problem reported by H2 at Boost.Geometry list at 2012-09-14 and 2012-10-11
[SVN r80993]
2012-10-15 21:12:25 +00:00
Adam Wulkiewicz
b164ec22c4 Added exact_match parameter to are_boxes_ok() check.
[SVN r80982]
2012-10-13 23:26:25 +00:00
Bruno Lalande
18e9c2d582 Defaulted Tag template parameter in dispatch::num_interior_rings.
[SVN r80972]
2012-10-12 21:47:24 +00:00
Bruno Lalande
212dec5619 Used not_implemented in dispatch::num_geometries.
[SVN r80970]
2012-10-12 21:38:41 +00:00
Bruno Lalande
852185860e Defaulted Tag template parameter in dispatch::num_geometries.
[SVN r80969]
2012-10-12 21:36:00 +00:00
Bruno Lalande
5ec3230d0d Defaulted various template parameters in dispatch::intersection_insert.
[SVN r80965]
2012-10-11 22:54:47 +00:00
Bruno Lalande
53508d6838 Moved more template params to function level in dispatch::intersection_insert.
[SVN r80948]
2012-10-10 22:46:46 +00:00
Bruno Lalande
ee51d3310e Moved Strategy template parameter from class to function level in dispatch::intersection_insert.
[SVN r80944]
2012-10-10 21:35:39 +00:00
Bruno Lalande
4a741dd86c Used not_implemented for dispatch::for_each.
[SVN r80941]
2012-10-10 20:18:17 +00:00
Bruno Lalande
db23bb2e83 Made dispatch::for_each able to retrieve the tag by itself.
[SVN r80922]
2012-10-09 23:19:54 +00:00
Bruno Lalande
2dce3e0c56 Moved Functor template param from class to function level in dispatch::for_each.
[SVN r80919]
2012-10-09 23:03:18 +00:00
Bruno Lalande
35b39be71a Applied latest change to multi-for_each.
[SVN r80918]
2012-10-09 22:39:51 +00:00
Bruno Lalande
ce600855ba Removed IsConst stuff from dispatch::for_each - this is useless because constness is part of the type already.
[SVN r80917]
2012-10-09 22:22:17 +00:00
Bruno Lalande
3e3fad1028 Made dispatch::for_each able to find out the geometry constness by itself, and used boost::is_const instead of dedicated overloads.
[SVN r80915]
2012-10-09 22:07:30 +00:00
Adam Wulkiewicz
0ab8fb772b merged from index_dev.
clang warnings and error in nearest_k fixed.
added insert_traverse_data.
added additional tests.

[SVN r80841]
2012-10-04 09:37:39 +00:00
Adam Wulkiewicz
a8356c2625 fixed some warnings and error, added nearest query test which don't find all values.
[SVN r80838]
2012-10-03 23:59:01 +00:00
Adam Wulkiewicz
460aac42a7 Data changing in traversing process moved to separate structure.
[SVN r80827]
2012-10-03 18:10:29 +00:00
Adam Wulkiewicz
8f50f69560 index dev branch created
[SVN r80798]
2012-09-30 23:29:41 +00:00
Adam Wulkiewicz
321143ef6f cosmetic changes
[SVN r80796]
2012-09-30 23:14:09 +00:00
Adam Wulkiewicz
6e5c17a53f some names changed.
[SVN r80794]
2012-09-30 20:28:11 +00:00
Adam Wulkiewicz
4232b39920 removed not automatically deducable template parameters from methods templates (possible GCC compilation error).
[SVN r80788]
2012-09-30 17:29:00 +00:00
Adam Wulkiewicz
80bfe0ae01 code related to nodes visitation moved to XXX_visitor.hpp
[SVN r80782]
2012-09-30 12:54:25 +00:00
Adam Wulkiewicz
136e2fc742 dynamic_visitor added and nodes tags changed.
[SVN r80779]
2012-09-30 12:12:34 +00:00
Adam Wulkiewicz
eb7ba34800 NodeProxy create() template member replaced by template function.
[SVN r80774]
2012-09-30 11:40:09 +00:00
Adam Wulkiewicz
75959b7426 NodeProxy used in visitors instead of Parameters, Translator and Allocators.
[SVN r80771]
2012-09-30 11:11:50 +00:00
Adam Wulkiewicz
b17a68cc09 implemented basic functionality of node_proxy
[SVN r80753]
2012-09-29 12:56:38 +00:00
Adam Wulkiewicz
d38a6ad5e6 renamed node types files
[SVN r80752]
2012-09-29 11:44:21 +00:00
Adam Wulkiewicz
3541621b70 added node/concept.hpp and moved some of empty definitions there.
[SVN r80751]
2012-09-29 11:37:57 +00:00
Adam Wulkiewicz
df4497d35a rtree node xxx_poly visitor and node types renamed to dynamic_xxx and moved to dynamic_visitor.hpp
[SVN r80750]
2012-09-28 23:27:12 +00:00
Bruno Lalande
4f5291ddc6 Added forgotten file geometries/variant.hpp
[SVN r80698]
2012-09-24 20:38:27 +00:00
Bruno Lalande
33efa07ed1 Moved Strategy template parameter from class level to function level in dispatch::convex_hull.
[SVN r80684]
2012-09-23 22:18:24 +00:00
Bruno Lalande
9c51c04471 Used not_implemented on dispatch::centroid.
[SVN r80682]
2012-09-23 21:34:38 +00:00
Bruno Lalande
2234750c4b Made dispatch::centroid able to retrieve the tag by itself.
[SVN r80681]
2012-09-23 21:30:58 +00:00
Bruno Lalande
6dd794a09d Removed now unused Point template parameter from dispatch::centroid.
[SVN r80680]
2012-09-23 21:20:25 +00:00
Bruno Lalande
fe2edf15f8 Moved Strategy template parameter from class level to function level in dispatch::centroid.
[SVN r80678]
2012-09-23 21:04:20 +00:00
Bruno Lalande
70ea8c83d1 Used not_implemented for dispatch::buffer.
[SVN r80675]
2012-09-23 18:18:28 +00:00
Bruno Lalande
76b499a8d5 Made dispatch::buffer able to retrieve the tags by itself.
[SVN r80673]
2012-09-23 18:14:44 +00:00
Bruno Lalande
48ba1751d5 Moved the T template param to function level in dispatch::buffer and renamed it.
[SVN r80671]
2012-09-23 17:14:31 +00:00
Bruno Lalande
9a84ecdf0e Made dispatch::perimeter able to retrieve the tag by itself.
[SVN r80665]
2012-09-23 12:30:51 +00:00
Bruno Lalande
189d847b90 Moved Strategy template parameter from class level to function level in dispatch::perimeter.
[SVN r80663]
2012-09-23 11:28:14 +00:00
Bruno Lalande
15cce77f1b Made dispatch::length able to retrieve the tag by itself.
[SVN r80652]
2012-09-22 23:15:06 +00:00
Bruno Lalande
2fca916308 Replicated last change in dispatch::length to multi-length and perimeter.
[SVN r80651]
2012-09-22 23:07:57 +00:00
Bruno Lalande
9a6a9f3aa6 Moved Strategy from class level to function level in length.
[SVN r80650]
2012-09-22 22:55:12 +00:00
Adam Wulkiewicz
d0ce652bb7 implemented additional query_expr helpers.
[SVN r80612]
2012-09-21 01:57:29 +00:00
Adam Wulkiewicz
85730539be Added query_expr.hpp
[SVN r80611]
2012-09-20 23:42:09 +00:00
Bruno Lalande
b3dcf83fa3 Added support for variant geometries in area algorithms.
[SVN r80610]
2012-09-20 21:48:47 +00:00
Bruno Lalande
49a7d9cfc1 Added missing header.
[SVN r80548]
2012-09-16 22:52:40 +00:00
Bruno Lalande
c750e3b1eb Updated nsphere code to reflect latest core changes.
[SVN r80547]
2012-09-16 22:52:03 +00:00
Bruno Lalande
ab0bd43b80 Fixed typo in static error messages.
[SVN r80545]
2012-09-16 22:06:39 +00:00
Bruno Lalande
c8880d6edc Added missing header.
[SVN r80500]
2012-09-11 22:42:10 +00:00
Bruno Lalande
6866f31237 Removed use of auto keyword.
[SVN r80499]
2012-09-11 22:39:51 +00:00
Adam Wulkiewicz
11e96c6247 fixed near/far macros issue by renaming near(to to_nearest), far(to to_furthest) and centroid to to_centroid for consistency.
[SVN r80398]
2012-09-04 18:09:39 +00:00
Bruno Lalande
0209699020 Moved Strategy from class to function level in dispatch::area. Preliminary change for integration of variant geometry.
[SVN r80366]
2012-09-02 21:14:49 +00:00
Bruno Lalande
7f5b0233e6 Made dispatch::unique able to retrieve the tag by itself.
[SVN r80245]
2012-08-26 23:33:14 +00:00
Bruno Lalande
2151e81851 Moved some template params from class to function level in dispatch::unique.
[SVN r80244]
2012-08-26 23:08:36 +00:00
Bruno Lalande
347e4727b9 Integrated not_implemented into union.
[SVN r80243]
2012-08-26 22:49:53 +00:00
Bruno Lalande
3ecfdfe1c7 Moved OutputIterator template param from class to function level in dispatch::union.
[SVN r80242]
2012-08-26 22:39:16 +00:00
Bruno Lalande
514132a751 Moved Strategy template param from class to function level in dispatch::union.
[SVN r80240]
2012-08-26 21:36:04 +00:00
Adam Wulkiewicz
d0890859f0 numeric_limits<>::max() handled correctly.
[SVN r80239]
2012-08-26 19:54:39 +00:00
Adam Wulkiewicz
1f72fc54cb Implemented r-tree run-time parameters. Tests modified. Added remove() test.
[SVN r80230]
2012-08-26 00:41:11 +00:00
Bruno Lalande
d4142f48dc Made dispatch::union able to reverse itself.
[SVN r80229]
2012-08-25 22:42:38 +00:00
Bruno Lalande
7dd075c1bd Defaulted more template params in dispatch::union.
[SVN r80218]
2012-08-25 21:50:02 +00:00
Bruno Lalande
435eb815cf Made dispatch::union enable to detect areals by itself.
[SVN r80199]
2012-08-25 12:50:30 +00:00
Bruno Lalande
316e4dd121 Made dispatch::union able to retrieve the tags by itself.
[SVN r80194]
2012-08-25 09:07:09 +00:00
Adam Wulkiewicz
4c41822454 Modified docs, files descriptions, added quick_start example.
[SVN r80164]
2012-08-23 21:55:34 +00:00
Bruno Lalande
726a608b0a Removed now useless strategy template params from dispatch::transform.
[SVN r80162]
2012-08-23 20:40:08 +00:00
Bruno Lalande
15ae4f6357 Made dispatch::transform able to retrieve the tags by itself.
[SVN r80161]
2012-08-23 20:19:11 +00:00
Bruno Lalande
198e2c73b7 Moved some template params from class to function level in transform helper metafunctions.
[SVN r80160]
2012-08-23 19:57:34 +00:00
Adam Wulkiewicz
e625a0913b Predefined r-tree creation algorithms parameters described.
[SVN r80151]
2012-08-23 01:04:00 +00:00
Adam Wulkiewicz
be4cb4d9a8 r-tree methods description expanded, default translator description added
[SVN r80150]
2012-08-23 00:51:24 +00:00
Adam Wulkiewicz
761a80e1a9 Description of predicates and distance_predicates added.
[SVN r80149]
2012-08-22 23:32:01 +00:00
Adam Wulkiewicz
0231d54d6d r-tree reference return in moving assignment operator added, r-tree copying and moving tests implemented.
[SVN r80144]
2012-08-22 18:52:05 +00:00
Adam Wulkiewicz
58e9b22f9b Implemented moving semantics in the r-tree.
[SVN r80142]
2012-08-22 14:59:29 +00:00
Bruno Lalande
2d0bcf4725 Aligned multi/simplify to latest change.
[SVN r80130]
2012-08-21 22:09:37 +00:00
Bruno Lalande
8a5ed60cc4 Made dispatch::simplify more self-contained.
[SVN r80128]
2012-08-21 21:39:19 +00:00
Barend Gehrels
c719e7477e [geometry] Applied (slightly adapted) patch by Karsten Ahnert sent to me Jul 25, fixing disjoint for degenerate segments
[SVN r79757]
2012-07-26 16:16:43 +00:00
Barend Gehrels
bbb95e04b3 [geometry] rephrased solution to avoid signed/unsigned warning
[SVN r79671]
2012-07-22 13:31:26 +00:00
Barend Gehrels
7e6ea5baef [geometry] Small tweak, avoid inner rings with e.g. two points only. Plus comment update / tab removal
[SVN r79669]
2012-07-22 13:05:29 +00:00
Barend Gehrels
f6f6dc7b73 [geometry] updates some flaws (w.r.t. headerfiles, comments) for buffer/offset
[SVN r79642]
2012-07-21 18:20:36 +00:00
Barend Gehrels
aa8b26c69f [geometry] Get rid of auto which was (temporary) inserted during creating buffer operations
[SVN r79641]
2012-07-21 18:18:50 +00:00
Barend Gehrels
d316c1bf68 [geometry] merged into release (two fixes, doc change) since r79395
[SVN r79534]
2012-07-15 15:02:16 +00:00
Barend Gehrels
67d9f79bd3 [geometry] Bugfix for integer coordinates, causing intersection points at wrong locations (severe)
[SVN r79505]
2012-07-14 16:58:23 +00:00
Barend Gehrels
5ae467dbc7 [geometry] removed tabs in cart_intersect.hpp
[SVN r79504]
2012-07-14 16:53:22 +00:00
Barend Gehrels
a0572c75e7 [geometry] merged into release for 1.51 (breaking change w.r.t. custom point traits)
[SVN r79395]
2012-07-09 21:06:05 +00:00
Barend Gehrels
04a8bb8018 [geometry] Breaking change (for some situations). Changed custom-pointer-types w.r.t. typetraits. This is based on ideas on the mailing list, Bruno, Mats and me
[SVN r79368]
2012-07-08 20:15:06 +00:00
Barend Gehrels
ea99120ca1 [geometry] applied patch of Karsten Ahnert to fix cross-track error
[SVN r79207]
2012-07-01 15:44:11 +00:00
Adam Wulkiewicz
34be8fbad5 removed doubled algorithm index::overlap().
[SVN r79137]
2012-06-27 13:45:10 +00:00
Adam Wulkiewicz
f9b2279725 Added rtree predicate index::touches(). The code is commented out since the geometry::touches() algorithm is probably not finished yet. Fixed GCC compile errors in tests.
[SVN r79135]
2012-06-27 12:25:38 +00:00
Adam Wulkiewicz
a1d3066d9a Fixed error in linear::find_greatest_normalized_separation.
Implemented rtree inserts and intersection queries tests for Points and pair<Box, int>.

[SVN r79122]
2012-06-26 19:42:30 +00:00
Adam Wulkiewicz
4d79f3dade tabs changed to spaces in rstar/redistribute_elements.hpp
[SVN r79109]
2012-06-26 13:42:37 +00:00
Adam Wulkiewicz
c00ddbd2a8 some tests and optimizations.
[SVN r79107]
2012-06-26 11:49:56 +00:00
Adam Wulkiewicz
31c5e016e7 added tests of some index's algorithms + index::margin() optimization.
[SVN r79090]
2012-06-25 19:00:24 +00:00
Barend Gehrels
acf672695f [geometry] merged revision 78724 thru 7880 w.r.t. bugfixes
[SVN r78852]
2012-06-07 18:43:44 +00:00
Bruno Lalande
60673ef3e5 Used not_implemented on 'overlaps' algorithm.
[SVN r78841]
2012-06-06 22:54:39 +00:00
Bruno Lalande
68d75892d1 Made dispatch::overlaps able to retrieve the tags by itself.
[SVN r78840]
2012-06-06 22:43:21 +00:00
Bruno Lalande
f3a50d889b Applied not_implemented to expand algorithm.
[SVN r78824]
2012-06-05 21:21:41 +00:00
Bruno Lalande
55bd635431 Made dispatch::expand more self-contained.
[SVN r78822]
2012-06-05 21:08:53 +00:00
Bruno Lalande
26538787b2 Applied not_implemented to equals algorithm.
[SVN r78821]
2012-06-05 21:08:09 +00:00
Bruno Lalande
fe69c4fa3f Adapted multi specializations of dispatch::equals to last changes.
[SVN r78819]
2012-06-05 19:42:07 +00:00
Bruno Lalande
be4a03b7c1 Made dispatch::equals self-reversible.
[SVN r78818]
2012-06-05 18:49:56 +00:00
Bruno Lalande
7978fc6c95 Made dispatch::equals more self-contained.
[SVN r78817]
2012-06-05 18:41:43 +00:00
Bruno Lalande
a45af28485 Integrated not_implemented into envelope.
[SVN r78814]
2012-06-05 16:57:22 +00:00
Bruno Lalande
9cd61fb3cd Moved template params from class to function level in dispatch::envelope for those we don't actually dispatch on.
[SVN r78813]
2012-06-05 16:47:37 +00:00
Bruno Lalande
4da6143920 Made dispatch::disjoint more self-contained.
[SVN r78809]
2012-06-04 19:13:34 +00:00
Bruno Lalande
15e85e390d Moved more template params from class to function level in intersection.
[SVN r78808]
2012-06-04 17:57:21 +00:00
Bruno Lalande
ff423e5a0b Moved Strategy template param from class to function in intersection.
[SVN r78804]
2012-06-03 22:48:02 +00:00
Barend Gehrels
de83c413e8 [geometry] take output point type (overlay) / enable different point types (point on border)
[SVN r78797]
2012-06-01 21:49:28 +00:00
Barend Gehrels
b194a3000f [geometry] fix of failing disjoint for polygon/box
[SVN r78795]
2012-06-01 21:43:56 +00:00
Barend Gehrels
547e49d388 [geometry] merge since today's r78712
[SVN r78717]
2012-05-28 13:04:24 +00:00
Barend Gehrels
3a88ece6d1 [geometry] added touches to general header
[SVN r78715]
2012-05-28 12:40:26 +00:00
Barend Gehrels
e6a41704f4 [geometry] now casted size the other side as well to account for possible non-merge of Boost.Range
[SVN r78713]
2012-05-28 11:40:46 +00:00
Barend Gehrels
e3c8eed009 [geometry] merged since r77001
[SVN r78712]
2012-05-28 11:29:18 +00:00
Barend Gehrels
92a0469037 [geometry] doc update for touches
[SVN r78706]
2012-05-28 10:02:17 +00:00
Barend Gehrels
a93168b1cf [geometry] Avoid warning about missing case enums
[SVN r78695]
2012-05-27 20:12:54 +00:00
Barend Gehrels
fe1a477a2e [geometry] Added gcc-needed include
[SVN r78694]
2012-05-27 20:07:33 +00:00
Barend Gehrels
32d2fc1351 [geometry] added touch
[SVN r78690]
2012-05-27 17:42:37 +00:00
Barend Gehrels
6d5938ec37 [geometry] fixed disjoint for multi-polygon/multi-polygon where (not-first) rings were inside each other
[SVN r78685]
2012-05-27 15:12:40 +00:00
Barend Gehrels
aabd778f6e [geometry] pending commits for buffer
[SVN r78680]
2012-05-27 13:17:22 +00:00
Barend Gehrels
a6caeb51bf [geometry] Fixes for point_on_border multi-version
[SVN r78673]
2012-05-27 11:22:15 +00:00
Barend Gehrels
04d370d86e [geometry] recent work on buffers (march/april) - pending commit
[SVN r78656]
2012-05-26 20:58:56 +00:00
Barend Gehrels
c135b40632 [geometry] bugfix - qualify math - pending commit
[SVN r78655]
2012-05-26 20:55:05 +00:00
Barend Gehrels
527480d804 [geometry] bugfix for union (pending commit)
[SVN r78650]
2012-05-26 19:28:53 +00:00
Barend Gehrels
a2d238b717 Update w.r.t. Boost.Range size now unsigned - remove warnings
[SVN r78616]
2012-05-25 14:38:55 +00:00
Barend Gehrels
38f02d292d Update w.r.t. Boost.Range size now unsigned
[SVN r78614]
2012-05-25 14:27:09 +00:00
Barend Gehrels
2aed65855f [geometry] fix of several robustness issues in cart_intersect and get_turn_info found by testing buffer algorithm. Also restructured cart_intersect such that all robustness issues are handled in separate methods (could be policy later). Finally fixed ever circling iterator with range (for assignment)
[SVN r77988]
2012-04-15 11:44:15 +00:00
Adam Wulkiewicz
3de87192fa size_t changed to Container::size_type in translator::index<Container>
[SVN r77982]
2012-04-15 01:46:20 +00:00
Barend Gehrels
d03d2e17a4 [geometry] robustness fixes (all found by buffer robustness tests)
[SVN r77351]
2012-03-16 16:58:26 +00:00
Barend Gehrels
481b42d976 [geometry] fix for robustness issue on touch with r > 1
[SVN r77337]
2012-03-14 18:57:46 +00:00
Barend Gehrels
bad5e628ac [geometry] Finetuned robustness fixes of this weekend and fixed (again) for case #ggl_list_20110820_christophe
[SVN r77308]
2012-03-11 20:37:51 +00:00
Barend Gehrels
ed4e8fb438 [geometry] surpress gcc warning
[SVN r77306]
2012-03-11 18:14:24 +00:00
Barend Gehrels
601abf8798 [geometry] fixed robustness issue with non-consistent side-info in collinear case
[SVN r77304]
2012-03-11 17:46:23 +00:00
Barend Gehrels
0d699b7098 [geometry] buffer update (a.o. implemented multi), updated tests, and added robustness test
[SVN r77299]
2012-03-10 21:13:37 +00:00
Barend Gehrels
1c59a19106 [geometry] updates for clang/gcc
[SVN r77298]
2012-03-10 19:41:38 +00:00
Barend Gehrels
575098e9b6 [geometry] Fixed several robustness issues: non-valid polygons/rings are not added anymore;
collinear is now symmetric (it could happen that A was collinear w.r.t. B but not vice versa, that is now resolved);
  vertical/horizontal (nearly collinear) segments are now checked later (this and previous bug were found by buffer-high-volume tests).

Added testcases (buffer_rt_f did cause problems with previous implementation, fixed now). Updated testcases (some cases are quite sensitive to implementation while output is still valid)


[SVN r77296]
2012-03-10 19:11:17 +00:00
Barend Gehrels
0c66579409 [geometry] fix in comparing doubles (comparing e.g. 0 with 4e-19)
[SVN r77284]
2012-03-09 13:31:44 +00:00
Adam Wulkiewicz
7352afd5d9 R-tree methods and functions documented.
rtree::nearest() template parameter name changed.

[SVN r77277]
2012-03-08 22:15:06 +00:00
Barend Gehrels
7f26c674df [geometry] projections added (processed version of) new_projection submitted by Krzysztof Czainski, including example
[SVN r77232]
2012-03-05 14:45:09 +00:00
Barend Gehrels
ee169cb7d7 [geometry] projections, added Natural Earth projection
[SVN r77231]
2012-03-05 14:41:02 +00:00
Barend Gehrels
ef4d45ac9a [geometry] buffer, extracted occupation info to separate file
[SVN r77227]
2012-03-05 14:07:53 +00:00
Barend Gehrels
74ba4d71c7 [geometry] fixed extensions project_transformer
[SVN r77213]
2012-03-04 12:35:50 +00:00
Barend Gehrels
31e27aa035 [geometry] update buffer for gcc compilation (does not accept sort/remove_if on struct defs in member functions)
[SVN r77211]
2012-03-04 12:09:34 +00:00
Barend Gehrels
39df5a1c4a [geometry] updated buffer for clang compilation
[SVN r77210]
2012-03-04 12:02:03 +00:00
Barend Gehrels
e0ccd3bbc0 [geometry] breaking change, namespace projection is renamed projections to avoid clash with class projection. Suggested by Krzysztof Czainski
[SVN r77207]
2012-03-04 11:12:17 +00:00
Barend Gehrels
e5a483550f [geometry] projections, updated copyright
[SVN r77204]
2012-03-04 10:42:09 +00:00
Barend Gehrels
6355ca279e [geometry] Applied patch of Krzysztof Czainski to conditionally avoid using boost numeric cast.
Note: we will look for a more general approach later.

[SVN r77203]
2012-03-04 10:14:50 +00:00
Barend Gehrels
4156da7bbf Boost.Geometry Projections now use Boost.Math constants
[SVN r77184]
2012-03-03 19:53:05 +00:00
Barend Gehrels
b9b6be97f9 Boost.Geometry Projection: applied patch (submitted by Krzysztof Czainski) to avoid static const constants
[SVN r77183]
2012-03-03 19:42:35 +00:00
Barend Gehrels
15d2c12330 Boost.Geometry - projections, generated again from proj4 (trunk)
[SVN r77179]
2012-03-03 18:26:01 +00:00
Barend Gehrels
a7361e2780 Boost.Geometry Projection: applied patch (submitted by Krzysztof Czainski) to avoid cosl, causing problems for some compilers
[SVN r77178]
2012-03-03 16:22:43 +00:00
Barend Gehrels
9ba627fa1b Boost.Geometry Projections removed unused variable s
[SVN r77177]
2012-03-03 16:13:49 +00:00
Barend Gehrels
14699d2254 Boost.Geometry Buffer - removed duplicate approach for finding blocked turns
[SVN r77172]
2012-03-03 12:02:36 +00:00
Barend Gehrels
4b59798db3 Boost.Geometry buffer update
[SVN r77171]
2012-03-03 11:24:46 +00:00
Barend Gehrels
577f86d246 Boost.Geometry update in last fix (removes double assignment, handles follow-for warning gcc, comment-typos)
[SVN r77122]
2012-02-26 21:26:06 +00:00
Barend Gehrels
349864cec9 Boost.Geometry bugfix for disjoint of opposite-equal or or opposite-collinear segments
plus prepares extra parameters for buffer

[SVN r77121]
2012-02-26 20:00:05 +00:00
Barend Gehrels
13495b06fc Boost.Geometry processed patch https://svn.boost.org/trac/boost/ticket/6166 for missing transformation
[SVN r77108]
2012-02-24 15:36:23 +00:00
Barend Gehrels
7372dfa3a4 Boost.Geometry applied patch from ticket https://svn.boost.org/trac/boost/ticket/6584 and fixed a related bug about the return type of strategies/projected_point which was integer for integer points (and should have been promoted to FP, fixed)
[SVN r77107]
2012-02-24 12:32:38 +00:00
Barend Gehrels
6322c9c33e Boost.Geometry applied patch from ticket https://svn.boost.org/trac/boost/ticket/6585
[SVN r77103]
2012-02-24 10:25:24 +00:00
Barend Gehrels
0bda936005 Boost.Geometry buffer update (repairs linestring (partly))
[SVN r77075]
2012-02-19 21:16:07 +00:00
Barend Gehrels
a4e26f8d21 Boost.Geometry fixes for offset-extension w.r.t. new buffer approach (does not run yet but compiles)
[SVN r77063]
2012-02-18 11:04:19 +00:00
Barend Gehrels
dffa159cd5 Boost.Geometry Substantial progress on buffer
[SVN r77061]
2012-02-18 10:07:18 +00:00
Barend Gehrels
c8bc3cc1e1 Boost.Geometry merge doc updates
[SVN r77001]
2012-02-12 18:01:22 +00:00
Barend Gehrels
388feb89ae Boost.Geometry doc updates and fixes
[SVN r76997]
2012-02-12 17:07:37 +00:00
Barend Gehrels
af40216f1d Boost.Geometry merged fixes/doc updates to release branch
[SVN r76991]
2012-02-12 13:04:01 +00:00
Barend Gehrels
b3d5729e4d Boost.Geometry line/poly overlay (new for 1.49), bugfix (avoid degenerate lines with only one point, and sub-sort on operation in case of duplicate intersection points). Including unit test update.
Note, this also fixes two earlier unit tests with degenerate outputs.

[SVN r76978]
2012-02-11 17:10:17 +00:00
Barend Gehrels
b86fa4fe8a Boost.Geometry fix, point_in_ring should get strategy, and included covered_by for multi (belongs to last fix)
[SVN r76977]
2012-02-11 14:52:43 +00:00
Barend Gehrels
e35a3b1610 Boost.Geometry line/poly overlay (new for 1.49), bugfix (take point-in-between instead of first point)
[SVN r76975]
2012-02-11 14:24:42 +00:00
Barend Gehrels
43d6bfc722 Boost.Geometry fix - multi_centroid should have same throwing behaviour as centroid
[SVN r76964]
2012-02-10 20:44:25 +00:00
Barend Gehrels
604bb60f17 Boost.Geometry doc updates
[SVN r76963]
2012-02-10 19:52:53 +00:00
Barend Gehrels
6ee3d1bf15 Added non-included algorithm header files (Boost.Geometry ML 2012-02-08)
[SVN r76949]
2012-02-08 19:20:45 +00:00
Barend Gehrels
178b23f538 Belongs to last commit, second call to throw (not warned by by MSVC...)
[SVN r76917]
2012-02-06 20:53:34 +00:00
Barend Gehrels
56a8ecb01b Commented throw_on_empty_input for area, length, perimeter (but not for distance), see comments in throw_on_empty_input.hpp
[SVN r76916]
2012-02-06 20:50:12 +00:00
Barend Gehrels
c018c393f4 Manually reversed move of cross_product.hpp from extensions and renamal of stream_wkt to iomanip (because it is in /wkt/ we now call it stream.hpp)
[SVN r76912]
2012-02-06 18:41:46 +00:00
Barend Gehrels
b9d85b89d5 Merged geometry fixes since 2011-01-15
[SVN r76904]
2012-02-05 18:47:13 +00:00
Barend Gehrels
e5f2fd419b Fixed ticket #6019, when multiple points were on the left, the points below the point taken were popped out by the algorithm, because they were sorted from top to bottom. We therefore take the lower-left point such that there are no points below. This problem was not present at the right side but we now take there the upper right point.
[SVN r76899]
2012-02-05 16:19:23 +00:00
Barend Gehrels
42895fbf4c Removed redundant test (also before #6019, fix will be committed later today)
[SVN r76898]
2012-02-05 14:29:34 +00:00
Barend Gehrels
ab570e43d9 Removing old if-defined stuff before the fix of ticket #6019
[SVN r76897]
2012-02-05 14:27:36 +00:00
Barend Gehrels
e240595fc0 Fixed missing include for multi/append
[SVN r76896]
2012-02-05 11:32:56 +00:00
Barend Gehrels
cd84ffd149 cross_product.hpp which is now splitted into cross_product (the real) and determinant
[SVN r76895]
2012-02-05 11:18:51 +00:00
Barend Gehrels
59cc514794 Compile fix, geometry namespace should be there for side (in some scenarios).
Numeric fix, centroid should use !equals and not !=

[SVN r76886]
2012-02-04 17:40:32 +00:00
Barend Gehrels
861ae36157 We stick to the way more common term determinant for 2d side/area/centroid calculations.
It is in detail - we might use LA or another library in the future

[SVN r76884]
2012-02-04 17:16:49 +00:00
Barend Gehrels
7e34299ced Fixed distance of large integers
[SVN r76881]
2012-02-04 15:14:33 +00:00
Bruno Lalande
e707b7660f Made the multi version of dispatch::convert inherit from its underlying implementation.
[SVN r76872]
2012-02-04 10:35:35 +00:00
Barend Gehrels
26100514b9 Fixed disjoint case directed to "error" (which as later on directed to disjoint again, why it was never noticed, but that is changed now)
[SVN r76863]
2012-02-03 23:33:28 +00:00
Barend Gehrels
89de77ff7e Added virtual d'tor with throw spec which was not checked by MSVC
[SVN r76861]
2012-02-03 22:11:58 +00:00
Barend Gehrels
1cd17cbe45 Fixed wrong behaviour for intersects/disjoint algorithms for pair of linestrings which were degenerate, or collinear, or one starting in the middle from the other.
Also removed the never-used parallel option.
Throws an error at unexpected input (robustness errors)

[SVN r76859]
2012-02-03 21:14:13 +00:00
Barend Gehrels
f20bfd7b83 Bugfix, fixes including wkt/iomanip.hpp which should not be done. It might cause an assertion to fail on any non-streamable type
[SVN r76856]
2012-02-03 18:21:05 +00:00
Barend Gehrels
18ef2e7e03 Fixed greater<...> w.r.t. type (same as less<...> last week, this one was forgotten)
[SVN r76854]
2012-02-03 15:21:48 +00:00
Barend Gehrels
cd86a8a31b Now correctly select starting/end point and middle-point-of-round
[SVN r76780]
2012-01-29 21:26:20 +00:00
Barend Gehrels
1f5e4c45e4 Buffer, added intersection check on already splitted of rings. This is necessary for cases like #indentation7 where the new helper-line crosses an already moved other helperline.
[SVN r76776]
2012-01-29 14:31:23 +00:00
Barend Gehrels
a4e0d5c384 Belongs to last commit, two tidy ups more
[SVN r76772]
2012-01-29 11:02:13 +00:00
Barend Gehrels
ddfed476c1 Check on positive area of split off rings, further moved/renamed things and prepared for next phase
[SVN r76771]
2012-01-29 10:58:35 +00:00
Barend Gehrels
01a2346472 Small fix for svg-debugging
[SVN r76769]
2012-01-28 23:13:53 +00:00
Barend Gehrels
a4bb2f9de1 Harmonized offset with buffer, using range_buffer, and making hooklets vary on parameter.
This repairs offset (broken few days)

[SVN r76767]
2012-01-28 21:13:39 +00:00
Barend Gehrels
4594a65da4 Introduced cross-product for area,centroid,side,intersection(determinant,direction,relation)
[SVN r76755]
2012-01-28 18:29:47 +00:00
Barend Gehrels
10b649c234 Moved cross product from extensions
[SVN r76751]
2012-01-28 15:43:19 +00:00
Barend Gehrels
3a655b7080 Fixed subtle bug causing polygons with large integers to be reversed because of the wrongly typed predicate
[SVN r76741]
2012-01-28 14:39:47 +00:00
Barend Gehrels
2360d2443b Temporarily fixed offset
[SVN r76737]
2012-01-28 12:21:45 +00:00
Barend Gehrels
f7604ade9a Removed two obsolete headerfiles
[SVN r76734]
2012-01-28 12:01:57 +00:00
Barend Gehrels
0dad0809af Moved check on input size such that they are together
[SVN r76733]
2012-01-28 12:01:11 +00:00
Barend Gehrels
3ab79561b5 Update for non MSVC
[SVN r76731]
2012-01-28 11:11:45 +00:00
Barend Gehrels
70db31de02 Buffer update - this solves indentation-case up to 0.6 and tests it
[SVN r76730]
2012-01-28 10:58:33 +00:00
Barend Gehrels
c4427fd248 Fixed covered_by for multi
[SVN r76728]
2012-01-27 22:55:27 +00:00
Barend Gehrels
7b18dd20f4 Update in extensions: buffer. Reworked appender, now correctly buffers all saw/bowls (but not yet indentations and many others)
[SVN r76717]
2012-01-27 17:02:59 +00:00
Barend Gehrels
9af7694911 Milestone, buffer is basically working now. That's to say, convex polygons, or some concavities are buffered correctly. Still to do:
- concavities in starting point
- intersections beyond hooklets
- concavities-only (as in triangular holes)
- internal overlaps (with dissolve)

[SVN r76710]
2012-01-26 20:54:17 +00:00
Bruno Lalande
b18b27dea4 Integrated 'within' algorithm into support_status.
[SVN r76695]
2012-01-25 23:11:12 +00:00
Bruno Lalande
d7f1136044 Moved Strategy template param from class level to function level in dispatch::within.
[SVN r76694]
2012-01-25 23:01:50 +00:00
Bruno Lalande
2700a5a1ba Made dispatch::within able to retrieve the tags by itself.
[SVN r76693]
2012-01-25 22:54:01 +00:00
Barend Gehrels
20eca8b2fa Buffer update, merged impl's of polygon/linestring into range_buffer, and some more tidy up
[SVN r76676]
2012-01-24 23:04:30 +00:00
Bruno Lalande
6c256b142e Integrated covered_by into support_status.
[SVN r76674]
2012-01-24 21:36:40 +00:00
Bruno Lalande
fc59cdf857 Moved Strategy template parameter from class level to function level in dispatch::covered_by.
[SVN r76672]
2012-01-24 21:15:48 +00:00
Bruno Lalande
bb01b619e1 Made dispatch::covered_by able to retrieve the tags by itself.
[SVN r76671]
2012-01-24 21:05:31 +00:00
Bruno Lalande
ba013bdef2 Integrated 'correct' algorithm into support_status.
[SVN r76670]
2012-01-24 21:02:01 +00:00
Bruno Lalande
e97af061f5 Made dispatch::correct able to retrieve the tag by itself.
[SVN r76669]
2012-01-24 20:15:05 +00:00
Barend Gehrels
e6678840c4 Updated buffer, harmonized impl's for polygon/linestring for easier merge in next step
[SVN r76638]
2012-01-22 18:58:08 +00:00
Barend Gehrels
80191e68ac [Geometry] Fixed unused parameters warnings in 15 files
[SVN r76586]
2012-01-19 16:17:50 +00:00
Barend Gehrels
a41aea7187 Applied (modified) patch of Christophe to avoid gcc warnings on unused parameters
[SVN r76585]
2012-01-19 09:56:47 +00:00
Barend Gehrels
df8bf1fd78 Small update for buffer (essentially removed the define which caused an incorrect bufferline)
[SVN r76548]
2012-01-16 22:13:22 +00:00
Barend Gehrels
4ef66d61e8 [Geometry - merged up to r76521]
[SVN r76525]
2012-01-15 16:38:26 +00:00
Barend Gehrels
19b5092f3c [Geometry - removed util]
[SVN r76524]
2012-01-15 16:33:30 +00:00
Barend Gehrels
2c176018e3 [Geometry] Merge / dsv only
[SVN r76523]
2012-01-15 16:26:56 +00:00
Barend Gehrels
7ceb964879 Added necessary num_points header to functions which might throw
[SVN r76518]
2012-01-15 14:04:38 +00:00
Barend Gehrels
05ab4d557a Added empty_input_exception and applied for distance, length, area, perimeter
Removed exception for convex_hull because that can be handled (for now) by leaving output empty. To be decided what is the definitive (additional, optional) behaviour.

[SVN r76514]
2012-01-15 13:23:08 +00:00
Barend Gehrels
5a8e6dcf8a Fix for non-msvc
[SVN r76501]
2012-01-14 22:59:53 +00:00
Barend Gehrels
d022e45558 Added implementation for boxes
[SVN r76499]
2012-01-14 22:25:53 +00:00
Barend Gehrels
440a1c2cf3 Fixed missing header file, and added append for multi_point
[SVN r76493]
2012-01-14 17:19:51 +00:00
Barend Gehrels
72518c78f7 Fixed convex_hull for empty geometries by throwing exception
[SVN r76488]
2012-01-14 14:44:21 +00:00
Barend Gehrels
a80a3b4512 Moved dsv/multi, and fixed used settings and missing separator between single occurances
[SVN r76484]
2012-01-14 12:09:03 +00:00
Barend Gehrels
0cc8628084 Added two include files for multi in the general multi header. Added dsv to prepare for move
[SVN r76483]
2012-01-14 10:48:01 +00:00
Barend Gehrels
a3d25b5361 Ignore variables as suggested on the list by Vishnu, to avoid clang warnings (part two)
[SVN r76478]
2012-01-14 00:04:19 +00:00
Barend Gehrels
3de7d51235 Ignore variables as suggested on the list by Vishnu, to avoid clang warnings
[SVN r76477]
2012-01-13 23:59:50 +00:00
Barend Gehrels
cb192192cc Bugfix, in get_turns segments in the same source should only be skipped if iterated linearly. If coming from a partition, it might be different. By default don't skipped them.
[SVN r76469]
2012-01-13 20:50:43 +00:00
Barend Gehrels
5597f59a84 Cosmetic changes (<= 80 char's / line) only
[SVN r76467]
2012-01-13 20:46:37 +00:00
Barend Gehrels
2c816039b9 Fixes in extension buffer
[SVN r76460]
2012-01-13 17:19:55 +00:00
Barend Gehrels
aea119f33c Fixes w.r.t. self_intersection_points
[SVN r76436]
2012-01-12 18:59:08 +00:00
Bruno Lalande
bc888acf58 Moved OutputGeometry in dispatch::convex_hull from class level to function level. Renamed some template parameters to better reflect their roles.
[SVN r76417]
2012-01-11 22:35:02 +00:00
Bruno Lalande
2542febb0c Made dispatch::convex_hull more self-contained.
[SVN r76400]
2012-01-10 23:15:59 +00:00
Bruno Lalande
0f1163e4a8 Removed unused tags from convex_hull dispatchers.
[SVN r76393]
2012-01-09 22:53:17 +00:00
Bruno Lalande
be61bc66e7 Made dispatch::clear able to retrieve the tag by itself.
[SVN r76391]
2012-01-09 22:31:33 +00:00
Barend Gehrels
7cb0ae96fd Boost.Geometry update copyright -> 2012
[SVN r76390]
2012-01-09 21:56:08 +00:00
Barend Gehrels
47f78e4e05 Merge for Boost.Geometry
[SVN r76363]
2012-01-08 10:49:28 +00:00
Barend Gehrels
385719bc3c Updated copyright year in 2 files
[SVN r76360]
2012-01-08 10:33:39 +00:00
Barend Gehrels
745744df37 Merge - after merge edits for Geometry
[SVN r76354]
2012-01-08 00:33:36 +00:00
Bruno Lalande
a487537a04 Made inheritence from multi_to_multi to single_to_multi private.
[SVN r76348]
2012-01-07 22:58:00 +00:00
Bruno Lalande
124d7041e6 Made distance dispatch classes for multi actually inherit from their underlying implementation to ensure not_implemented works.
[SVN r76347]
2012-01-07 22:50:40 +00:00
Barend Gehrels
66affa3646 Merged - added missing io/io.hpp
[SVN r76344]
2012-01-07 18:05:53 +00:00
Barend Gehrels
145efff553 Merged - added missing io/dsv/write.hpp file
[SVN r76343]
2012-01-07 18:02:59 +00:00
Barend Gehrels
121d5c11c3 Merged Geometry headerfiles
[SVN r76342]
2012-01-07 17:58:37 +00:00
Barend Gehrels
2baaa1df1f Added new io folder to release branch
[SVN r76340]
2012-01-07 17:32:00 +00:00
Bruno Lalande
2a0816ae25 Fixed a regression in dispatch::distance on the strategy reversal.
[SVN r76217]
2011-12-28 23:55:33 +00:00
Bruno Lalande
7668a8745b Made dispatch::area able to retrieve the default strategy by itself.
[SVN r76210]
2011-12-28 13:29:15 +00:00
Bruno Lalande
5a760c7355 Made dispatch::area able to retrieve the geometry tag by itself.
[SVN r76206]
2011-12-28 10:30:03 +00:00
Mateusz Loskot
88b87f23a5 [geometry] Fix typos. Refs #6003.
[SVN r76151]
2011-12-25 17:33:34 +00:00
Barend Gehrels
690de46880 Fixed M$ compiler bug (well, that's what I think of it now)
[SVN r76085]
2011-12-20 22:19:39 +00:00
Bruno Lalande
1bdac6a166 Simplified not_implemented.
[SVN r76072]
2011-12-19 23:00:32 +00:00
Bruno Lalande
478f6bd60d Made dispatch::append able to find the range tag by itself.
[SVN r76053]
2011-12-18 23:22:35 +00:00
Barend Gehrels
30b6ba4395 Curly brace convention update only
[SVN r76012]
2011-12-17 11:19:12 +00:00
Bruno Lalande
e29d99311f Moved slightly misplaced specialization...
[SVN r76004]
2011-12-16 23:20:35 +00:00
Bruno Lalande
9ff892b616 Had dispatch::distance take care of the default strategy retrieval/inversion.
[SVN r76003]
2011-12-16 23:16:22 +00:00
Bruno Lalande
25e7109a2f Made dispatch::distance able to get the strategy tag by itself.
[SVN r76001]
2011-12-16 22:04:56 +00:00
Bruno Lalande
16ef03980f Changed the multi versions of dispatch::distance according to changes made in r75975.
[SVN r75996]
2011-12-16 17:06:44 +00:00
Mateusz Loskot
afcef6e56f Boost.Geometry:
* Introducing new layout of IO formats in geometry/io/<FORMAT>/ with unified set of public headers: <FORMAT>.hpp, read.hpp, write.hpp and iomanip.hpp
* Moved OGC Well-Known-Text (WKT) format from geometry/extensions/gis/io/wkt to geometry/io
* Renamed stream_wkt.hpp to iomanip.hpp to reflect what it defines: manipulators for streams.
* Removed deprecated headers and updated other headers to use the new locations.

[SVN r75977]
2011-12-16 01:28:37 +00:00
Bruno Lalande
418bdc52d2 Made dispatch::distance able to reverse itself. This is no longer driven by the caller.
[SVN r75975]
2011-12-15 23:26:22 +00:00
Bruno Lalande
f6eb4968eb dispatch::distance now gets the geometry tags by itself.
[SVN r75972]
2011-12-15 22:13:26 +00:00
Bruno Lalande
d7e613f8b7 Reduced dispatch::convert required parameters to their bare minimum.
[SVN r75948]
2011-12-14 23:29:35 +00:00
Bruno Lalande
cdaba1bebb Improved not_implemented.
[SVN r75935]
2011-12-13 23:24:52 +00:00
Bruno Lalande
1fa8099345 Defaulted another template parameter of dispatch::convert.
[SVN r75833]
2011-12-07 00:04:53 +00:00
Bruno Lalande
4b0afc334f Reflected last change on dispatch::convert in multi/convert.hpp.
[SVN r75823]
2011-12-06 13:46:42 +00:00
Bruno Lalande
881a1020b1 Made dispatch::convert more self-contained by having its primary definition find the dimension by itself.
[SVN r75817]
2011-12-05 23:12:07 +00:00
Bruno Lalande
73642eb0f1 Applied not_implemented to 'convert' algorithm. Added it to support_status.
[SVN r75816]
2011-12-05 23:00:42 +00:00
Bruno Lalande
812aa1e7b2 Moved the static assertion to not_implemented.
[SVN r75797]
2011-12-04 02:28:07 +00:00
Bruno Lalande
8e4e6a2fc2 New mechanism for easy checking of implementation status.
[SVN r75796]
2011-12-04 02:00:25 +00:00
Barend Gehrels
cd7371b664 Added segment-to-segment conversion, therefore box_to_box is now indexed_to_indexed.
This also fixes last weeks accidental (but still working...) reversal of index/dimension

[SVN r75782]
2011-12-03 10:25:48 +00:00
Adam Wulkiewicz
dc4a922a0f Reference to temporary - error fixed.
[SVN r75771]
2011-12-02 14:16:43 +00:00
Barend Gehrels
5801bd31af Linestring/polygon overlay, phase 9 (difference for multi)
[SVN r75688]
2011-11-27 12:05:49 +00:00
Barend Gehrels
2eadb6247a Added box-to-box conversion
[SVN r75686]
2011-11-27 11:06:47 +00:00
Barend Gehrels
838d092eb7 Fix for gcc - assert does not work here or like this
[SVN r75685]
2011-11-27 10:46:11 +00:00
Barend Gehrels
a7b42a758b Linestring/polygon overlay, fix for gcc (and probably more): extracted subclass
[SVN r75684]
2011-11-27 10:44:22 +00:00
Barend Gehrels
c9418d4fe4 Linestring/polygon overlay, phase 8 (difference)
[SVN r75682]
2011-11-27 10:23:05 +00:00
Barend Gehrels
81c7e515ba Linestring/polygon overlay, phase 7 (collinear/equal)
[SVN r75670]
2011-11-26 17:30:16 +00:00
Barend Gehrels
2702c80ff4 Typo in comment
[SVN r75650]
2011-11-24 22:48:13 +00:00
Barend Gehrels
3f6a81d61b Linestring/polygon overlay, phase 6 (ring, counter clockwise)
[SVN r75574]
2011-11-20 14:53:36 +00:00
Barend Gehrels
7a4ee056bf Linestring/polygon overlay, phase 4 (multi_linestring/multi_polygon, and multi_linestring/polygon)
[SVN r75570]
2011-11-20 13:03:07 +00:00
Barend Gehrels
8a5ffa7a66 Linestring/polygon overlay, phase 4 (linestring/multi_polygon, which effectively uses the same implementation)
[SVN r75568]
2011-11-20 12:33:55 +00:00
Barend Gehrels
95c5d6f945 Linestring/polygon overlay, third phase (including segments along polygon's border)
[SVN r75564]
2011-11-20 11:50:06 +00:00
Barend Gehrels
ae52ce120a Linestring/polygon overlay, second phase (including touching intersection points)
[SVN r75555]
2011-11-19 16:37:55 +00:00
Barend Gehrels
a000d93d8f Linestring/polygon overlay, first phase
[SVN r75551]
2011-11-19 13:40:44 +00:00
Adam Wulkiewicz
6b85fedf0e some comments added.
[SVN r75325]
2011-11-05 20:39:59 +00:00
Adam Wulkiewicz
65b31372a4 split result OutIter replaced by reference to the container.
[SVN r75316]
2011-11-04 14:57:11 +00:00
Adam Wulkiewicz
d349714143 split modify only one node and assigns newly created to output iterator. pushable_array works with back_inserter.
[SVN r75314]
2011-11-04 13:54:27 +00:00
Barend Gehrels
a3648f0e1c Fixed dissolve issue by using own policy
[SVN r75296]
2011-11-04 10:22:38 +00:00
Adam Wulkiewicz
f9a7e41017 cR-tree kmeans options and files added (not yet implemented)
[SVN r75238]
2011-11-01 20:30:06 +00:00
Adam Wulkiewicz
8dbee3a8f6 rtree is no longer noncopyable
[SVN r75193]
2011-10-31 15:06:21 +00:00
Barend Gehrels
76fa593076 Fixed order-problem by avoiding argument reversion. See correspondence on GGL mailing list 2011/10/25
[SVN r75115]
2011-10-25 19:33:22 +00:00
Mateusz Loskot
b46bc26858 [geometry] Restructured WKT io files to follow structure of: geometry/domains/<DOMAIN>/io/<FORMAT>/<read|write>.hpp
[SVN r75076]
2011-10-20 23:20:05 +00:00
Mateusz Loskot
aa55176325 [geometry] Updated include guards to reflect current file path
[SVN r75075]
2011-10-20 22:34:10 +00:00
Mateusz Loskot
90ce0fa3d1 [geometry] Moved util/write_dsv.hpp to io/dsv/write.hpp. This introduces refinement of new io structure: geometry/io/<FORMAT>/<read|write>.hpp
[SVN r75073]
2011-10-20 21:12:52 +00:00
Barend Gehrels
a7d945dad2 Merged up to and including change 74761
[SVN r74858]
2011-10-09 18:30:04 +00:00
Barend Gehrels
104f5de462 Fix ticket 5954, use strategy directly, not the comparable strategy (unless fixed otherwise)
[SVN r74761]
2011-10-06 17:06:30 +00:00
Adam Wulkiewicz
ac8acebab6 Allocator default constructor as default rtree parameter fixed.
[SVN r74678]
2011-10-03 20:59:44 +00:00
Adam Wulkiewicz
456b9fd283 Allocators used in nodes children containers creation.
[SVN r74675]
2011-10-03 20:30:53 +00:00
Adam Wulkiewicz
9d61bed3e2 exceptions handled
[SVN r74664]
2011-10-03 09:24:17 +00:00
Adam Wulkiewicz
3f3f991f10 basic use of allocators implemented.
[SVN r74662]
2011-10-03 00:07:32 +00:00
Adam Wulkiewicz
a1e7923de2 prepared to use allocators, memory leak in remove visitor fixed, tests added
[SVN r74661]
2011-10-02 23:32:22 +00:00
Adam Wulkiewicz
a292370c67 boost::variant based nodes with static-size elements containers added
[SVN r74647]
2011-10-02 12:42:59 +00:00
Adam Wulkiewicz
a495ec75fd destroy visitor moddified, some asserts added.
[SVN r74646]
2011-10-02 10:49:54 +00:00
Adam Wulkiewicz
f16cfaf4a3 some comments added
[SVN r74621]
2011-10-01 10:03:38 +00:00
Adam Wulkiewicz
164f39cf18 added bgi::insert_iterator<> and bgi::inserter() + tests.
[SVN r74620]
2011-09-30 22:48:01 +00:00
Adam Wulkiewicz
84b1230d6d added rtree's constructor, insert, remove methods and free functions working for ranges specified by a pair of iterators.
[SVN r74619]
2011-09-30 21:39:13 +00:00
Adam Wulkiewicz
4bc1bc3eb7 copy constructor implemented + tests updated, rtree::get_translator() changed to rtree::translator() + other files updated to respect this
[SVN r74618]
2011-09-30 13:12:44 +00:00
Adam Wulkiewicz
f163bd877a rtree's clear(), box() + tests added.
[SVN r74616]
2011-09-30 10:03:46 +00:00
Adam Wulkiewicz
66c2cf2605 nearest query optimized by rejecting distant nodes before adding them to the active branches list.
[SVN r74610]
2011-09-29 13:38:03 +00:00
Adam Wulkiewicz
48176c64e6 k-nearest query optimized by use of heap instead of sorting.
[SVN r74608]
2011-09-29 11:48:13 +00:00
Adam Wulkiewicz
e6633533d6 operator!() predicates generators implemented.
[SVN r74606]
2011-09-29 00:03:45 +00:00
Adam Wulkiewicz
c6c1fee74b additional predicates implemented.
[SVN r74604]
2011-09-28 23:29:50 +00:00
Mateusz Loskot
69b1a2f8f8 [geometry] Added FIXME comment related to ticket #5954
[SVN r74600]
2011-09-28 17:05:35 +00:00
Adam Wulkiewicz
68fc281a60 Value predicates added. Error in boost::tuple predicates check fixed.
[SVN r74596]
2011-09-28 11:04:17 +00:00
Adam Wulkiewicz
cfc5335ccc templates and functions parameters changed in filters and rtree's functions to suit new distances predicates.
[SVN r74594]
2011-09-27 19:43:13 +00:00
Adam Wulkiewicz
e42f8b61c5 Distances predicates version 2 implemented. Now the user may use different predicates for knn point, min and max distances.
[SVN r74593]
2011-09-27 19:31:01 +00:00
Adam Wulkiewicz
2ee9adef72 knn query distance predicates (first version) implemented
[SVN r74558]
2011-09-25 09:54:42 +00:00
Adam Wulkiewicz
3d7ac58ba5 some names changed, distance predicates implemented, specialization for nodes implemented partially - not finished
[SVN r74536]
2011-09-23 16:02:13 +00:00
Adam Wulkiewicz
5989892e82 comparable distance calculating algorithms names changed
[SVN r74528]
2011-09-22 23:16:20 +00:00
Adam Wulkiewicz
d2ec53ab4e some names changed, namespace error fixed
[SVN r74524]
2011-09-22 21:51:21 +00:00
Adam Wulkiewicz
528d112c9c fixed: memory leak in rtree destructor
[SVN r74520]
2011-09-22 18:30:17 +00:00
Adam Wulkiewicz
9de013a3a1 knn distance calculators added + naming errors fixed
[SVN r74519]
2011-09-22 18:21:22 +00:00
Adam Wulkiewicz
99b3f7b60a some todo comments added, names changed
[SVN r74510]
2011-09-22 11:34:02 +00:00
Adam Wulkiewicz
dca40d8822 distance calculators that will be used in knn implemented, some names changed to more general in knn results wrappers.
[SVN r74497]
2011-09-21 18:50:15 +00:00
Adam Wulkiewicz
d0604349d5 random rtree insert/query/nearest tests implemented
[SVN r74460]
2011-09-18 21:19:20 +00:00
Adam Wulkiewicz
6c0cfd7d10 error fixed in rtree's overlaps predicate check specialization for node
[SVN r74447]
2011-09-18 10:42:46 +00:00
Adam Wulkiewicz
4ea2a9d915 namespace names error fixed
[SVN r74439]
2011-09-17 19:47:01 +00:00
Adam Wulkiewicz
f40db8b264 maxdist algorithm added
[SVN r74438]
2011-09-17 18:41:36 +00:00
Adam Wulkiewicz
f84c5bff81 nearest_filter implemented, spatial_filter changed to query_filter.
[SVN r74435]
2011-09-17 10:45:08 +00:00
Adam Wulkiewicz
8c7aec4b3e k nearest neighbors search implemented, empty predicate added, pop_back() added to pushable_array, glFlush() and glClear() calls removed from gl_draw(), number of found objects added to spatial query, find visitor and corresponding rtree's method removed.
[SVN r74422]
2011-09-16 19:44:04 +00:00
Barend Gehrels
38321e2bb9 coordinate_cast of rational, bugfix and implemented parsing strings like 3/2 (how it is streamed)
[SVN r74375]
2011-09-14 20:28:04 +00:00
Barend Gehrels
ff0031dca7 Ticket #5747 Removed (commented) unused variables
[SVN r74202]
2011-09-03 12:52:18 +00:00
Barend Gehrels
25a26d48c1 Bugfix (robustness issue) based on ticket ggl-list by Christophe, dated Aug 20, 2011
Phase 1, it still has to be reworked

[SVN r74170]
2011-08-30 21:16:50 +00:00
Barend Gehrels
9dc22e4a06 Added support for point-output
[SVN r74163]
2011-08-30 15:56:05 +00:00
Barend Gehrels
5a9fcef9c6 Applied patch Mario Lang, using rational_cast instead
[SVN r74150]
2011-08-30 11:30:01 +00:00
Barend Gehrels
71a45e1544 Added basic support for Boost.Rational
[SVN r74147]
2011-08-30 10:46:34 +00:00
Barend Gehrels
ba6f3e64b0 Removed using double for highest/lowest as it is not appropriate for e.g. rational
[SVN r74146]
2011-08-30 10:00:22 +00:00
Adam Wulkiewicz
ea822b7aea predicates implemented, query() method added to the rtree + some cleanup.
[SVN r74082]
2011-08-27 00:05:54 +00:00
Barend Gehrels
635bfd7773 Fixed error in fusion support
[SVN r73784]
2011-08-15 17:33:36 +00:00
Barend Gehrels
ad1a3072ff Small changes to enable Boost.Rational (part 1)
[SVN r73602]
2011-08-07 18:30:52 +00:00
Barend Gehrels
fa5087e44a Fixed performance issue on self intersections
[SVN r73599]
2011-08-07 16:46:33 +00:00
Barend Gehrels
6fda236075 Reorganized backtracking in a separate strategy, different for normal overlay and dissolve. Checking on self-intersections is now done in that strategy (for overlay). It is not part of the normal path anymore. This can increase the speed drastically, in some cases.
[SVN r73546]
2011-08-05 13:14:22 +00:00
Barend Gehrels
a23fd5e7b1 Added a utility to skip the check on self intersections in overlays, if you know the input is valid.
(BOOST_GEOMETRY_OVERLAY_SKIP_CHECK_SELF_INTERSECTIONS)


[SVN r73429]
2011-07-29 10:32:56 +00:00
Barend Gehrels
38188d36b4 Fixed bug reported by Akira T on [Boost-users] at 27-7-2011 3:17
[SVN r73414]
2011-07-28 20:57:46 +00:00
Adam Wulkiewicz
f9aafbf5aa previous change reverted - intersects used instead of overlaps
[SVN r73392]
2011-07-26 20:58:13 +00:00
Adam Wulkiewicz
d5029f92d2 intersects replaced by overlaps in find visitor
[SVN r73391]
2011-07-26 20:53:40 +00:00
Adam Wulkiewicz
b65c697cad within and distance_sqr removed from index/algorithms. geometry::covered_by used in remove visitor.
[SVN r73370]
2011-07-26 02:21:17 +00:00
Barend Gehrels
778c3b878e Fixed convert for two array-types (which cannot be copied in non-MSVC)
[SVN r73327]
2011-07-24 10:25:53 +00:00
Barend Gehrels
6d5456b0d6 Fix in assert for gcc (probably gcc-bug, gcc 4.4.5 on Linux, it considers a const expr. in a macro as non-const)
[SVN r73326]
2011-07-24 09:56:05 +00:00
Barend Gehrels
72731b5750 Added assign_indexed_point.hpp forgotten in previous commit
[SVN r73325]
2011-07-24 09:45:10 +00:00
Barend Gehrels
086fee9c73 Added assign_box_corners.hpp in previous commit
[SVN r73324]
2011-07-24 09:43:57 +00:00
Barend Gehrels
382b4a0f1c Supported convert (and therefore also assign) for many (the most useful) other combinations now (e.g. polygon/polygon with different point-types)
[SVN r73321]
2011-07-24 09:39:47 +00:00
Barend Gehrels
1bbd1aa73d Enhancement: intersection/union/difference create a unique output set now, by checking just before appending each point
[SVN r73318]
2011-07-24 08:49:13 +00:00
Barend Gehrels
f956f587ae Fixed type (for conversion/warning), minor change in sectionalize (equals instead of diff/0)
[SVN r73316]
2011-07-24 08:13:59 +00:00
Barend Gehrels
6ba4da656f Fixed first/second in cart_intersect.hpp
[SVN r73285]
2011-07-21 19:55:56 +00:00
Barend Gehrels
bff7b95e84 Added a "covered_by" algorithm (= within or on border)
Revised point-in-box, box-in-box, now with strategies
Therefore, revised within strategy.
Also adapted concept for within, and refactored getting parameters into parameter_type_of (also used by distance concept)
To avoid specifying default strategies again and again for all spherical coordinate systems, used the spherical_tag as the parent for spherical_polar_tag, spherical_equatorial_tag, geographic_tag


[SVN r73177]
2011-07-17 12:26:01 +00:00
Adam Wulkiewicz
40a9cd095f some options-related template parameters names changed
[SVN r73158]
2011-07-16 22:09:04 +00:00
Adam Wulkiewicz
d70a1756f9 node split algorithm separated from insert visitor, it's now tag-dispatchable.
[SVN r73157]
2011-07-16 22:00:42 +00:00
Adam Wulkiewicz
a55d592702 insert tags renamed
[SVN r73154]
2011-07-16 20:56:56 +00:00
Adam Wulkiewicz
32181b8734 node tag names changed
[SVN r73140]
2011-07-16 09:59:35 +00:00
Barend Gehrels
7e5f19edbd Removed (obsolete) usage of within_code in assign_parents
[SVN r73120]
2011-07-15 16:45:01 +00:00
Barend Gehrels
b3b168e438 Removed unnecessary using clause
[SVN r73061]
2011-07-13 18:59:43 +00:00
Barend Gehrels
9373b40ef3 Fixed error in Box1/Box2
[SVN r73060]
2011-07-13 18:59:02 +00:00
Adam Wulkiewicz
5586fc85bf visitors are now explicitly nonassignable. rtree is set as noncopyable since copying isn't implemented.
[SVN r73029]
2011-07-13 01:57:30 +00:00
Adam Wulkiewicz
3081e37140 area-related names changed to content-related names. index::within parameters sequence corrected to match the geometry::within parameters sequence.
[SVN r73027]
2011-07-13 01:27:30 +00:00
Barend Gehrels
b896888ec3 Added strategy to convert spherical equatorial
[SVN r72981]
2011-07-09 13:20:55 +00:00
Barend Gehrels
85ac00be0c Fixed wrong comment
[SVN r72980]
2011-07-09 13:19:21 +00:00
Barend Gehrels
6cf7d2cd24 Moved within_code from within_util.hpp to within.hpp, and implemented for point/box and box/box
[SVN r72874]
2011-07-03 14:20:20 +00:00
Barend Gehrels
7b792b1a73 Bugfix of case sent to list on 2011-06-27 by Phillip. To detect if geometry is within another, we use "point_on_border". We used a mid-point there (necessary for intersections), but, from now on, if there are no intersections, we should not use the mid-point because of robustness issues.
In other words, we should use the same point for both intersection-->side and within-->side.

[SVN r72852]
2011-07-02 14:30:53 +00:00
Adam Wulkiewicz
5e0d091ab6 Implemented R* choose_next_node algorithm version choosing by nearly min overlap cost
[SVN r72714]
2011-06-21 19:29:44 +00:00
Barend Gehrels
772c367507 Merged commit 72603 to Release Branch
Fixes problem with commented ifdef's (2x)
See Boost ML 15-06-2011 19:36 (CET)
Authorized by Daniel James

[SVN r72656]
2011-06-17 18:47:16 +00:00
Adam Wulkiewicz
6c593d13a9 c++98 errors fixed
[SVN r72620]
2011-06-17 09:46:03 +00:00
Adam Wulkiewicz
1e46876a0d Static parameters are now used everywhere in the code. Further optimizations implemented in quadratic redistribute_elements. Some errors corrected in pushable_array.
[SVN r72619]
2011-06-16 23:10:10 +00:00
Adam Wulkiewicz
523107a4fa min and max elements numbers are now template parameters. New node type added - with arrays of static size. Various parameters are the first template parameter of options::rtree.
[SVN r72618]
2011-06-16 21:15:06 +00:00
Adam Wulkiewicz
c89a7d988f broken #include fixed in gl_draw and print visitors
[SVN r72605]
2011-06-15 19:37:13 +00:00
Adam Wulkiewicz
e6256090e9 node_poly is now default node, node_variant is enabled by tag dispatching instead of #define. default_variant_tag added. Asserts implemented as macro BOOST_GEOMETRY_INDEX_ASSERT(CONDITION, TEXT_MSG).
[SVN r72604]
2011-06-15 18:11:59 +00:00
Barend Gehrels
f6b0488d5f Fixed commented ifdefs
[SVN r72603]
2011-06-15 16:14:50 +00:00
Adam Wulkiewicz
c93fad9c6e r* insert corrected to handle boost::variant nodes
[SVN r72600]
2011-06-14 22:53:56 +00:00
Adam Wulkiewicz
550823d1fe translator::getter::equals() changed. Value::operator== used instead of geometry::equals(...).
[SVN r72575]
2011-06-13 22:25:35 +00:00
Adam Wulkiewicz
269c0b5eb3 options moved from index::detail::rtree::options<...> to index::options::rtree<...>
[SVN r72574]
2011-06-13 21:16:15 +00:00
Adam Wulkiewicz
7a36d65bab translator::getter added + some cleanup e.g. in /rstar/insert.hpp visitors::insert replaced by detail::rstar::insert.
[SVN r72573]
2011-06-13 21:04:55 +00:00
Adam Wulkiewicz
7ae26e7c0f Algo-related names changed to Options-related names. All options gathered in one file /rtree/options.hpp instead of defining them separately for all rtree variants in /rtree/[variant]/options.hpp.
[SVN r72569]
2011-06-13 16:34:49 +00:00
Adam Wulkiewicz
dd731e101a simple Tag template parameter replaced by Algo traits containing tags of some number of algorithms. User now may use a combination of implemented algorithms or just use one of the predefined.
[SVN r72562]
2011-06-13 00:26:38 +00:00
Adam Wulkiewicz
8e23f2aa6b split functionality (creation of the new node, parent setting, creating of the new root) moved to the default insert visitor
[SVN r72557]
2011-06-12 19:29:56 +00:00
Adam Wulkiewicz
58105add5f rtree template parameters sequence changed
[SVN r72556]
2011-06-12 18:51:12 +00:00
Adam Wulkiewicz
a3166316a8 dirty check of children nodes (is_leaf) removed from rstar* choose_next_node, replaced by passing additional parameter
[SVN r72550]
2011-06-12 11:23:31 +00:00
Adam Wulkiewicz
eb1cd72e93 r* split fully implemented
[SVN r72549]
2011-06-12 11:10:12 +00:00
Adam Wulkiewicz
2f477241e3 reinserting insert visitor corrected, insert visitors now relies on relative level, levels check added, boxes check corrected.
[SVN r72531]
2011-06-09 23:55:58 +00:00
Barend Gehrels
8cbd04307a Boost.Geometry: Merged r72410 through r72424
[SVN r72425]
2011-06-05 21:14:57 +00:00
Barend Gehrels
b9ae2f8835 Updated doc w.r.t. side strategies
[SVN r72418]
2011-06-05 17:40:41 +00:00
Barend Gehrels
c76cee8932 Boost.Geometry: Merged r72086 through r72406
[SVN r72409]
2011-06-05 14:43:07 +00:00
Barend Gehrels
60b4d5d4b1 Small adaptions to side
[SVN r72293]
2011-05-30 20:55:10 +00:00
Barend Gehrels
699f63a637 Huiller: changed to calculation types (now supporting ttmath)
distance_projected_point.hpp: minor changes

[SVN r72286]
2011-05-30 15:07:12 +00:00
Barend Gehrels
e20206ab23 Made side strategy consistent with distance etc (with services::default_strategy)
Updated test spherical_side.cpp now testing ssf, cross_track, cartesian

[SVN r72269]
2011-05-29 20:46:22 +00:00
Barend Gehrels
b78f097e02 Fixed side-by-cross-track (now non-default)
[SVN r72240]
2011-05-28 09:19:28 +00:00
Barend Gehrels
48d5f65669 Fixed ssf for spherical equatorial coordinate system (old version was for polar)
[SVN r72238]
2011-05-27 23:02:58 +00:00
Barend Gehrels
5eb0739f08 Spherical coordinate systems: splitted into "polar" and "equatorial" with opposite (co)latitude
[SVN r72233]
2011-05-27 22:01:05 +00:00
Barend Gehrels
80458f256d Added spherical side formula
[SVN r72208]
2011-05-27 08:46:32 +00:00
Barend Gehrels
53cd02a7ee Merged r72075 .. 72082
[SVN r72083]
2011-05-22 15:58:43 +00:00
Barend Gehrels
a6088a5532 Fixed typo
[SVN r72075]
2011-05-22 14:39:51 +00:00
Barend Gehrels
ed6731169a Merging r71820 through r72073
[SVN r72074]
2011-05-22 14:23:38 +00:00
Barend Gehrels
92a2d629ea (Re)implemented equals_with_epsilon for ttmath
Therefore partly reverted earlier change with TypeForEpsilon

[SVN r72060]
2011-05-21 13:51:15 +00:00
Barend Gehrels
bcad57a4a3 Fix for gcc (abs vs std::abs)
[SVN r72059]
2011-05-21 12:06:14 +00:00
Barend Gehrels
f79ce43c81 Fixed geometry::equals for high precision
[SVN r72029]
2011-05-18 18:06:34 +00:00
Barend Gehrels
1f818c7527 Fixed (embarrassing but non-harmful) bug for performance shortcut
[SVN r72027]
2011-05-18 08:02:10 +00:00
Adam Wulkiewicz
9dbb67ed82 intersects changed to within in remove visitor + some comments added
[SVN r71927]
2011-05-13 20:23:16 +00:00
Adam Wulkiewicz
0465fa31b9 example program improved
[SVN r71926]
2011-05-13 19:16:46 +00:00
Adam Wulkiewicz
9ca1848322 polymorphic node type added and used as default
[SVN r71915]
2011-05-13 10:59:49 +00:00
Adam Wulkiewicz
e30a6f4515 rstar partially implemented
[SVN r71880]
2011-05-11 21:15:00 +00:00
Barend Gehrels
21fc3b147d Fixed box_view copy, added order traits function and corresponding unit test
[SVN r71861]
2011-05-10 17:26:00 +00:00
Barend Gehrels
925dd5e868 Doc update
[SVN r71836]
2011-05-08 20:58:46 +00:00
Barend Gehrels
c821efcc2b Removed std_as_linestring/ring/multi_point and c_array* and boost_array* because there are now macros for that
Mention box/point/segment as helper-geometry explicitly
Removed all std geometries from geometries.hpp, geometry.hpp, multi.hpp - they have to be included explicitly


[SVN r71825]
2011-05-08 15:55:43 +00:00
Barend Gehrels
b7eff024e9 Merged small change (71816,71817), updated ring.hpp/linestring.hpp manually
Merged geometry.hpp from 71710 to 71817 (was not done in previous steps)
Removed ranges manually as it was not in source anymore and could not be merged

[SVN r71818]
2011-05-08 12:45:21 +00:00
Barend Gehrels
d772abb370 Removed now empty folders
[SVN r71816]
2011-05-08 12:26:25 +00:00
Barend Gehrels
f287a5e22a Merged updates for (small) changes for views/ranges/iterators (r71711 through r71812)
[SVN r71813]
2011-05-08 12:15:38 +00:00
Barend Gehrels
f2d097365a Moved circular_iterator to extensions (was not used internally)
Moved range_type/as_range to details (of views/algorithms)


[SVN r71807]
2011-05-08 10:57:21 +00:00
Barend Gehrels
0a08d1f42c Moved box_range/segment_range to views, renamed to box_view/segment_view, removed corresponding iterators (now nested class), created detail::points_view of which other two are derived
[SVN r71794]
2011-05-07 22:11:19 +00:00
Adam Wulkiewicz
c06e620e28 cleanup
[SVN r71775]
2011-05-06 23:59:05 +00:00
Adam Wulkiewicz
9dcca981e2 corrected: gcc compile errors, wrong assert in remove; + minor changes
[SVN r71764]
2011-05-06 15:04:03 +00:00
Adam Wulkiewicz
4d82c421ac quadratic split error corrected
[SVN r71763]
2011-05-06 13:36:37 +00:00
Adam Wulkiewicz
e09f022a2d quadratic split algorithm added, error in linear split corrected
[SVN r71755]
2011-05-06 00:51:49 +00:00
Adam Wulkiewicz
919c6286b8 remove algorithm added + some other changes
[SVN r71726]
2011-05-04 21:33:15 +00:00
Barend Gehrels
543e65e840 Fixed box-in-box (default_strategy was not defined)
[SVN r71721]
2011-05-04 20:40:34 +00:00
Barend Gehrels
98819656e8 Added (previously deleted) macro's for register linestring, ring. Added macro's for register multi geometries
[SVN r71714]
2011-05-04 16:11:44 +00:00
Barend Gehrels
3eb466b8de Merged Boost.Geometry from revision 71351 through 71709
Mainly registration macro (instead of calling header files) for Boost.Tuple, C-Array, Boost.Array, Boost.Fusion
Second the intersections check if geometries are valid
Further doc updates

[SVN r71710]
2011-05-04 12:15:07 +00:00
Adam Wulkiewicz
d121f4e9e9 searching time tests related code added
[SVN r71664]
2011-05-02 12:14:44 +00:00
Adam Wulkiewicz
bff387c631 insert algorithm divided to tag dispatched parts
[SVN r71658]
2011-05-01 23:51:45 +00:00
Adam Wulkiewicz
803ac7fbf9 operator| moved to namespace index
[SVN r71642]
2011-05-01 01:11:45 +00:00
Adam Wulkiewicz
7a761b359e rtree::find parameters changed
[SVN r71640]
2011-05-01 00:42:54 +00:00
Adam Wulkiewicz
433c250891 new creation algorithm added
[SVN r71634]
2011-04-30 20:53:59 +00:00
Barend Gehrels
6cb19c253c Fixed box_iterator behaviour to support Boost.Range concept checking
[SVN r71628]
2011-04-30 16:29:21 +00:00
Bruno Lalande
d92dbecb6a Aligned adapted C array and Boost Array to the recent changes.
[SVN r71575]
2011-04-28 21:26:54 +00:00
Adam Wulkiewicz
7d10680771 reinsertions disabled + minor changes
[SVN r71544]
2011-04-27 18:14:45 +00:00
Barend Gehrels
49804f1291 Documented box, renamed TEMPLATIZED TEMPLATED
Removed registration of linestring/ring as it will be replaced by view or view_as

[SVN r71490]
2011-04-25 21:19:26 +00:00
Bruno Lalande
5c8365befb Removed adapted/fusion_<cs>.hpp files and added a macro to use instead.
[SVN r71475]
2011-04-25 08:32:51 +00:00
Bruno Lalande
fc68031c90 Removed adapted/tuple_<cs>.hpp files and added a macro to use instead.
[SVN r71448]
2011-04-23 22:26:50 +00:00
Barend Gehrels
7949efd6d4 Doc update;
Added boost_polygon.hpp header including the other adaption headers

[SVN r71423]
2011-04-22 22:27:34 +00:00
Barend Gehrels
c0c548769f Fix in interior_type
[SVN r71416]
2011-04-22 11:01:31 +00:00
Barend Gehrels
8a449c8bdb Added check for valid input for all intersections. If not valid, it throws.
[SVN r71357]
2011-04-17 20:55:57 +00:00
Bruno Lalande
0b9230931c Generalized Boost.Tuple adaptation to nD.
[SVN r71349]
2011-04-17 09:55:12 +00:00
Barend Gehrels
5a25db7b35 Added boost/geometry.hpp to release branch
[SVN r71338]
2011-04-16 23:21:23 +00:00
Barend Gehrels
a1f2e966de Merged Boost.Geometry from revision 71123 to 71336
[SVN r71337]
2011-04-16 23:19:36 +00:00
Barend Gehrels
8cca47c971 Doc update (metafunctions tag, tag_cast, point_type)
[SVN r71329]
2011-04-16 20:42:57 +00:00
Barend Gehrels
5be2736b4b Added headerfiles now missing for clang
[SVN r71326]
2011-04-16 18:05:13 +00:00
Barend Gehrels
68fd8869c5 Added boost/geometry.hpp
Doc update (metafunctions coordinate type, system, dimensions, point_order, closure, tags degree/radian, constans min_corner, max_corner)


[SVN r71325]
2011-04-16 18:00:03 +00:00
Barend Gehrels
5580e6b622 Added/updated doc/examples for assign/convert/convex_hull
[SVN r71321]
2011-04-16 13:16:26 +00:00
Barend Gehrels
6cd0509ac0 Small doc fix
[SVN r71319]
2011-04-16 12:24:09 +00:00
Barend Gehrels
726e26b971 Moved assign-variants to detail, reverted (manually) move of convert to detail
[SVN r71309]
2011-04-16 11:31:53 +00:00
Barend Gehrels
9ac4cc29f3 Moved make with range to detail, otherwise inconsistent with renaming of assign.hpp
[SVN r71298]
2011-04-15 20:55:00 +00:00
Barend Gehrels
be53ecf97b Splitted files assign/assign_values to avoid circularities
[SVN r71212]
2011-04-12 20:13:06 +00:00
Barend Gehrels
3cf4b0e1fe Temporary solved mutual inclusion assign/convert
[SVN r71210]
2011-04-12 18:41:53 +00:00
Barend Gehrels
603f435d47 Changed assign to assign_values / assign_points and copied in assign from convert
[SVN r71208]
2011-04-12 18:24:24 +00:00
Bruno Lalande
4b4d957802 Small fix - forgotten const
[SVN r71170]
2011-04-10 20:44:26 +00:00
Barend Gehrels
731999217a Added doc for equals
[SVN r71156]
2011-04-09 21:24:54 +00:00
Barend Gehrels
9f6bf428bb Added and updated documentation of correct, transform, distance, comparable_distance
[SVN r71152]
2011-04-09 20:29:34 +00:00
Bruno Lalande
edc40b6580 Added assign_value and assign_point to arithmetic functions.
[SVN r71126]
2011-04-08 21:13:10 +00:00
Barend Gehrels
595bae61d9 Doc update, added behaviour/samples of clear, expand, reverse, unique
[SVN r71124]
2011-04-08 20:19:01 +00:00
Barend Gehrels
b38c8a16dd Merged 71027,71093,71117 (centroid nD plus convert to detail)
[SVN r71119]
2011-04-08 15:41:37 +00:00
Barend Gehrels
2e024cff21 Moved convert to detail::convert
Removed deprecated file copy.hpp

[SVN r71117]
2011-04-08 14:49:49 +00:00
Bruno Lalande
85f1994a42 Actually enabled centroid linestring calculation for nD.
[SVN r71093]
2011-04-07 21:11:17 +00:00
Bruno Lalande
9a615d79d3 Generalized linestring centroid to nD.
[SVN r71027]
2011-04-06 06:56:16 +00:00
Adam Wulkiewicz
98e4b47b32 reinsert implemented
[SVN r70964]
2011-04-03 23:07:34 +00:00
Barend Gehrels
496425a7e8 Added geometry.hpp to release branche
[SVN r70916]
2011-04-02 22:22:02 +00:00
Barend Gehrels
819e63d90d Added views to release branche
[SVN r70915]
2011-04-02 22:21:47 +00:00
Barend Gehrels
a818f281f0 Added util to release branche
[SVN r70914]
2011-04-02 22:21:31 +00:00
Barend Gehrels
176c5ab134 Added strategies to release branche
[SVN r70913]
2011-04-02 22:21:18 +00:00
Barend Gehrels
9141e16986 Added ranges to release branche
[SVN r70912]
2011-04-02 22:21:05 +00:00
Barend Gehrels
8499d60f83 Added policies to release branche
[SVN r70911]
2011-04-02 22:20:52 +00:00
Barend Gehrels
8a1fd4b6cb Added multi to release branche
[SVN r70910]
2011-04-02 22:20:39 +00:00
Barend Gehrels
65a39eede8 Added iterators to release branche
[SVN r70909]
2011-04-02 22:20:26 +00:00
Barend Gehrels
eeebd00ed2 Added geometries to release branche
[SVN r70908]
2011-04-02 22:20:13 +00:00
Barend Gehrels
03b9859716 Added domains to release branche
[SVN r70907]
2011-04-02 22:20:00 +00:00
Barend Gehrels
071a6d7864 Added arithmetic to release branche
[SVN r70906]
2011-04-02 22:19:46 +00:00
Barend Gehrels
571311f82e Added algorithms to release branche
[SVN r70905]
2011-04-02 22:19:34 +00:00
Barend Gehrels
abcff8f711 Added core to release branche
[SVN r70904]
2011-04-02 22:19:20 +00:00
Barend Gehrels
eefb1b6056 Moved units to extension
[SVN r70898]
2011-04-02 21:55:40 +00:00
Barend Gehrels
2f39b02bc8 Moved cross_product to extensions/arithmetic
[SVN r70858]
2011-04-02 16:26:25 +00:00
Barend Gehrels
17a6801d57 Small fixes for examples/extensions
[SVN r70855]
2011-04-02 14:27:38 +00:00
Barend Gehrels
fbaa12058e Renamed distance_result to default_distance_result, same for area/length
For within, using tag_cast now like done in centroid
Obsoleted is_linear
Small comment changes


[SVN r70853]
2011-04-02 13:29:21 +00:00
Barend Gehrels
42326ebd41 Have to include provided geometries because of move of replace_point_type
[SVN r70837]
2011-04-01 21:12:47 +00:00
Barend Gehrels
86fb6b5f9b Moved replace_point_type
[SVN r70836]
2011-04-01 21:06:59 +00:00
Barend Gehrels
1422185504 Comment change, moved replace_point_type to extension
[SVN r70830]
2011-04-01 19:56:06 +00:00
Barend Gehrels
6db68c62b5 Renamed make_ functions return_ (centroid, buffer, envelope)
Renamed _inserter functions _insert and moved them to namespace detail (intersection, union, difference, sym_difference, simplify, convex_hull)

[SVN r70824]
2011-04-01 16:38:43 +00:00
Mateusz Loskot
5e85f0e019 [geometry] Commented max_segments_per_section
[SVN r70753]
2011-03-30 13:13:12 +00:00
Mateusz Loskot
957028326a [geometry] Applied patch from Philipp Reh removing use of named constant max_segments_per_section due to problems with GCC 4.6. TODO: to be reviewed.
[SVN r70752]
2011-03-30 13:11:14 +00:00
Adam Wulkiewicz
5b96b96c34 choose_next_node algorithm changed
[SVN r70746]
2011-03-30 10:16:03 +00:00
Barend Gehrels
bd27fef768 Moved some non-finished code to extensions
Documented centroid,clear,within

[SVN r70710]
2011-03-29 21:17:41 +00:00
Adam Wulkiewicz
034bf7ce0a tagstags are now in the index namespace
[SVN r70702]
2011-03-29 18:22:56 +00:00
Adam Wulkiewicz
9c2ff58818 namespaces hierarchy changed
[SVN r70701]
2011-03-29 18:03:10 +00:00
Adam Wulkiewicz
c8b2db4306 rtree Box template parameter removed
[SVN r70689]
2011-03-29 00:34:09 +00:00
Barend Gehrels
66b00dae7e Removed obsolete file
[SVN r70644]
2011-03-27 18:54:13 +00:00
Barend Gehrels
1908dccb1f Fixed error for MSVC in some circumstances, "begin" without namespace was a problem
[SVN r70642]
2011-03-27 18:37:27 +00:00
Adam Wulkiewicz
c88052c506 overlap error patch + minor changes
[SVN r70627]
2011-03-27 13:44:55 +00:00
Adam Wulkiewicz
e05afa847e other version of split algorithm + a lot of minor changes
[SVN r70607]
2011-03-27 02:21:45 +00:00
Barend Gehrels
985db5a6b8 Updated copyright messages
[SVN r70600]
2011-03-26 22:33:15 +00:00
Barend Gehrels
be95eb40d8 Splitted strategy "centroid_weighted_length.hpp from centroid.hpp
Added tags pointlike_tag, linear_tag, areal_tag to share strategies
Implemented multi_linestring making use of weighted_length


[SVN r70571]
2011-03-26 17:01:28 +00:00
Adam Wulkiewicz
c5e823bbb5 R*tree implementation based on boost::variant
[SVN r70531]
2011-03-24 23:52:27 +00:00
Barend Gehrels
67f5b36e32 Bugfix partition for clang
Added undocked par for sectionalize

[SVN r70183]
2011-03-19 14:01:11 +00:00
Barend Gehrels
a1e9dbe493 Moved "within" in "select_rings" to a later phase to avoid too many calls to within in some cases
[SVN r70136]
2011-03-18 19:35:19 +00:00
Bruno Lalande
0c9e4b52bb Fixed wrong comment
[SVN r70089]
2011-03-17 23:13:21 +00:00
Barend Gehrels
05186e267d Changed BOOST_AUTO to BOOST_AUTO_TPL for pgi 11.2
[SVN r70060]
2011-03-17 14:02:01 +00:00
Barend Gehrels
2b03e95bc1 Silence clang warnings by adding initialization
[SVN r70059]
2011-03-17 13:15:10 +00:00
Barend Gehrels
c800f15ff0 Removed obsolete files
Moved two not-used experimental views to extensions/util
Moved for_each_range from util to algorithm/detail and to namespace detail


[SVN r70056]
2011-03-17 13:00:19 +00:00
Barend Gehrels
82b3fe985b Performance fix for get_turns/partition
[SVN r69958]
2011-03-13 16:09:47 +00:00
Barend Gehrels
6c430f7d1f Added check in partition to check if partitioning is necessary, saves building up index vector(s)
[SVN r69948]
2011-03-13 15:22:31 +00:00
Barend Gehrels
4d147a71d3 Revised get_turns using partition instead of own implementation
Changed section to make use of ring_identifier instead of own indexes
Cleanup in using boost::geometry:: inside sources


[SVN r69943]
2011-03-13 14:46:07 +00:00
Barend Gehrels
397ddc7b18 Implemented partition for two ranges
[SVN r69942]
2011-03-13 14:43:17 +00:00
Barend Gehrels
9bdd88f741 Renamed combine to expand
[SVN r69916]
2011-03-13 11:02:13 +00:00
Barend Gehrels
39614450b9 Moved wkt, phase 4, cleanup
[SVN r69915]
2011-03-13 10:09:54 +00:00
Barend Gehrels
571790def4 Moved wkt, phase 3, in debug-defines
Moved parse to extensions

[SVN r69908]
2011-03-13 00:18:21 +00:00
Barend Gehrels
d7bc400caf Moved wkt, phase 2, added warning and renamed include guards
[SVN r69907]
2011-03-13 00:03:25 +00:00
Barend Gehrels
0fc4cf96fb Moved wkt (used in nearly all tests) from extension to domains tree for release
[SVN r69905]
2011-03-12 23:49:21 +00:00
Barend Gehrels
b12af33576 Small change to avoid warnings
[SVN r69841]
2011-03-11 12:54:07 +00:00
Barend Gehrels
9a02da8f4f Worked on divide_and_conquer, now called partition, extra internal vectors with exceeding were not necessary, and therefore the mapping with processed-info neither
[SVN r69839]
2011-03-11 11:36:43 +00:00
Barend Gehrels
205091b3d4 Refactored/removed quadratic loop (dramatic performance increase)
Added separate and generic divide_and_conquer.hpp 

[SVN r69828]
2011-03-10 21:50:35 +00:00
Barend Gehrels
394b7ec79d Fixed robustness problem for case called "ggl_list_20110306_javier"
[SVN r69611]
2011-03-06 21:15:21 +00:00
Barend Gehrels
76f68b1bb7 Fixed error in new assemble approach, now both recursive_boxes as intersection_pies are completely running (again) for all combinations of open,cw,ccw,multi,box,triangle
[SVN r69587]
2011-03-05 23:27:06 +00:00
Barend Gehrels
7b17f677b7 Fixed call to do_reverse for std::vector output
[SVN r69586]
2011-03-05 22:43:48 +00:00
Barend Gehrels
93eb8e0994 Fixed TODO item from list for better reversal of ccw polygons
[SVN r69584]
2011-03-05 22:23:29 +00:00
Barend Gehrels
0161ed1f43 Implemented/fixed behaviour for empty polygons in intersections
Simplified reversal
Implemented transform for segment,multi_point,multi_linestring
Implemented wkt for segment


[SVN r69569]
2011-03-04 21:39:30 +00:00
Barend Gehrels
8c9c643f93 Fixed behaviour of new approach for dissolve
[SVN r69519]
2011-03-03 16:17:47 +00:00
Barend Gehrels
1c4e9cc8d8 Fixed behaviour of new approach for dissolve
[SVN r69517]
2011-03-03 16:13:52 +00:00
Barend Gehrels
7cccbf4bb0 Added include file for gcc
[SVN r69514]
2011-03-03 11:30:27 +00:00
Barend Gehrels
2fcbf1c7c9 Refactored assemble.hpp, now three parts: select_rings, assign_parents, add_rings
Rewritten ring_properties 
Obsoleted add_to_containment.hpp, assemble.hpp

[SVN r69510]
2011-03-03 11:21:59 +00:00
Barend Gehrels
d43dc2b88c Fix on forgotten typename
[SVN r69338]
2011-02-27 17:14:39 +00:00
Barend Gehrels
264b278308 Some adaptions for ttmath type
Doc update in (sym)difference

[SVN r69335]
2011-02-27 16:20:00 +00:00
Barend Gehrels
a736372915 Src update, move of ref/* to reference/*
[SVN r69329]
2011-02-27 14:16:11 +00:00
Barend Gehrels
3456835605 Added _inserter versions for (symmetric)difference
Replaced double by coordinate type in correct
Added multi in generic geometry include file

[SVN r69314]
2011-02-26 22:33:13 +00:00
Barend Gehrels
d9e68a120e added multi/algorithms/difference.hpp
[SVN r69258]
2011-02-24 22:47:06 +00:00
Barend Gehrels
03c1d5ec31 Doc update
Fixed/added difference with box (box/Reversed)
Fixed/added append for some combinations (segment), splitted dispatch into two cases


[SVN r69252]
2011-02-24 22:29:01 +00:00
Barend Gehrels
239f794eb8 Added geometry:: to set to avoid clash with std::set
[SVN r69134]
2011-02-21 23:15:33 +00:00
Barend Gehrels
bd482c32ba Deprecated copy_coordinates (=>convert)
Doc update (assign/make)

[SVN r69127]
2011-02-21 22:23:16 +00:00
Barend Gehrels
4badcdc600 Moved dissolve to extension
Fixed extensions connect/offset tests for gcc 



[SVN r69086]
2011-02-20 18:18:10 +00:00
Barend Gehrels
034bc775df Renamed container_access to mutable_range
[SVN r69075]
2011-02-20 13:10:46 +00:00
Barend Gehrels
c679b2312d Selected other solution for mutable container, now having metafunction rvalue_type
[SVN r69058]
2011-02-19 14:39:49 +00:00
Barend Gehrels
029ce7c2c4 Enhanced mutable polygon concept with respect to proxies. Now Boost.Polygon is supported for both reading/writing.
Upgraded ttmath
Added coordinate_cast to support "lexical_cast" of ttmath numbers


[SVN r69054]
2011-02-19 13:33:14 +00:00
Mateusz Loskot
90e46544b5 [geometry] Replaced TODO comment with BOOST_ASSERT to guard unexpected execution point.
[SVN r68950]
2011-02-16 16:41:53 +00:00
Barend Gehrels
95e61f338e Use traits::resize now instead of assuming a container resize method
[SVN r68935]
2011-02-15 22:33:18 +00:00
Barend Gehrels
7fa765ded2 for_each_segment doc update
[SVN r68930]
2011-02-15 21:14:41 +00:00
Barend Gehrels
e7d222e929 Fixed typo
[SVN r68807]
2011-02-12 15:37:38 +00:00
Barend Gehrels
4faf0f235d Replaced is_multi by tag_cast as planned (see also http://barendgehrels.blogspot.com/2010/10/tag-dispatching-and-inheritance.html)
Moved num_geometries to algorithms/ folder
Created new file num_interior_rings.hpp (extracted from interior_rings.hpp)


[SVN r68803]
2011-02-12 15:26:36 +00:00
Barend Gehrels
6a886721e7 Update for c++0x where I don't get BOOST_AUTO to work.
[SVN r68749]
2011-02-09 19:30:52 +00:00
Barend Gehrels
f1d0a98b0c Small fixes in extensions
[SVN r68712]
2011-02-08 12:01:23 +00:00
Barend Gehrels
73197970ee Fixed accidental usage of bg::
[SVN r68709]
2011-02-08 07:45:54 +00:00
Barend Gehrels
167c4ebd36 Removed an accidental typedef (which MSVC 2005 surprisingly accepts)
[SVN r68704]
2011-02-07 21:48:02 +00:00
Barend Gehrels
3d0230f8b4 Propagate constness in metafunction ring_return_type
[SVN r68703]
2011-02-07 20:51:35 +00:00
Barend Gehrels
9fbd4da716 Added now necessary reference after change in read wkt
[SVN r68702]
2011-02-07 20:09:46 +00:00
Barend Gehrels
da3998874d Changed polygon concept to implement const/mutable usage
Therefore changed container_access
Added namespace "write" to enable writable containers or ranges
Reimplemented much of Boost.Polygon's polygon_with_hole_data adaption


[SVN r68694]
2011-02-07 18:44:49 +00:00
Barend Gehrels
0871cb8295 get/set update for doc
[SVN r68682]
2011-02-06 21:09:58 +00:00
Barend Gehrels
a7e547a7e3 Doc update
Renamed macro to throw/don't throw BOOST_GEOMETRY_CENTROID_NO_THROW


[SVN r68574]
2011-01-30 21:48:22 +00:00
Barend Gehrels
2b6ee203f1 Missing comma
[SVN r68390]
2011-01-23 16:34:36 +00:00
Barend Gehrels
1e823499b6 Renamed linear_ring to ring (linear_ring is still available)
Doc update
Renamed some template parameters (for doc)

[SVN r68385]
2011-01-23 16:04:35 +00:00
Barend Gehrels
32d95d3d8e Doc update
Renamed area_by_triangles.hpp to area_surveyor.hpp because most files are named to their inventor or formula


[SVN r68370]
2011-01-22 18:51:45 +00:00
Barend Gehrels
cf7b735a1e Small doc-gen update, move from qbk{include,...} to qbk{[include ...]} to have greater flexibility (any qbk code can now be inlined)
[SVN r68304]
2011-01-19 18:17:51 +00:00
Barend Gehrels
e116f5ddda Removed assertion (currently goes of for GeometryOut, is a vector, not a geometry-type)
[SVN r68254]
2011-01-18 21:28:38 +00:00
Barend Gehrels
e051050b44 Added Boost.Fusion points adapted to Boost.Geometry (effectively by Akira Takahashi)
Added MPL-assertions to traits classes not yet having them
Added constructors for linear_ring/linestring to support Boost.Assign better


[SVN r68239]
2011-01-18 18:51:57 +00:00
Barend Gehrels
b7bc3c4c77 Reimplemented remove_spikes by first marking and after that removing, the algorithm is also changed.
This can not only remove "spikes" but also larger indentations, exdentations (intrusions/extrusions).
We need the marking to check before if there are spikes.
(Note: this is payed-project-related work)

Plus small trailing needs for model:: namespace here

[SVN r68226]
2011-01-18 12:57:25 +00:00
Barend Gehrels
a58b79d0b6 Added MPL assertions
[SVN r68218]
2011-01-17 20:54:38 +00:00
Barend Gehrels
cbcf275ea7 Doc update, move from qbk/* to qbk/include and separate qbk files in folder ref
[SVN r68215]
2011-01-17 20:41:54 +00:00
Steven Watanabe
d234480b24 Revert [67111] (addition of boost/detail/iomanip.hpp) and all the commits that depend on it. ([68137], [68140], [68141], [68154], and [68165]).
[SVN r68168]
2011-01-15 08:11:51 +00:00
Bryce Adelstein-Lelbach
dff17a97aa Replacing the use of <iomanip> with <boost/detail/iomanip.hpp> across Boost.
On Linux, GNU's libstdc++, which is the default stdlib for icc and clang,
cannot parse the <iomanip> header in version 4.5+ (which thankfully neither
compiler advises the use of yet), as it's original C++98-friendly
implementation has been replaced with a gnu++0x implementation.
<boost/detail/iomanip.hpp> is a portable implementation of <iomanip>, providing
boost::detail::setfill, boost::detail::setbase, boost::detail::setw,
boost::detail::setprecision, boost::detail::setiosflags and
boost::detail::resetiosflags. 



[SVN r68140]
2011-01-14 02:35:58 +00:00
Barend Gehrels
216f8a1d15 Used reversible_view in convex_hull to fix stlport
[SVN r67918]
2011-01-10 18:38:04 +00:00
Barend Gehrels
3cec88ae05 Moved all other snippets to separate examples
[SVN r67778]
2011-01-08 14:01:04 +00:00
Barend Gehrels
30304863c7 Moved snippets point and point_register to separate examples
[SVN r67775]
2011-01-08 12:06:29 +00:00
Barend Gehrels
0146ad416e Changed m_clustered into pointer for clang (forbidding mutable ref's)
[SVN r67769]
2011-01-08 09:59:22 +00:00
Barend Gehrels
9b8db4f822 Inspect tool report update (library)
[SVN r67630]
2011-01-03 18:26:02 +00:00
Barend Gehrels
7e2866274a Doc update
[SVN r67587]
2011-01-02 20:23:45 +00:00
Barend Gehrels
52a088851e Doc update (usually change from Doxygen group)
Changed some strategies from struct to class


[SVN r67555]
2011-01-01 22:35:47 +00:00
Barend Gehrels
b554a94560 Doc update (doxygen)
[SVN r67509]
2010-12-30 22:03:00 +00:00
Barend Gehrels
b504ad8107 Update for difference
Changed value (1,-1) to overlay_type now
Removed dissolve flag, now an overlay type


[SVN r67487]
2010-12-29 13:57:06 +00:00
Barend Gehrels
ee21185f40 Removed range_detail
[SVN r67485]
2010-12-29 10:21:12 +00:00
Barend Gehrels
7bb8eaf573 Included boost/version.hpp as this is not always automatically done
[SVN r67482]
2010-12-28 20:33:01 +00:00
Barend Gehrels
07189d825d Adapted reversible_view to new names for Boost 1.46 (trunk)
[SVN r67480]
2010-12-28 18:41:23 +00:00
Barend Gehrels
80b9f998b1 Adapted boost range adaptors to new names for Boost 1.46 (trunk)
[SVN r67479]
2010-12-28 18:39:58 +00:00
Barend Gehrels
7e96ac247f Splitted intersection and intersection_inserter
Doing back_inserter now in later phase of dispatch
Added MPL assertions to coordinate system and type
Modified read_wkt with output iterator option

[SVN r67473]
2010-12-28 16:37:11 +00:00
Barend Gehrels
f0be3d6d8b Update for quickbook/doxygen
[SVN r67444]
2010-12-24 14:19:00 +00:00
Barend Gehrels
0b1aff4624 Fixed minimum_ring_size for open rings
[SVN r67413]
2010-12-22 17:43:14 +00:00
Barend Gehrels
f0989204fb Added multi/closure.hpp (adaptions for MPL_ASSERT) - all should be closed otherwise linestring is closed explicitly
[SVN r67402]
2010-12-21 22:45:43 +00:00
Barend Gehrels
97245d28ba Added multi/closure.hpp (adaptions for MPL_ASSERT)
[SVN r67396]
2010-12-21 21:41:49 +00:00
Barend Gehrels
3d7dc39f28 Added multi/closure.hpp
[SVN r67395]
2010-12-21 21:24:17 +00:00
Barend Gehrels
5b4b030fcb Added Reverse to copy_segment_point.hpp,
and therefore, to enrich_intersection_points.hpp, handle_tangencies.hpp
Protected point_order with MPL_ASSERT

[SVN r67374]
2010-12-20 21:25:21 +00:00
Barend Gehrels
9c6417c331 Implemented counterclockwise-geometry / box
Removed obsolete order in traverse/copy segments
Added option ReverseOut in overlay to support ccw or difference better, this should be enhanced
Obsoleted cartesian2d and cartesian3d



[SVN r67321]
2010-12-19 12:17:10 +00:00
Barend Gehrels
c75f01c42c Bugfix in remove headerfile
[SVN r67312]
2010-12-18 21:43:58 +00:00
Barend Gehrels
a352ce1a8a Moved closeable_view,reversible_view to views
Added identity_view to avoid copies
Renamed get_full_section.hpp to range_by_section.hpp
Added (temporary?) reference to ring/linestring types in ring_return_type...


[SVN r67309]
2010-12-18 21:39:33 +00:00
Barend Gehrels
e36fd1ebc6 Incorporated reversible_view in sectionalize, get_turns, copy_segments
Included Reverse boolean parameter in get_turns, traverse, overlay
Removed closeable_view from get_full_section (was confusing and not necessary)
Algorithms difference and sym_difference now use reverse iteration instead of reversing the whole geometry beforehand
Asserted some other metafunctions with BOOST_MPL_ASSERT_MSG

[SVN r67303]
2010-12-18 16:52:59 +00:00
Barend Gehrels
e7e2ab6b47 Removed obsolete get_sections
Small debug-tweak in assemble

[SVN r67295]
2010-12-18 10:29:46 +00:00
Barend Gehrels
2d69e93a5d Changed BOOST_AUTO by typename interior_rings in loops through interior rings
[SVN r67244]
2010-12-15 19:52:49 +00:00
Barend Gehrels
370d887001 Added Boost.Range range adaptors adaptions for Boost.Geometry
[SVN r67224]
2010-12-13 21:34:48 +00:00
Barend Gehrels
21866296fe (Re)added explicit to constructor
[SVN r67196]
2010-12-12 22:35:20 +00:00
Barend Gehrels
e9bf98f8a8 Removed explicit constructor, no need to, for test reversible_closeable_view.cpp
[SVN r67192]
2010-12-12 19:37:57 +00:00
Barend Gehrels
625b25a5ec Made closeable_view and reversible_view metafunctions, defining itself or a Boost.Range reversed_range or a closing_view
[SVN r67186]
2010-12-12 15:46:52 +00:00
Barend Gehrels
748d8059d1 Clean up / renaming / adding namespace / etc in bp adaption
[SVN r67181]
2010-12-12 10:45:36 +00:00
Barend Gehrels
1f90af482d Updated polygon.hpp, ring_type is now reference because it returns a reference to its rings
Updated many test files to avoid point_2d
Updated boost.polygon adaption

[SVN r67178]
2010-12-11 15:51:38 +00:00
Barend Gehrels
fa5027dc66 Changed const impl.
[SVN r67175]
2010-12-11 14:53:01 +00:00
Barend Gehrels
1038035c43 Removed (the need for) range_iterator_const_if_c using BOOST_AUTO
[SVN r67168]
2010-12-11 14:24:31 +00:00
Barend Gehrels
573610796d Changed loops to BOOST_AUTO in preparation of change in concept of interior_rings/return_type
[SVN r67167]
2010-12-11 14:03:54 +00:00
Barend Gehrels
e9ed507574 Committed added files for concept-change to include reference to ring_type and interior_type.
For interior_type.hpp, this is split off from interior_rings.hpp
Changed comment in add_const_if_c

[SVN r67166]
2010-12-11 12:04:48 +00:00
Barend Gehrels
bd7f7879c1 Committed added files for concept-change to include reference to ring_type and interior_type.
For interior_type.hpp, this is split off from interior_rings.hpp
Changed comment in add_const_if_c

[SVN r67165]
2010-12-11 11:57:02 +00:00
Barend Gehrels
11a5805da2 Small updates in comment and in new Boost.Polygon ring adaptor
[SVN r67070]
2010-12-06 18:33:53 +00:00
Barend Gehrels
92cecaa0f5 Added Boost.Polygon support (point, box, ring)
[SVN r67042]
2010-12-05 21:47:08 +00:00
Barend Gehrels
1c8fce3059 model namespaces, moved point_xy to d2::point_xy, revised point_ll_deg to ll::point<degree>
[SVN r66975]
2010-12-02 16:10:47 +00:00
Barend Gehrels
e299295f8e Fixed point-segment default_strategy construct
Fixed cross track for latlong (partly)

[SVN r66828]
2010-11-28 21:49:46 +00:00
Barend Gehrels
853c097413 Fixed path-omission for svg_mapper
[SVN r66818]
2010-11-28 14:37:36 +00:00
Barend Gehrels
773131faa5 Major update:
1) all provided geometries are now in namespace model
2) segment is renamed to model::referring_segment, there is also a model::segment which owns the points


[SVN r66810]
2010-11-28 13:23:44 +00:00
Barend Gehrels
6de74295af Removed two warnings
[SVN r66807]
2010-11-28 09:34:14 +00:00
Barend Gehrels
b16e1b3247 Fixed last pie case (as multi-polygon)
[SVN r66587]
2010-11-15 09:38:32 +00:00
Barend Gehrels
8282f1e9e8 Fixed two new cases coming from multi-polygon pie-test
[SVN r66579]
2010-11-14 21:05:22 +00:00
Barend Gehrels
23abb2d19f small cleanup within
[SVN r66569]
2010-11-14 14:33:12 +00:00
Barend Gehrels
c3c238623d Assemble/traverse/enrich: complete update for handling self tangencies
Strategies area, within, centroid, transform adapted to new conventions using services
Centroid: removed underscore
Correct: support for open polygons
Get turns: support for open polygons
Sectionalize/segments: support for open polygons
Closing iterator: complete new implementation to support open polygons better
Numpoints: added boolean parameter to add one for open polygons
Within: bugfix for point-on-border-of-interior ring, this needed returning three values -1,0,1 instead of boolean
polygon/ring: added a copy in namespace model:: as agreed long ago, with other default template parameters



[SVN r66449]
2010-11-08 10:18:33 +00:00
Barend Gehrels
2a1244ddfb Changed warning for adaption of Boost.Array
[SVN r66212]
2010-10-27 10:52:31 +00:00
Barend Gehrels
5b10aad7b4 Added Boost Array point adapter created by Alfredo Correa
[SVN r66211]
2010-10-27 10:43:31 +00:00
Mateusz Loskot
b0ee536873 [geometry] Updated detailed description of area algorithm. Paragraphs copied from previous version of quickbook doc.
[SVN r66113]
2010-10-20 00:09:40 +00:00
Barend Gehrels
d262e99aea Fixed dissolve and added to jamfile
[SVN r65941]
2010-10-13 14:38:56 +00:00
Barend Gehrels
d36962b53d Refreshed get_turns: removed is_multi, moved pieces to implementation, shared things, implemented for multi
Made orientation for linear intersections flexible (because doesn't care)
There is now clipping (intersection box/geometry) for multi_polygon and multi_linestring


[SVN r65938]
2010-10-13 13:45:54 +00:00
Barend Gehrels
71d48da6e0 Implemented box with reverse polygon overlay
[SVN r65932]
2010-10-12 20:27:49 +00:00
Barend Gehrels
8f86439655 Implemented ccw, plus check on areal feature, to union, conform intersection
Splitted assemble.hpp into get_ring.hpp, convert_ring.hpp, add_to_containment.hpp, overlay.hpp, assemble.hpp
Added some other mpl asserts



[SVN r65923]
2010-10-12 13:04:45 +00:00
Barend Gehrels
0f3c09e022 Added default to avoid gcc warning about missing enumeration
[SVN r65921]
2010-10-12 10:48:28 +00:00
Barend Gehrels
6564152e98 Finished ccw implementation of intersection
Added mpl assert for correct, if not implemented
Restructured intersection.cpp unit test to support cw


[SVN r65920]
2010-10-12 10:39:09 +00:00
Barend Gehrels
51610518b1 Replaced ignore field by ignore method for swapping operations (for counter clockwise)
Added test/algorithms/overlay/ccw_traverse.cpp to test counterclockwise polygon overlays
Added test/algorithms/overlay to standards Jamfile.v2
Moved some testcases to overlay_cases.hpp
Some warning removals in test cases

[SVN r65913]
2010-10-11 16:18:51 +00:00
Barend Gehrels
73fd9c49de Added multi_linestring of intersections
Changed intersection dispatching using is_areal

[SVN r65892]
2010-10-10 19:47:31 +00:00
Barend Gehrels
e87a82051b Added MPL asserts for geometry combinations which are not implemented in intersection.
[SVN r65881]
2010-10-10 16:47:18 +00:00
Barend Gehrels
4589062969 Doc update
Converter update (now convenience headers)

[SVN r65334]
2010-09-07 16:28:21 +00:00
Barend Gehrels
d92605e4f0 Doc update
Renamed snippet to example
Added additional distinguishing qbk option
Some doc fixes

[SVN r65322]
2010-09-06 16:26:04 +00:00
Barend Gehrels
7a082bb4f4 Modified IntersectionStrategy and AssignPolicy into a TurnPolicy (having the two)
[SVN r65255]
2010-09-04 15:16:56 +00:00
Barend Gehrels
a6dec17e20 Added model::segment (preparing model namespace)
[SVN r65214]
2010-09-03 10:25:59 +00:00
Barend Gehrels
63199bfe5d Added model::segment (preparing model namespace)
[SVN r65213]
2010-09-03 10:24:41 +00:00
Barend Gehrels
3a5e4ebdf1 Update of Doxygen/qbk documentation
[SVN r65212]
2010-09-03 10:23:21 +00:00
Barend Gehrels
9b0bf9f07c Update of Doxygen/qbk documentation
[SVN r65211]
2010-09-03 10:22:14 +00:00
Barend Gehrels
141b5a9018 Added disjoint option for segment/segment and linestring/linestring
[SVN r65082]
2010-08-28 14:26:45 +00:00
Barend Gehrels
446a79f168 Doc update
[SVN r64844]
2010-08-16 12:56:31 +00:00
Barend Gehrels
6ce5644821 Made difference_type public
[SVN r64843]
2010-08-16 12:38:05 +00:00
Barend Gehrels
eb04aeb7ad Added difference_type, reported as missing on the GGL mailing list
[SVN r64840]
2010-08-16 07:36:10 +00:00
Barend Gehrels
8753236b6d Major doc upgrade (step one of many)
A.o. moved Doxygen groups to separate headerfiles
Silenced Doxygen warnings

[SVN r64819]
2010-08-15 14:29:57 +00:00
Barend Gehrels
5d9b9e3edc Correct now works for any geometry
[SVN r64738]
2010-08-11 13:02:41 +00:00
Barend Gehrels
801f2e0eed Recent changes in qbk-generation
[SVN r64692]
2010-08-09 10:33:57 +00:00
Barend Gehrels
4800ea7918 Small tweaks in shapelib extension
[SVN r64596]
2010-08-04 15:45:23 +00:00
Barend Gehrels
349cab7b0d Added shapelib extension to create shapefiles using shapelib
(shameless plug: writing shapefiles has never been easier)

[SVN r64594]
2010-08-04 12:35:16 +00:00
Barend Gehrels
e3406eada4 Made box/segment iterators random access
[SVN r64590]
2010-08-04 09:17:31 +00:00
Barend Gehrels
694c501f2e Updated comments for (experimental) qbk
[SVN r64530]
2010-08-01 20:22:44 +00:00
Barend Gehrels
dec2d42c3f Fixed renamal view/ranges
[SVN r64511]
2010-07-31 19:25:59 +00:00
Barend Gehrels
98e9ca82c6 added box_iterator
[SVN r64507]
2010-07-31 18:51:13 +00:00
Barend Gehrels
9cd71226df clip_linestring: renamed linestring to range (for support segments)
added distance checks
added mpl assertions
added intersection segment/box
renamed "segment_iterator" to "segment_returning_iterator" to be able to reuse that name later on


[SVN r64505]
2010-07-31 18:41:31 +00:00
Barend Gehrels
80531061b6 Added support for distance point/open ring
[SVN r64416]
2010-07-28 20:29:19 +00:00
Barend Gehrels
718f431b2a Added point-ring distance plus testcase
[SVN r64414]
2010-07-28 18:07:06 +00:00
Barend Gehrels
8cf4b739b4 Fixed make_distance_result for within extension
Typos

[SVN r64263]
2010-07-22 16:04:05 +00:00
Barend Gehrels
b6444b5475 Fixed old issue that only geometry::segment could be used in distance
Splitted custom segment, moved to separate header

[SVN r64115]
2010-07-17 20:59:30 +00:00
Barend Gehrels
db53e722db Removed traits::append_point.
The library now used std::back_insert_iterator everywhere

[SVN r64113]
2010-07-17 20:26:29 +00:00
Barend Gehrels
516e7cafb4 Added clear for multi-geometries
[SVN r64098]
2010-07-17 14:25:33 +00:00
Barend Gehrels
33b785b225 Removed "use_std" for linestring / linear_ring because it is not necessary. Default now does "push_back", specialization possible
Plus necessary changes for this.
Also moved stuff from test distance to test_distance.hpp

[SVN r64095]
2010-07-17 14:02:12 +00:00
Barend Gehrels
8cf84e37b6 Added Point-Point strategy to default_strategy for Point-segment
Added some MPL assertions
Updated distance tests

[SVN r64087]
2010-07-17 10:46:25 +00:00
Barend Gehrels
2f4ae2c6b6 Added remove_const (here it is necessary to avoid vector<const point_type>)
[SVN r63997]
2010-07-13 20:13:52 +00:00
Barend Gehrels
659b1e8366 Removed redundant remove_const calls
Added function_types approach for simplify

[SVN r63994]
2010-07-13 19:59:29 +00:00
Barend Gehrels
12392703d5 Removed redundant typenames
[SVN r63991]
2010-07-13 18:55:27 +00:00
Barend Gehrels
6665ed83c3 Applied new approach using function_types instead of member types to point-segment-distance strategies
[SVN r63988]
2010-07-13 18:48:43 +00:00
Barend Gehrels
9cca814e47 Removed remove_member_function_pointer, we use function_types now
[SVN r63973]
2010-07-13 17:59:11 +00:00
Barend Gehrels
fc813439b0 Using function_types now instead of defining first_point_type and second_point_type
[SVN r63971]
2010-07-13 17:40:11 +00:00
Barend Gehrels
c2b901f8eb Added template parameter to ellipsoid
[SVN r63842]
2010-07-11 10:57:45 +00:00
Barend Gehrels
42e22b922e Updated definition of PI to support templated UDT
Updated Andoyer for high precision

[SVN r63839]
2010-07-11 09:40:32 +00:00
Barend Gehrels
0c7383dc5b ttmath exp/mnt reversal
removed first/second point type (as it is only necessary for concept checking)

[SVN r63707]
2010-07-06 20:46:37 +00:00
Barend Gehrels
49618c7e0d Replaced member-type return_type by meta-function return_type
[SVN r63706]
2010-07-06 20:15:59 +00:00
Barend Gehrels
7b1b14a5a0 Added (possibly temporary) ttmath as extension / contribution, for testing high precision
[SVN r63668]
2010-07-05 17:06:03 +00:00
Barend Gehrels
bf45a7c988 strategy_distance is now better named to services::default_strategy (with version for point and segment)
strategy_tag is now services::tag everywhere


[SVN r63634]
2010-07-04 21:29:06 +00:00
Barend Gehrels
71ac1282e3 Removed more std:: occurances
Added high precision for Vincenty

[SVN r63601]
2010-07-04 16:03:33 +00:00
Barend Gehrels
7bb11ad3f0 Added comparable_distance
Removed geometry::math::pi, now using boost::constants::pi
Solved abs/std::abs issues (2)


[SVN r63593]
2010-07-04 13:26:08 +00:00
Barend Gehrels
c125309514 Fix in new abs approach for transform (unit sphere forwards/backwards was not exactly 1.000 by rounding errors)
[SVN r63591]
2010-07-04 12:44:42 +00:00
Barend Gehrels
89acf8d4e6 Solved abs/std::abs issues
[SVN r63590]
2010-07-04 12:19:55 +00:00
Barend Gehrels
c06164f32c Fixed for gcc
[SVN r63586]
2010-07-04 11:36:38 +00:00
Barend Gehrels
7e2ebcf144 Fixed warning and bug in new distance approach
[SVN r63582]
2010-07-04 10:14:59 +00:00
Barend Gehrels
0d48c4fe3c Fixed default parameter of default_distance_strategy_segment
[SVN r63581]
2010-07-04 10:09:25 +00:00
Barend Gehrels
ddb8894b81 Added non-const version of get_section
Major changes in distance strategies
Changed double from simplify to template parameter
Added a promote_floating_point
Added a fp_coordinate_type
Added namespaced point in custom example
Added mpl assertion in overlaps (should be done in most algorithms by default)
Added high precision test for various distance algorithms


[SVN r63580]
2010-07-04 10:07:22 +00:00
Barend Gehrels
9c23118c37 Added non-const version of get_section
Major changes in distance strategies
Changed double from simplify to template parameter
Added a promote_floating_point
Added a fp_coordinate_type
Added namespaced point in custom example
Added mpl assertion in overlaps (should be done in most algorithms by default)
Added high precision test for various distance algorithms

[SVN r63579]
2010-07-04 10:01:10 +00:00
Barend Gehrels
dba12f1660 Minor cosmetic changes
[SVN r63558]
2010-07-03 19:56:28 +00:00
Barend Gehrels
4dcea0ced6 Follow-up, fixed renamed field
[SVN r63132]
2010-06-20 12:22:27 +00:00
Barend Gehrels
1605264c57 Greatly simplified the registration of point classes, thereby enabling points with namespaces and/or points class templates
[SVN r63131]
2010-06-20 12:15:11 +00:00
Barend Gehrels
8b260caec8 Added ever_circling_range_iterator (range version)
Small adaptions to get_turns

[SVN r62180]
2010-05-24 20:52:33 +00:00
Barend Gehrels
8e9dfdf3e6 Moved order/closure outside dispatches, not necessary there / more overhead
Implemented order/closure in within


[SVN r62175]
2010-05-24 17:03:41 +00:00
Barend Gehrels
520dd593b6 Jamfile update
Fixed perimeter for non-closed rings

[SVN r62173]
2010-05-24 14:01:10 +00:00
Barend Gehrels
5fb11344e4 Corrected closure for area
Added closure for centroid
Modified/fixed closing iterator (didn't compile for MSVC 2010)


[SVN r62172]
2010-05-24 13:54:32 +00:00
Barend Gehrels
04d8c000be Fixed syntax in equal / closing_iterator (will be iterator_facade)
[SVN r62171]
2010-05-24 11:31:08 +00:00
Barend Gehrels
068c2fa90a Added closed / closure
Updated jamfiles

[SVN r62170]
2010-05-24 09:07:05 +00:00
Barend Gehrels
b35d1d74f0 Updates for clang
[SVN r62070]
2010-05-17 19:51:46 +00:00
Barend Gehrels
d6d33fbd38 Added optional flag to base iterator
Added closing iterator
Added closeable_view


[SVN r61760]
2010-05-04 15:49:16 +00:00
Barend Gehrels
7380fda632 Implemented circular_iterator to reverse also backwards
Reversed const std::string -> std::string const for consistency
Default mirror tempate argument for map transformer
Set embed manifest to false because of after-link errors, sometimes but not always, on VC2005 / Win7 / 64 bits

[SVN r61739]
2010-05-02 21:38:12 +00:00
Barend Gehrels
6078e42285 Update for gcc (4) - first solutions were not accepted - might be solved using this-> but now solved differently
[SVN r61712]
2010-04-30 16:42:07 +00:00
Barend Gehrels
915f5c66f1 Update for gcc (3)
[SVN r61711]
2010-04-30 16:34:43 +00:00
Barend Gehrels
a251750de3 Update for gcc (2)
[SVN r61710]
2010-04-30 16:32:48 +00:00
Barend Gehrels
bceab2b0f2 Update for gcc
[SVN r61709]
2010-04-30 16:22:23 +00:00
Barend Gehrels
da5e753d62 Updated paths
Added ccw test for area

[SVN r61707]
2010-04-30 14:58:07 +00:00
Barend Gehrels
64f3bdb447 Changed area behaviour (now using reversible view to support ccw poylgons)
Added some buffer alternatives (all not perfect)

[SVN r61701]
2010-04-30 09:11:07 +00:00
Barend Gehrels
1108f3cab3 Move overlay -> detail/overlay phase 2, moving files and adapting includes
[SVN r61544]
2010-04-24 16:57:53 +00:00
Barend Gehrels
ee78fe9333 Moved section iterators to extensions
Solved wxwidges vcproj
Removed /W4 flag in Jamroot


[SVN r61536]
2010-04-24 14:22:22 +00:00
Barend Gehrels
94cca2747c Moved buffer to extensions (includes)
[SVN r61535]
2010-04-24 14:20:48 +00:00
Barend Gehrels
9472704c05 Moved buffer to extensions
[SVN r61533]
2010-04-24 14:14:20 +00:00
Barend Gehrels
099c4ee88a Stylistic changes, harmonizing const T& -> T const&
[SVN r61527]
2010-04-24 12:09:54 +00:00
Barend Gehrels
1609ce14ee Stylistic changes, harmonizing range_const_iterator<T> -> range_iterator<T const>
Removing remove_const or adding remove_const.hpp where possible / necessary

[SVN r61526]
2010-04-24 09:35:17 +00:00
Barend Gehrels
2f0817f7a8 Stylistic changes
[SVN r61512]
2010-04-23 20:53:06 +00:00
Barend Gehrels
754c51e3e5 Added boost/range.hpp where necessary (often replaces /functions and /metafunctions)
Some stylistic changes

[SVN r61511]
2010-04-23 17:47:33 +00:00
Barend Gehrels
d86ad883a4 Added forgotten typename
[SVN r61509]
2010-04-23 16:03:22 +00:00
Barend Gehrels
547e244209 Last changes in buffer before moving it to extensions
Changes in dissolver/split rings

Added extensions/offset
Added const behaviour for for_each_coordinate

Aded reverse test for intersection

[SVN r61507]
2010-04-23 15:45:17 +00:00
Barend Gehrels
fccdc12ee6 Added missing std:: include files cstddef,vector,deque,map,string
[SVN r61493]
2010-04-22 21:59:06 +00:00
Barend Gehrels
7bd58d04a6 Moved "dissolve multi_linestring" to separate algorithm "connect" (in Extension) because it is actually not dissolve, and will need separate strategies
[SVN r61463]
2010-04-21 14:42:35 +00:00
Barend Gehrels
5cfdb62a4d Added "reversible_view" to allow iterating forward/backward through a range based on a template parameter
[SVN r61366]
2010-04-18 17:41:33 +00:00
Barend Gehrels
8b337ef55d Centroid - update for different coordinate types
Added buffer join round strategy, new implementation

[SVN r61228]
2010-04-12 16:24:13 +00:00
Barend Gehrels
d800cfd056 Updated buffer / double->coordinate_type
Added buffering new approach (per segment), do not use this yet.

[SVN r61227]
2010-04-12 16:19:51 +00:00
Mateusz Loskot
305df85138 Geometry: missing <vector> header in algorithms/equals.hpp
[SVN r61170]
2010-04-09 21:24:57 +00:00
Mateusz Loskot
62e5034d51 Geometry: missing typename keyword to allow name lookup for vector::const_iterator in dissolve_multi::apply().
[SVN r61169]
2010-04-09 20:58:16 +00:00
Barend Gehrels
e1bf818b97 Removed quadratic behavior in split_rings, now one call to get_turns, sort turns, and split
[SVN r61121]
2010-04-07 12:00:15 +00:00
Barend Gehrels
9ddef70ee5 Replaced BOOST_FOREACH by normal loop
[SVN r61099]
2010-04-06 12:18:02 +00:00
Barend Gehrels
94aed71cbc fixed dissolve linestring->ring
[SVN r61039]
2010-04-04 12:29:35 +00:00
Barend Gehrels
765060bf5a Fixed multi_dissolve using new dissolver
Dissolve now outputs, normally, to a vector of the original geometry, or, in case of a multi, to its single type. Like union and intersection
Implemented multi_dissolve for not-connected linestrings
Fixed some accidental tabs from testcases

[SVN r61036]
2010-04-04 11:10:26 +00:00
Barend Gehrels
ebe3ff9f1c Buffer - update for gcc, abs->std::abs
[SVN r61027]
2010-04-03 20:33:14 +00:00
Barend Gehrels
c1f1e7b816 Many changes for / related to buffer
[SVN r61019]
2010-04-03 13:37:34 +00:00
Mateusz Loskot
79b7468411 Geometry: trivial updates to a few Doxygen comments - testing Doxygen output.
[SVN r60712]
2010-03-19 21:01:09 +00:00
Barend Gehrels
3483e972fc Added gcc-missing include file for multi/dissolve
[SVN r60648]
2010-03-16 12:44:08 +00:00
Barend Gehrels
403971c45b Updated multi/equals to new approach
[SVN r60647]
2010-03-16 12:41:17 +00:00
Barend Gehrels
7db23dc6f8 Moved sectionalize/get_section to detail/sections/
[SVN r60642]
2010-03-16 11:35:47 +00:00
Barend Gehrels
288c14fee0 Removed accidental tabs
[SVN r60641]
2010-03-16 11:01:49 +00:00
Barend Gehrels
31ce90bbc5 Updated monotonic sections, splitted sectionalize_range to sectionalize_part to be able to create sections on-the-fly
[SVN r60640]
2010-03-16 10:59:25 +00:00
Barend Gehrels
f85e60d04f Some stylistic changes, added optional SameScale paramter to mapper, added policy for remove_spikes
[SVN r60609]
2010-03-15 09:34:08 +00:00
Barend Gehrels
df92b1b557 Removed accidental tabs
[SVN r60596]
2010-03-14 23:01:47 +00:00
Barend Gehrels
0f58541268 Bugfix in equals (and removed tabs)
[SVN r60595]
2010-03-14 23:00:27 +00:00
Barend Gehrels
291f098d4b Small changes in layout
[SVN r60592]
2010-03-14 22:22:39 +00:00
Barend Gehrels
f3726574d4 Reworked equals
[SVN r60591]
2010-03-14 22:21:49 +00:00
Barend Gehrels
6f6864faef Updated dissolve ("dissolve" renamed to "dissolve_inserter", added free function "dissolve")
Added dissolve for multipolygons

[SVN r60578]
2010-03-14 14:30:06 +00:00
Barend Gehrels
8823fd19ce Multi uses same structure as reverse now, detail/modify
[SVN r60553]
2010-03-13 12:57:16 +00:00
Barend Gehrels
11a4c3d7d8 Added reverse for multi_linestring
Used generic "modify" for reverse

[SVN r60551]
2010-03-13 12:27:37 +00:00
Mateusz Loskot
40e623b954 Geometry: added Doxygen @file command and doxygenized comments in register/point.hpp, so Doxygen generates docs for it. Part of testing dox2boostbook for public macros.
[SVN r60519]
2010-03-12 14:22:04 +00:00
Barend Gehrels
a5e5785d40 Fix in circle
Added reverse for multi

[SVN r60342]
2010-03-08 09:56:24 +00:00
Barend Gehrels
e562723ea8 Fixed namespace ending parenthesis
[SVN r60341]
2010-03-08 09:52:23 +00:00
Mateusz Loskot
48937ecb80 Geometry: moved Index template parameter comments next to the right versions of get/set accessors. Use tripple /// for testing with new reference.{doxygen|.xsl} generator.
[SVN r60332]
2010-03-07 22:58:07 +00:00
Barend Gehrels
7abd0bb0aa Added difference and sym_difference
Added reverse conform std::reverse


[SVN r60001]
2010-02-28 21:20:07 +00:00
Barend Gehrels
1b8ad7edec Bugfix in visit_info
Added multi-line behaviour for svg_mapper
Added remove_spikes algorithm in extensions

[SVN r59960]
2010-02-27 14:02:20 +00:00
Mateusz Loskot
3748d38e35 Geometry: testing doxygen and quickbook integration with /// style comments and formatting of varios elements of synopsis.
[SVN r59851]
2010-02-23 00:31:24 +00:00
Barend Gehrels
7a85b4c1f9 Moved rejected to the operation level, now state of visited
This solves cases 56/57. 55 still to be solved

[SVN r59806]
2010-02-21 12:38:45 +00:00
Mateusz Loskot
85ad11676a Geometry: fixed comment in util/math.hpp
[SVN r59793]
2010-02-20 20:33:33 +00:00
Barend Gehrels
3b3d80ff0d Projection - header updates
[SVN r59789]
2010-02-20 19:17:00 +00:00
Barend Gehrels
c8e66e9f0b Fix pconic projection (by using proj trunk)
Removed most types from projections for compilation time
Style change in projection factory

[SVN r59788]
2010-02-20 19:09:17 +00:00
Barend Gehrels
c16c094b9e Updated svg_mapper
Updated 07_graph_route_example.cpp using svg_mapper now


[SVN r59787]
2010-02-20 17:28:53 +00:00
Barend Gehrels
ef4ab98d72 Added algorithms (a.o. buffer) and geometries/registration macros
[SVN r59783]
2010-02-20 16:40:13 +00:00
Barend Gehrels
ec65a47e2f Added extensions
[SVN r59779]
2010-02-20 16:24:09 +00:00
Barend Gehrels
5f6e73bc33 Silenced warnings
[SVN r59776]
2010-02-20 15:47:52 +00:00
Barend Gehrels
cead073c84 Added libs/geometry/test folder with many tests
[SVN r59773]
2010-02-20 15:03:37 +00:00
Barend Gehrels
d78f0db938 Fixed num_geometries include
[SVN r59764]
2010-02-20 11:03:02 +00:00
Barend Gehrels
9b2f85075f Added num_geometries, dissolve
Fixed self turn points, new template parameter

[SVN r59763]
2010-02-20 11:00:51 +00:00
Barend Gehrels
394bb3dea4 Replaced "return_if_found" by InterruptPolicy
[SVN r59684]
2010-02-14 21:51:08 +00:00
Barend Gehrels
6f78325fec Additions and some fixes
[SVN r59678]
2010-02-14 14:50:03 +00:00
Barend Gehrels
132fdd87ee Bugfix in assemble for multi
Bugfix in get_turns in one constellation
Other preparations for dissolve/buffer

[SVN r59593]
2010-02-09 09:24:02 +00:00
Barend Gehrels
8f7e3593e9 Boost.Geometry, small update
[SVN r59384]
2010-01-31 21:27:11 +00:00
Barend Gehrels
16df4ca38c Update copyright + include files
[SVN r59382]
2010-01-31 21:13:43 +00:00
Barend Gehrels
eef963ea3e First update after acceptance, renamed to Boost.Geometry, revised intersections, plus more changes
[SVN r59381]
2010-01-31 21:11:12 +00:00