Commit Graph

2924 Commits

Author SHA1 Message Date
barendgehrels
68648da969 [test][buffer] Don't leave envelope uninitialized if input geometry is empty
(this is a result of new envelope calculation)
2015-06-03 11:54:48 +02:00
barendgehrels
3b0529d8d9 [test][buffer] Add new test testing boost::geometry::buffer
(the detailed tests do test buffer_inserter)
2015-06-03 11:54:03 +02:00
Adam Wulkiewicz
1ef54bb437 Merge pull request #287 from awulkiew/fix/area_huiller
Fix/area huiller
2015-06-03 09:27:05 +02:00
Adam Wulkiewicz
66e27188c1 Merge pull request #201 from awulkiew/feature/geographic
Feature: New geographic distance and side strategies
2015-06-03 09:12:07 +02:00
Menelaos Karavelas
1e576d3a30 [test][algorithms][is_empty] add unit test for algorithm is_empty 2015-06-03 01:06:01 +03:00
Menelaos Karavelas
d117ade1f7 [test][algorithms][envelope][expand] move common code to separate file; add test cases involving
geometries with height; add test cases for geometries in the geographic coordinate system;
2015-06-02 00:16:37 +03:00
Menelaos Karavelas
d9a3e0b0ce [test][test geometries] redefine local types to avoid MSVC compiler failures reported in test matrix 2015-06-01 19:44:43 +03:00
Menelaos Karavelas
f48f47c4cf [test][iterators][point iterator][segment iterator] suppress unused local typedef warnings 2015-06-01 19:43:44 +03:00
Menelaos Karavelas
92a02108de Merge pull request #298 from mkaravel/fix/ticket_11346
Fix for Boost Trac Ticket #11346
2015-05-30 19:35:11 +03:00
Adam Wulkiewicz
6a5e591694 [test] Disable testing of point_concept dir, tests were moved to concepts dir. 2015-05-30 01:57:07 +02:00
Adam Wulkiewicz
d45f404edc [test][iterators] Rename the tests - add "iterators" prefix. 2015-05-30 01:49:51 +02:00
Adam Wulkiewicz
b64b9b789e [test][concepts] Move point_concept tests, rename the tests, add "concepts" prefix. 2015-05-30 01:43:18 +02:00
Adam Wulkiewicz
7773f04541 [test][algorithms][maximum_gap] Remove the use of Boost.Assign.
Do not use Boost.Assign nor Boost.Tuple in the test.
This should fix the compilation error on GCC 4.4 c++0x.
2015-05-30 01:16:13 +02:00
barendgehrels
11d174d60e [buffer][test] re-comment buffer_countries 2015-05-29 19:59:54 +02:00
barendgehrels
b849991dcd [buffer][test] renamed testcases 2015-05-29 19:58:42 +02:00
barendgehrels
525613b461 [buffer][test] renamed testfiles 2015-05-29 19:53:11 +02:00
Adam Wulkiewicz
76455f347b Merge branch 'develop' into feature/geographic
Conflicts:
	test/strategies/Jamfile.v2
2015-05-29 16:29:50 +02:00
Adam Wulkiewicz
4f0be0753c [test][strategies] Rename the tests - add "strategies" prefix. 2015-05-29 16:27:36 +02:00
Adam Wulkiewicz
6e823025e0 [test][relops] Rename the tests. 2015-05-29 00:00:22 +02:00
Adam Wulkiewicz
482d9e7c9b [test][policies] Rename the tests. 2015-05-28 23:45:05 +02:00
Adam Wulkiewicz
6d53651621 [test][geometries] Rename the tests. 2015-05-28 23:38:55 +02:00
Adam Wulkiewicz
cc6621b9e5 [test][arithmetic] Rename the tests. 2015-05-28 23:31:30 +02:00
Adam Wulkiewicz
b0b32d903e [test][util] Rename the tests. 2015-05-28 23:15:07 +02:00
Adam Wulkiewicz
198037a0e2 [test][io] Rename the tests. 2015-05-28 23:08:01 +02:00
Adam Wulkiewicz
a4d53e9b60 [test][core] Rename the tests. 2015-05-28 23:07:24 +02:00
Menelaos Karavelas
c844000d0e Merge pull request #289 from mkaravel/feature/envelope_and_expand_for_spherical_cs
New feature: envelope and expand for spherical equatorial coordinate system
2015-05-28 21:04:06 +03:00
Menelaos Karavelas
2080f49d07 [test][algorithms][intersection] add unit test for intersection(areal, areal, linear) 2015-05-28 11:56:21 +03:00
Menelaos Karavelas
a5f0a565bc [test][algorithms][intersection] enable get_turns invariance checking only for
linear/linear geometry combinations
2015-05-28 11:53:26 +03:00
Menelaos Karavelas
6054352dd1 [test][algorithms][set operations L/L] apply coding rules 2015-05-28 11:43:28 +03:00
Menelaos Karavelas
424ba7431c [test][iterators][point iterator][segment iterator] apply coding rules;
add test cases for geometries whose point type is a pointer and for geometries
whose range iterators return copies of elements rather than references
2015-05-28 09:40:45 +03:00
Menelaos Karavelas
cf9a691345 [test][test geometries] add implementation of multipoint and linestring
whose iterators return copies (rather than references) to elements
2015-05-28 09:38:11 +03:00
Adam Wulkiewicz
70acee4e33 [test][strategies] Remove unneeded includes - obsolete de9im intersection policy. 2015-05-27 15:11:28 +02:00
Adam Wulkiewicz
abdf2a2255 [test][iterators] Add missing include (for make_zero). 2015-05-27 14:56:22 +02:00
barendgehrels
6d9875dda8 [test] fix __gcc__ because that does not exist 2015-05-27 13:11:21 +02:00
barendgehrels
cdf014e35d [buffer] propagate error information from strategy to buffer inserter 2015-05-27 10:56:56 +02:00
Adam Wulkiewicz
593521980a Merge branch 'develop' into feature/relate
Conflicts:
	doc/release_notes.qbk
2015-05-26 17:26:38 +02:00
Adam Wulkiewicz
1df894c44a [centroid][test] Update copyrights. 2015-05-26 00:44:56 +02:00
Adam Wulkiewicz
9f5608d5e9 [test][centroid] Add test for very long Linestring for which the centroid cannot be calculated. 2015-05-25 15:25:30 +02:00
Adam Wulkiewicz
9aa2e642ee [test][math] Add tests for math::equals(). 2015-05-24 14:27:22 +02:00
barendgehrels
ad088fcf02 [buffer] stop in case of numeric errors in side strategy 2015-05-24 11:22:45 +02:00
barendgehrels
62fa2ccc59 [buffer][test] fix commented section (distance_left) 2015-05-23 23:46:14 +02:00
barendgehrels
1eacb2c096 [buffer][test] fix alternate box setting 2015-05-23 23:45:48 +02:00
barendgehrels
5370e2494d [buffer][math] check for inf when checking on equals
This fixes an error in buffer for geometries with extreme coordinate differences
(though the generated buffer is not correct then)
2015-05-23 23:45:24 +02:00
Menelaos Karavelas
2deae95273 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/envelope_and_expand_for_spherical_cs 2015-05-22 10:06:35 +03:00
Menelaos Karavelas
24c394454f [test][algorithms][expand] rearrange and cleanup code; allow for two possible MBRs as output 2015-05-22 09:48:29 +03:00
Menelaos Karavelas
6c77395443 [test][algorithms][envelope] rearrange and clean up code 2015-05-22 09:48:04 +03:00
Menelaos Karavelas
cc9717b9db [test][algorithms][envelope][expand] deactivate/modify test cases where latitude needs to
be normalized; make use of math::r2d<>() and math::d2r<>() constants;
2015-05-20 11:17:09 +03:00
Menelaos Karavelas
5ecc576bf2 [test][algorithms][equals] deactivate test cases where latitude needs to be normalized as well;
add test cases with points on the spheroid that also have a third coordinate (possibly height);
2015-05-20 11:15:44 +03:00
Adam Wulkiewicz
395d7b89f9 [test][relate] Add additional tests for de9im::mask. 2015-05-18 19:11:35 +02:00
Adam Wulkiewicz
bec216923f [test][buffer] Fix compilation error - BOOST_MESSAGE unknown. 2015-05-15 13:25:52 +02:00
Menelaos Karavelas
e66f255acf Merge branch 'develop' of https://github.com/boostorg/geometry into feature/envelope_and_expand_for_spherical_cs 2015-05-14 12:23:19 +03:00
Barend Gehrels
9d9ee614a1 Merge branch 'develop' into feature/buffer 2015-05-13 18:01:32 +02:00
Adam Wulkiewicz
855d5d9c2f [test][relate] Rename test file relate_pointlike_xxx.cpp to relate_pointlike_geometry.cpp 2015-05-13 17:53:58 +02:00
Adam Wulkiewicz
dac2fe1d5f [test][strategies] Fix compilation errors after merging - comment out unused lines. 2015-05-13 15:44:05 +02:00
Adam Wulkiewicz
f94e51ebe3 Merge branch 'develop' into feature/geographic
Conflicts:
	test/strategies/vincenty.cpp
2015-05-13 15:33:46 +02:00
Adam Wulkiewicz
dd2ff33b52 Merge pull request #292 from mkaravel/fix/degree_radian_converter
Fix degree_radian_converter
2015-05-13 14:12:24 +02:00
Adam Wulkiewicz
6029a4cd1b Merge pull request #271 from mkaravel/feature/disjoint_point_point_on_spheroid
New feature: disjoint(point, point) for points on a spheroid
2015-05-13 14:11:35 +02:00
Barend Gehrels
d881d5811d [buffer][test] add comment 2015-05-13 13:16:40 +02:00
Barend Gehrels
6158064410 [buffer] performance optimization: set the center point for buffers around
(multi)points, calculate min/max radius
and (when checking turn w.r.t. piece) check turn distance to center,
in most cases leave early

Including unit test. For multipoint_b_500k this increases performance with
a factor 6 (340 seconds -> 55 seconds)

Note, this is done for buffers around points but could be done for other
geometry types too (using e.g. centroid)
2015-05-13 13:08:22 +02:00
Barend Gehrels
61d3ae6b78 [buffer] performance improvement for point-pieces:
first check if it is in range

Including adaption of unit tests
Performance goes from 24 seconds (with side_of_intersection)
or 14 seconds (without) to 10 seconds (with side_of_intersection)
2015-05-13 10:58:07 +02:00
Barend Gehrels
b546a6fa21 Merge branch 'develop' into feature/buffer 2015-05-13 10:14:10 +02:00
Menelaos Karavelas
31391fe166 [test][algorithms][intersection] add test cases for intersection(linestring, box)
and intersection(multi_linestring, box)
2015-05-11 13:38:26 +03:00
Menelaos Karavelas
535a7049f9 [geometry] replace uses of constants math::d2r and math::r2d by corresponding free functions 2015-05-08 12:23:23 +03:00
Barend Gehrels
45903815e7 [test] add extra test for side_of_intersection 2015-05-05 16:47:04 +02:00
Barend Gehrels
ff1f2ab05c [buffer][test] by default turn off labels for within turns 2015-05-05 16:43:23 +02:00
Barend Gehrels
d7a25934c3 [buffer][test] exclude case q2 for new approach.
As mailed to Adam: "But that is not related to the new method
- it is only by chance that it now fails and earlier succeeded.
This is a known problem which I still need to solve:
if two IP's are exactly on top of each other,
where a u/u turn is also involved, it can fail
(depending on sort-order, so depending on configuration)."
2015-05-05 16:42:57 +02:00
Barend Gehrels
c5ef4f912d [buffer][fix] fix errors in multi_point cases
by using side_of_intersection in point_piece
2015-05-05 16:01:08 +02:00
Barend Gehrels
01d324288b [buffer][test] add option to buffer per turn
also some other related changes in svg creation
2015-05-05 15:59:31 +02:00
Barend Gehrels
73394e99eb [buffer][test] use round points for multi_points (not relevant besides
creating the rescale policy and svgs)
2015-05-05 15:57:44 +02:00
Barend Gehrels
df329d8c44 [buffer][test] extract svg code from test_buffer into test_buffer_svg 2015-05-05 15:56:46 +02:00
Barend Gehrels
034a5461f0 Merge branch 'develop' into feature/buffer 2015-05-05 10:08:49 +02:00
Menelaos Karavelas
d5522eaa14 [test][algorithms][maximum gap] add unit test for maximum gap algorithms for intervals 2015-05-04 11:07:45 +03:00
Menelaos Karavelas
5525a492a3 [test][algorithms][envelope][expand] include unit new tests for envelope and
expand in Jamfile
2015-05-04 10:27:22 +03:00
Menelaos Karavelas
1220769086 [test][algorithms][envelope][spherical] add unit test for envelope(geometry, mbr)
for geometries in the spherical equatorial coordinate system
2015-05-04 10:26:30 +03:00
Menelaos Karavelas
5c58f2e767 [test][algorithms][expand][spherical] add unit test for expand(box, geometry)
for boxes and geometries in the spherical equatorial coordinate system
2015-05-04 10:26:17 +03:00
Adam Wulkiewicz
178b0050d7 Merge pull request #257 from mkaravel/feature/set_ops_pointlike_linear
New feature: intersection and difference for pointlike/linear geometries
2015-05-02 04:05:18 +02:00
Adam Wulkiewicz
c3e9727247 [test][relate] Add the tests for run-time mask. 2015-05-01 17:28:28 +02:00
Adam Wulkiewicz
b05ccb660b [test][relate] Add tests for variants. 2015-05-01 02:22:14 +02:00
Adam Wulkiewicz
de60ed8ac3 [test][relate] Update the tests to reflect the changes in the code. 2015-05-01 01:33:39 +02:00
Adam Wulkiewicz
35099ca82f [test][relate] Adjust the test according to the changes in relate().
Moved/renamed function, added namespaces.
2015-04-30 16:49:03 +02:00
Adam Wulkiewicz
0d58a3831b [test][area] Add more tests for spherical polygons. 2015-04-29 03:26:12 +02:00
Adam Wulkiewicz
51037d1246 [test][centroid] Add tests for Geom using INT coords and centroid using FP. 2015-04-24 17:22:54 +02:00
Menelaos Karavelas
ee8d0ea335 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/set_ops_pointlike_linear 2015-04-23 10:13:54 +03:00
Menelaos Karavelas
caf2dc7951 [test][algorithms][disjoint] add a few more test cases for disjoint(point, segment) 2015-04-23 10:06:00 +03:00
Menelaos Karavelas
be910c04e2 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint
Conflicts:
	doc/release_notes.qbk
2015-04-23 09:47:46 +03:00
Adam Wulkiewicz
0851688794 [test][intersection] Fix uninitialized variable usage. 2015-04-22 03:04:05 +02:00
Adam Wulkiewicz
ff267b8c50 [test][centroid] Fix uninitialized variable usage reported by asan. 2015-04-21 21:05:23 +02:00
Barend Gehrels
ca36bc7785 [buffer][test] enable two tests which are now OK for SIDE_OF_INTERSECTION approach 2015-04-12 17:37:00 +02:00
Barend Gehrels
e5bd7daa5f Merge branch 'develop' into feature/buffer 2015-04-12 16:58:09 +02:00
Adam Wulkiewicz
716f4fe467 Merge pull request #279 from awulkiew/feature/models_upgrades
Feature/models upgrades
2015-04-12 04:55:00 +02:00
Adam Wulkiewicz
f6a95d9229 [test][buffer] Add failing test for MultiLinestring. 2015-04-10 14:21:30 +02:00
Adam Wulkiewicz
c086babbd4 [test][geometries] Remove unneeded define enabling experimental support for std::initializer_list. 2015-04-09 16:16:29 +02:00
Barend Gehrels
9e69537ede [side] update side of intersection with fallback point,
and use multi_precision point to avoid large multiplications and overflow
2015-04-08 17:28:50 +02:00
Barend Gehrels
b1168415c7 [buffer] add side_of_intersection (still with conditional) 2015-04-08 17:25:53 +02:00
Barend Gehrels
0722e4ba13 [buffer][is_convex] add (non-complete) is_convex algorithm, and
convex property for buffered pieces
Including unit test.
2015-04-08 12:15:20 +02:00
Adam Wulkiewicz
2b11233f00 Merge pull request #264 from mkaravel/fix/remove_deprecated_include_paths
Fix: remove deprecated include paths
2015-04-06 01:32:39 +02:00
Adam Wulkiewicz
5feb4afe70 Merge pull request #256 from mkaravel/fix/polish_set_ops_pl_pl_tests
Unit tests for set operations of pointlike/pointlike geometries
2015-04-05 02:31:35 +02:00
Barend Gehrels
0db855fc6b [test][buffer] Update ticket #11162 expectations, which will be fixed
if pending changes are committed (side_of_intersection)
2015-04-01 22:20:12 +02:00
Adam Wulkiewicz
292cbb489b [test][buffer] Add test for the failing linestring case. 2015-04-01 15:49:34 +02:00
Menelaos Karavelas
7658231aa4 Merge branch 'develop' of https://github.com/boostorg/geometry into fix/remove_deprecated_include_paths
Conflicts:
	test/algorithms/set_operations/difference/difference.cpp
2015-03-31 14:30:04 +03:00
Menelaos Karavelas
71f4642eb3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint_point_point_on_spheroid
Conflicts:
	test/algorithms/relational_operations/Jamfile.v2
2015-03-31 13:39:57 +03:00
Menelaos Karavelas
ba9117b37e [test][util][promote integral] guard use of int128 and uint128 by the macro 2015-03-30 17:44:05 +03:00
Barend Gehrels
e56561481e [test] Added define to avoid default usage of multiprecision 2015-03-29 00:38:18 +01:00
Adam Wulkiewicz
c0f4b05806 [test][intersection] Disable the test for ticket 10868. 2015-03-28 15:07:02 +01:00
Adam Wulkiewicz
551507ac47 [test][util] Prevent min/max macro substitution for numeric_limits min/max. 2015-03-28 02:47:20 +01:00
Menelaos Karavelas
1b92041500 [test][util][promote integral] (re-)implement bit_size locally in the unit test 2015-03-28 03:18:59 +02:00
Menelaos Karavelas
3df65c1bd4 [test][util][promote integral] measure all sizes in bits rather than a mixture
of bits and bytes; add a few more tests regarding max and min values;
2015-03-28 01:32:24 +02:00
Menelaos Karavelas
27e7ad6aa6 [test][util][promote integral] update unit test to account for unsigned long long and uint128 2015-03-27 22:46:34 +02:00
Menelaos Karavelas
3154673657 [test][util][promote integral] make computation of minimum required size more
precise; add testing for unsigned types;
2015-03-27 11:54:14 +02:00
Menelaos Karavelas
eb0dfd1b5d [test][util][promote integral] add tests for the unsigned types:
unsigned char, unsigned short, unsigned int, unsigned long, std::size_t;
add test for the type signed char;
2015-03-26 18:51:11 +02:00
Menelaos Karavelas
3e5f6db4a7 [test][algorithms][intersection] add missing include boost/config.hpp;
add better testing for the existence of int64_t;
2015-03-26 14:25:47 +02:00
Menelaos Karavelas
001a73127a [test][string_from_type] guard specialization for boost::long_long_type with
the BOOST_HAS_LONG_LONG macro; add specializations for long and int64_t (the
latter guarded by a macro) and modify the return values for long and
boost::long_long_type to match those returned by typeid(type).name() by clang++ and g++;
2015-03-26 14:05:48 +02:00
Menelaos Karavelas
0c891c7b8a [test][algorithms][intersection] add missing include for BOOST_GEOMETRY_CONDITION;
add testing for ticket #10868 with long and boost::long_long_type as coordinate type;
2015-03-26 14:04:30 +02:00
Menelaos Karavelas
e3f30bbc15 [test][algorithms][intersection] add testing for the test case in Boost Trac ticket #10868 2015-03-26 13:50:39 +02:00
Menelaos Karavelas
37baa56009 [test][algorithms][difference] add tests for the test cases in Boost Trac
tickets #10658 and #11121; modified testing of ticket #10835 by using the
data from overlay_cases.hpp
2015-03-26 13:40:09 +02:00
Menelaos Karavelas
92d513243d [test][algorithms][overlay] add test cases from Boost Trac tickets #10658, #10835, #10868 and #11121 2015-03-26 13:38:08 +02:00
Menelaos Karavelas
15e83e1a19 [test][util][promote integral] uncomment commented include;
make test for custom integral types always active;
2015-03-26 11:20:13 +02:00
Menelaos Karavelas
6f37921db3 [test][algorithms][difference] update results for test case "ggl_list_20120717_volker" 2015-03-26 11:13:58 +02:00
Menelaos Karavelas
b20a6bb209 [test][algorithms][difference] fix output for test case for ticket #10835 2015-03-26 11:07:08 +02:00
Menelaos Karavelas
a5ec906e6f [test][algorithms][difference] add unit test with the data reported in ticket #10835 2015-03-26 08:47:44 +02:00
Menelaos Karavelas
b87c59375a [test][util][promote integral] add unit test for the promote_integral meta-function 2015-03-26 08:45:45 +02:00
Barend Gehrels
06a077aa1e Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-03-25 12:24:52 +01:00
Barend Gehrels
b3d7f8c82a [test][buffer] Add % difference to verify results more conveniently 2015-03-25 12:23:20 +01:00
Barend Gehrels
a5535e0f39 [test][buffer] Fix expected values for country_buffer, which were not yet
updated after commit
64ee58ed46
(Fix calculation of the number of points in round buffer)

New areas are changed max 0.2% w.r.t. old areas, and are in general
closer to what PostGIS gives
2015-03-25 12:22:24 +01:00
Menelaos Karavelas
2ecf727c22 [test][strategies][douglas peucker] print both expected and detected output using the same format 2015-03-24 10:01:41 +02:00
Menelaos Karavelas
e191a5f562 [test][strategies][douglas peucker] make case ID argument the first argument of tester;
include a label in the case id;
2015-03-24 09:50:43 +02:00
Adam Wulkiewicz
4ecb443891 [test] Add /bigobj compiler flag for all tests run on windows with intel compiler. 2015-03-24 01:25:50 +01:00
Barend Gehrels
90fcd83f30 [test] Remove bigobj flag from Jamfiles
now that it is defined in the upper level
2015-03-22 22:58:24 +01:00
Adam Wulkiewicz
e8fafc942d Merge pull request #272 from awulkiew/fix/cart_intersect2
Fix for cart_intersect and side_by_triangle - inconsistencies on MinGW and more (robustness)
2015-03-22 14:44:33 +01:00
Adam Wulkiewicz
37429b3234 [test] Fix select_most_precise test for Android.
On this platform sizeof(long double) == sizeof(double).
Conditionally test the combination of those types only if long double is
greater.
2015-03-20 18:04:50 +01:00
Barend Gehrels
c11f58f08d [test] add bigobj for all tests on MSVC
This should fix new failures on wkt, point_on_surface, assemble. get_turns
and several others, which appear as of March 2015 on MSVC 14 and 11 now
2015-03-20 13:49:09 +01:00
Adam Wulkiewicz
6fd35a3fb8 [test][util] Generate custom error message in select_most_precise test. 2015-03-18 17:25:57 +01:00
Adam Wulkiewicz
f7cc47bb30 [test][get_turns] Add test file for Areal/Areal. 2015-03-18 14:16:02 +01:00
Adam Wulkiewicz
a239fb629a [test][get_turns] Add additional output for debugging purposes, enabled with macro definition. 2015-03-16 17:28:12 +01:00
Adam Wulkiewicz
059142283d [test] Rename occurances of CS because this name is used as a macro on Solaris. 2015-03-14 05:10:58 +01:00
Adam Wulkiewicz
c72e6812be [test][difference] Enable the tests failing before the recent changes in cart_intersect. 2015-03-14 04:09:08 +01:00
Adam Wulkiewicz
4be351e433 [test][get_turns] Update the tests, enable previously failing ones.
Instead of expecting invalid results, disable 2 still failing tests.
2015-03-14 04:06:12 +01:00
Menelaos Karavelas
0570471cf8 [test][algorithms][equals][spheroid] add unit test to Jamfile 2015-03-14 01:28:23 +02:00
Menelaos Karavelas
042e907fcb [test][algorithms][equals] add unit test for testing equality of points
and segments on a spheroid (also tests disjoint(point, point) for points
on a spheroid)
2015-03-14 01:25:03 +02:00
Menelaos Karavelas
4d544287a3 [test][algorithms][set operations] update deprecated includes referring to
the include/boost/geometry/multi/ directory
2015-03-12 10:47:28 +02:00
Menelaos Karavelas
38c2869fd3 [test][algorithms][within] remove deprecated includes referring to the
include/boost/geometry/multi/ directory
2015-03-12 10:19:14 +02:00
Menelaos Karavelas
3f2c06c9dd [test] remove deprecated include referring to the
include/boost/geometry/multi/ directory
2015-03-12 02:21:54 +02:00
Menelaos Karavelas
63ff5bde6a [test][iterators] remove deprecated includes referring to the
include/boost/geometry/multi/ directory
2015-03-12 02:20:47 +02:00
Menelaos Karavelas
63e87041da [test][io] remove deprecated includes referring to the
include/boost/geometry/multi/ directory; also cleanup includes a bit;
2015-03-12 02:19:42 +02:00
Menelaos Karavelas
4e8abc3f80 [test][robustness] remove deprecated includes referring to the
include/boost/geometry/multi/ directory
2015-03-12 02:15:11 +02:00
Menelaos Karavelas
6f0b6a19e2 [test][geometries] remove deprecated includes referring to the
include/boost/geometry/multi/ directory
2015-03-12 02:11:28 +02:00
Menelaos Karavelas
29c460b546 [test][algorithms] remove deprecated includes referring to the
include/boost/geometry/multi/ directory; polish and simplify some includes;
2015-03-12 02:10:14 +02:00
Adam Wulkiewicz
422a093ae8 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-03-11 19:52:04 +01:00
Adam Wulkiewicz
d8263e54f2 [test][get_turns] Add tests failing for MinGW guarded with #ifdef. 2015-03-11 19:51:48 +01:00
Adam Wulkiewicz
8025793aa4 Merge pull request #263 from mkaravel/fix/geometry_test_common
Fix: allow geometry test common to be included in all unit tests
2015-03-11 19:48:56 +01:00
Barend Gehrels
3077cc89b9 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-03-11 19:07:32 +01:00
Barend Gehrels
65f57b1947 [test] move as_range to algorithms/detail 2015-03-11 19:07:16 +01:00
Adam Wulkiewicz
4a58863dcc Merge pull request #262 from mkaravel/fix/remove_obsolete_includes
Fix: remove obsolete includes referring to the "multi"directory
2015-03-11 19:05:05 +01:00
Menelaos Karavelas
09a335d5ea [test][geometry] guard the inclusion of Boost.Test related files with
the BOOST_TEST_MODULE macro; this way geometry_test_common.hpp can be included
in tests that proceed with unit testing using other Boost.Test utilities
(like some of the distance and set-ops tests, validity and simplicity)
2015-03-11 19:54:57 +02:00
Menelaos Karavelas
099388c5ae [test][algorithms][equals] remove obsolete includes referring to the
"multi" directory
2015-03-11 19:44:39 +02:00
Menelaos Karavelas
556637448f [test][algorithms][distance] add test case where distance computed is a NaN 2015-03-11 10:51:03 +02:00
Menelaos Karavelas
a33fb12f2e [test][algorithms][distance] add test case where distance overflows 2015-03-11 10:50:41 +02:00
Menelaos Karavelas
c519fb80e3 [test][algorithms][distance] remove last argument in tester calls (not needed) 2015-03-11 10:49:55 +02:00
Menelaos Karavelas
bb25a857ee [test][algorithms][distance] update copyright year 2015-03-11 10:49:18 +02:00
Menelaos Karavelas
c8d6269b09 [test][algorithms][distance] polish and update code; re-factor some parts;
allow testing against test cases where distance computed is not a finite
floating-point value;
2015-03-11 10:48:46 +02:00
Menelaos Karavelas
9c860772ff [test][algorithms][set operations] update Jamfiles with the new unit tests 2015-03-10 16:52:14 +02:00
Menelaos Karavelas
a4b062583c [test][algorithms][set operations] add unit tests for intersection and difference
for pointlike/linear geometries
2015-03-10 16:50:38 +02:00
Menelaos Karavelas
ec5efe3799 [test][algorithms][set operations][pointlike] polish tests of set operations
for pointlike/pointlike geometries (make the case ID the first argument of the tester);
modify the common set operations test code so that it can be applied to set operations
of pointlike/linear geometries as well;
2015-03-10 16:04:31 +02:00
Menelaos Karavelas
442223945f [test][algorithms][disjoint] enable test cases for multipoint/linear geometries;
modify existing duplicate test case and add new test cases for multipoint/linear;
2015-03-09 17:46:32 +02:00
Adam Wulkiewicz
e6d4997061 Merge pull request #253 from sdebionne/fix/range_test
Add tests for iterator_range<const pointer> and pair<const pointer>
2015-03-09 13:01:18 +01:00
Samuel Debionne
e969a4c33a [test][util][range] Add tests for const pointer
Add tests for range iterator_range<const pointer> and pair<const
pointer>
2015-03-09 11:28:31 +01:00
Barend Gehrels
7942ece158 [buffer][test] remove redundant decimals 2015-03-08 18:16:28 +01:00
Barend Gehrels
64ee58ed46 [buffer] Fix calculation of the number of points. For an angle of 125 or more,
no points in between were generated, which was erroneous.
Thanks to Menelaos for spotting and Adam for the calculation

This changes some of the unit test results, because in some cases a point in between
is generated now, creating a larger polygon
2015-03-08 18:08:43 +01:00
Adam Wulkiewicz
8bd9144474 [test][util][range] Add tests for iterator_range<pointer> and pair<pointer>. 2015-03-04 14:21:50 +01:00
Barend Gehrels
6cac10bec6 [test][buffer] fix last tests which were done with custom side. Which explains
the "failing" test which were actually succeeding. Naming is now more clear
2015-03-04 13:15:42 +01:00
Barend Gehrels
fbd880a0c7 [test][buffer] Only test symmetric case in release mode 2015-03-04 12:33:03 +01:00
Barend Gehrels
2e9eedd4ea [buffer][test] Add cases for various miter limits 2015-03-04 12:31:59 +01:00
Barend Gehrels
ed2f52a16d [buffer] Fix end caps with odd number of points, they were not closed
Including unit test. Issue was found by Oracle/MySQL testing
2015-03-04 11:40:44 +01:00
Barend Gehrels
f74180b084 [buffer] Enhance turn-in-piece for pieces around points. They now
make use of monotonic sections, and get special treatment because there
are no helper segments, basically the whole procedure is different

This can make buffers around points 3 times faster (if the buffered ring contains many points)
2015-03-01 14:08:16 +01:00
Barend Gehrels
4d4c98f213 [test] add comment 2015-02-28 13:07:08 +01:00
Barend Gehrels
4652e56d40 [buffer][test] test tests with many points only in release mode 2015-02-28 13:06:49 +01:00
Barend Gehrels
ad24b1001f [test] Add define for debug/release mode (now recognized by gcc/clang/msvc) 2015-02-28 13:06:21 +01:00
Barend Gehrels
32175d483b [buffer][test] increase tolerance of tests added today, to support
slightly varying results on different compilers
2015-02-25 22:56:17 +01:00
Barend Gehrels
3a5e2c20c4 [buffer] improve performance for multi_point with many generated points
by now using monotonic sections and calculate turns over overlapping sections only
2015-02-25 17:50:25 +01:00
Barend Gehrels
a18c0c2ad1 [sectionalize] let sectionalize_part make use of iterators instead of range,
for next commit where that is used for buffer, and range is inconvenient
2015-02-25 17:33:16 +01:00
Barend Gehrels
a7b82e7dd0 Merge pull request #229 from mkaravel/feature/is_valid_reason
New algorithm: is valid with reason
2015-02-25 09:26:30 +01:00
Menelaos Karavelas
cebcabb1d4 [test][algorithms][is_valid] update unit test code for is_valid to use
the newly introduced free functions;
2015-02-24 15:40:29 +02:00
Menelaos Karavelas
ef9069d216 [test][algorithms][is_valid] rename is_valid_reason unit test to is_valid_failure;
update code in unit test to reflect this change;
2015-02-24 15:37:12 +02:00
Menelaos Karavelas
f70d234426 [algorithms][is_valid] pass to the policy a boolean value indicating whether
the geometry is linear or not (if not linear, it is an areal geometry)
2015-02-24 15:26:51 +02:00
Menelaos Karavelas
e7dedcfbfe [algorithms][is_valid] remove AllowDuplicates template parameter at dispatch level
(the visitor is now responsible to determining the behavior)
2015-02-24 01:54:31 +02:00
Menelaos Karavelas
8ece8a827e [test][algorithms][is_valid] rename is_valid_null_policy to is_valid_default_policy 2015-02-24 01:25:08 +02:00
Menelaos Karavelas
cfb108bb1c [test][algorithms][is_valid_reason] change failure_type_policy's apply
methods to return a boolean (according to newest design for policies)
2015-02-24 01:24:08 +02:00
Menelaos Karavelas
88318ab6f7 [test][algorithms][is_valid] update declaration of policies (they are now templated classes) 2015-02-24 01:01:22 +02:00
Menelaos Karavelas
31ecf743e8 [test][algorithms][is_valid_reason] update enum values names 2015-02-21 20:28:47 +02:00
Menelaos Karavelas
0987bc93c7 [test][algorithms][is_valid_reason] update unit test due to change
in name of failure value related to wrong topological dimension
2015-02-21 16:33:37 +02:00
Menelaos Karavelas
e2f9d07695 [test][algorithms][is_valid_reason] add unit test for new algorithm is_valid_reason 2015-02-20 10:36:56 +02:00
Menelaos Karavelas
f3464e4dd9 [test][algorithms][is_valid] clean-up code; add a few more test cases;
declare free functions as inline (if not already declared as such);
2015-02-20 09:53:16 +02:00
Adam Wulkiewicz
b15f790052 Merge pull request #225 from awulkiew/fix/cart_intersect
Fix/cart intersect
2015-02-20 00:53:51 +01:00
Menelaos Karavelas
ae28913d8c [test][algorithms][is_valid][is_valid_reason] update validity testing
to account for the design changes regarding the visit policy; add basic
testing for is_valid_reason;
2015-02-19 23:24:24 +02:00
Adam Wulkiewicz
13f55b5094 [test][get_turns] Add a L/L case - collinear, opposite, very long segment. 2015-02-19 17:15:27 +01:00
Menelaos Karavelas
6e6867ed43 [test][algorithms][sym_difference] rename duplicate case id so that it is unique 2015-02-19 10:45:43 +02:00
Barend Gehrels
5a23867aaa Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-02-18 15:16:45 +01:00
Barend Gehrels
845611e251 [buffer][test] add tests for multi-polygons with inner rings and large distances
Also tests are added where the generated deflated ring around an interior ring
is located exactly within another interior ring
2015-02-18 15:12:39 +01:00
Barend Gehrels
b0fdfc5d7a [buffer] fix erroneous rings for deflated interior rings which are untouched 2015-02-18 15:10:06 +01:00
Adam Wulkiewicz
d885b66ada Merge pull request #226 from mkaravel/fix/test_is_valid_add_case_ids
Fix/test is valid add case ids
2015-02-18 14:37:09 +01:00
Barend Gehrels
2201ebf86e [buffer] fix the case where a side was skipped because detected as equal, followed
by an end-cap. This caused further problems. Detection of empty sides is now delegated
to the strategy
2015-02-18 12:20:05 +01:00
Barend Gehrels
3c2a450742 [buffer][test] add testcase for crossing multi-linestring
which was fixed already by previous commit (flat-ends)
2015-02-18 10:32:04 +01:00
Barend Gehrels
6c5cb48211 [buffer][fix] avoid false detection of turn in piece: turns cannot be located
in flat end pieces or in concave pieces
2015-02-18 10:20:26 +01:00
Menelaos Karavelas
4ab7a4fcd1 [test][algorithms][is_valid] allow WKTs to be passed directly to the tester;
make the case ID the first argument of the tester;
2015-02-18 11:16:53 +02:00
Adam Wulkiewicz
bd6e07797f [test][buffer] Add tests for Areal and negative distance (failing for polygon with hole and big distance). 2015-02-18 00:35:29 +01:00
Adam Wulkiewicz
7f9b2f86f8 [test][buffer] Add Linear cases failing for end_flat and big distance. 2015-02-17 21:15:39 +01:00
Menelaos Karavelas
a8130faa8a [test][strategies][douglas peucker] add more test cases 2015-02-17 16:09:25 +02:00
Menelaos Karavelas
a3a531f30e [test][algorithms][is_valid] add case ID to east test cases; add test cases provided
by Barend Gehrels coming from buffer computations;
2015-02-17 08:25:45 +02:00
Menelaos Karavelas
e70d60aa71 [test][algorithms][is_valid] add support for case ID string per test case 2015-02-17 08:25:31 +02:00
Adam Wulkiewicz
543acca243 [test][buffer] Add MultiLinestring tests causing an assertion failure. 2015-02-16 18:13:19 +01:00
Adam Wulkiewicz
7f38bd2468 [test][sym_difference] Replace BOOST_ASSERT with BOOST_CHECK_MESSAGE. 2015-02-14 01:19:43 +01:00
Adam Wulkiewicz
a5043f96ad [test][disjoint] Add/enable test cases for L/L. 2015-02-13 21:34:41 +01:00
Adam Wulkiewicz
195e2d4ad5 [test][get_turns] Add/enable test cases for L/L. 2015-02-13 21:34:18 +01:00
Barend Gehrels
729c5d2c37 Minor: fix spacing according to conventions 2015-02-13 13:25:59 +01:00
Barend Gehrels
3afb29f41e [buffer][fix] Assure first point of next piece equals last point of previous piece 2015-02-13 12:59:14 +01:00
Barend Gehrels
d21145952f [buffer][fix] make sure that, per ring, closing point is the starting point.
It can be off due to numerical instability
2015-02-13 12:23:58 +01:00
Adam Wulkiewicz
703b37fc21 [test][disjoint] Add failing L/L test case, assertion failure in get_turn_info (commented out). 2015-02-13 02:27:51 +01:00
Adam Wulkiewicz
91b80a94c1 Merge pull request #218 from awulkiew/fix/warnings
Fix/warnings
2015-02-11 20:41:58 +01:00
Adam Wulkiewicz
1a5a1fa661 [test][algorithms][relate] Fix ommited constant condition warning. 2015-02-11 19:28:17 +01:00
Adam Wulkiewicz
2758ef31da Merge pull request #221 from mkaravel/fix/MSVC_warning_about_unused_argument
[test][algorithms][distance] fix MSVC warning C4100 complaining about an...
2015-02-11 19:20:54 +01:00
Menelaos Karavelas
218044919a [test][algorithms][distance] fix MSVC warning C4100 complaining about an unreferenced formal parameter 2015-02-11 19:51:36 +02:00
Menelaos Karavelas
4b02c80c1c [test][strategies][douglas peucker] fix order of includes;
fix MSVC warning C4127 regarding the strategy parameter in apply method
of test_one_case class;
2015-02-11 19:36:23 +02:00
Menelaos Karavelas
48bed898fe [test][strategies][douglas peucker] make the unit test for this strategy
platform portable and platform independent
2015-02-11 19:31:24 +02:00
Adam Wulkiewicz
1e9eae5a49 [test][algorithms][get_turns] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:57:50 +01:00
Adam Wulkiewicz
4f2fc67bd6 Merge branch 'develop' into fix/warnings 2015-02-11 15:55:31 +01:00
Adam Wulkiewicz
eceba44876 [test] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:54:56 +01:00
Adam Wulkiewicz
6b438738d8 [test][strategies] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:54:13 +01:00
Adam Wulkiewicz
aff82800c4 [test][algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:50 +01:00
Adam Wulkiewicz
db3743b4fd [test][get_turns] Add failing L/L case (inconsistencies/arithmetic). 2015-02-11 14:42:45 +01:00
Menelaos Karavelas
b7ccd1f03e [test][algorithms][set operations L/L] replace absoute tolerance by relative tolerance 2015-02-11 00:22:07 +02:00
Menelaos Karavelas
b4c34417b0 [test][algorithms][intersection L/L] add result when omitting isolated intersection points 2015-02-10 23:49:17 +02:00
Menelaos Karavelas
fe44edfce3 [test][algorithms][intersection L/L] add one more test case 2015-02-10 23:37:34 +02:00
Menelaos Karavelas
e4ea5defa3 [test][algorithms][intersection L/L] add support for checking equality within a specified tolerance 2015-02-10 23:36:12 +02:00
Menelaos Karavelas
34eef73263 [test][algorithms][sym_difference L/L] update disabled (failing example) 2015-02-10 17:24:28 +02:00
Menelaos Karavelas
b0b40ffa26 [test][algorithms][set operations L/L] update copyright year 2015-02-10 17:14:34 +02:00
Menelaos Karavelas
b39342db02 [test][algorithms][sym_difference L/L] enable disabled test that now works correctly;
update copyright year;
2015-02-10 17:13:47 +02:00
Menelaos Karavelas
bcb52c4f47 [test][algorithms][set operations L/L] update copyright year 2015-02-10 17:10:47 +02:00
Menelaos Karavelas
4ae803e734 [test][algorithms][sym_difference L/L] add support for checking equality with a tolerance 2015-02-10 17:08:08 +02:00
Menelaos Karavelas
a4988e34a3 [test][algorithms][union L/L] add missing include 2015-02-10 16:13:11 +02:00
Menelaos Karavelas
e131358c9e [test][algorithms][union L/L] add support for checking equality with tolerance 2015-02-10 16:04:12 +02:00
Menelaos Karavelas
87d714b263 [test][algorithms][difference L/L] add more test cases, most guarded by macro because they
are currently failing due to rounding errors
2015-02-10 15:51:31 +02:00
Menelaos Karavelas
70475d0bbd [test][algorithms][difference L/L] add support for testing with tolerance 2015-02-10 15:50:56 +02:00
Menelaos Karavelas
4b78a1e1fa [test][algorithms][set operations L/L] add suport for equality testing with a given tolerance 2015-02-10 15:50:11 +02:00
Adam Wulkiewicz
82c8c483f3 Merge pull request #206 from awulkiew/fix/warnings
Fix/warnings
2015-02-09 17:10:56 +01:00
Adam Wulkiewicz
09d1a2e16d Merge pull request #212 from mkaravel/fix/comparable_distance_strategy_in_douglas_peucker
Fix/comparable distance strategy in douglas peucker
2015-02-09 17:08:46 +01:00
Adam Wulkiewicz
cb2ced5535 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-02-05 14:43:21 +01:00
Adam Wulkiewicz
5d49805f27 [test][relate] Add a test for L/L for which an assertion failure was detected some time ago. 2015-02-05 14:43:08 +01:00
Menelaos Karavelas
9b3954988e [test][strategies][simplify douglas peucker] add unit test for the Douglas-Peucker simplify strategy 2015-02-05 14:25:30 +02:00
Menelaos Karavelas
80ade1ebec [test][algorithms][sym difference] add one more test case; the test case
currently fails because of the way the testing/checking is done, and is
currently disabled; the test case will be re-enabled once the testing/checking
part is re-designed;
2015-02-04 10:30:42 +02:00
Menelaos Karavelas
04814e5303 [test][algorithms][union] add one more test case for union(linestring, linestring) 2015-02-04 10:27:18 +02:00
Menelaos Karavelas
1f7354ad12 [test][algorithms][difference L/L] add more test cases 2015-02-04 10:21:10 +02:00
Menelaos Karavelas
5dfe36bae2 [test][algorithms][set operations] add missing include 2015-02-04 10:18:14 +02:00
Adam Wulkiewicz
254cb5f9d2 Merge pull request #210 from mkaravel/fix/more_test_cases_for_is_valid
[test][algorithms][is_valid] add a few more test cases
2015-02-04 00:20:49 +01:00
Menelaos Karavelas
0f8df37aca [test][algorithms][is_valid] add a few more test cases 2015-02-04 01:09:35 +02:00
Menelaos Karavelas
c38d764b51 [test][algorithms][turns] remove trailing spaces 2015-02-03 21:54:19 +02:00
Adam Wulkiewicz
e08de8e48b [test][get_turns] Add tests for L/L collinear spikes. 2015-02-03 18:55:50 +01:00
Adam Wulkiewicz
9a38d6655f [test][algorithms] Fix signed/unsigned conversion warnings. 2015-02-03 12:45:37 +01:00
Barend Gehrels
2bd4be27c8 Merge branch 'feature/buffer' into develop 2015-02-03 12:30:33 +01:00
Adam Wulkiewicz
a3469a4715 [test][algorithms] Fix unused parameter warnings. 2015-02-03 12:18:38 +01:00
Adam Wulkiewicz
10ddece05c Merge pull request #204 from mkaravel/fix/is_simple_wrong_turns_detection
Fix/is simple wrong turns detection
2015-02-02 19:54:28 +01:00
Adam Wulkiewicz
2e7b1ba3ec [test][algorithms] Fix integral conversion warning in get_turns test. 2015-02-02 19:42:34 +01:00
Adam Wulkiewicz
98188c65b0 [test] Suppress conversion warnings in Boost.Test (for clang). 2015-02-02 19:34:39 +01:00
Adam Wulkiewicz
7603005e9f [test][util][range] Add test for pos() function. 2015-02-02 19:30:14 +01:00
Menelaos Karavelas
76e54e0ade [test][algorithms][difference] add more test cases (most contain
a turn whose point is a spike apex for one of the two geometries and a
vertex for the other geometry)
2015-02-02 19:03:42 +02:00
Menelaos Karavelas
62450efa25 [test][algorithms][sym_difference] add two more test cases (both contain
a turn whose point is a spike apex for one of the two geometries and a
vertex for the other geometry)
2015-02-02 19:03:24 +02:00
Adam Wulkiewicz
d7583b3cf8 [test][get_turns] Add the test for L/L collinear spike. 2015-02-02 02:14:47 +01:00
Adam Wulkiewicz
b56428e073 [test][get_turns] Add more L/L failing cases (commented out). 2015-02-02 00:33:10 +01:00
Menelaos Karavelas
a843e3f7ec [test][algorithms][is_simple] add a few more test cases 2015-02-01 11:30:23 +02:00
Adam Wulkiewicz
522ff4eaf1 [test][get_turns] Add failing case for L/L, commented for now. 2015-01-30 02:19:45 +01:00
Menelaos Karavelas
dcb6d9ca94 [test][algorithms][is_simple] add one more test case 2015-01-30 01:19:19 +02:00
Menelaos Karavelas
7d581f649b [test][algorithms][is_simple] add more test cases including a linestring
whose one boundary point is also an internal point of the linestring (such
a linestring is currently not detected as self-intersecting by bg::intersects)
2015-01-29 23:46:15 +02:00
Adam Wulkiewicz
23d3e60767 Merge pull request #197 from mkaravel/feature/support_for_one_point_geometries
Feature/support for one point geometries
2015-01-28 23:24:42 +01:00
Barend Gehrels
a44c753612 [overlay] replace intersection_info (old) with (new) to allow getting access
to (robust) points used for the segment intersection. This makes dir_info
redundant there, because it is included in (new)
2015-01-28 13:30:42 +01:00
Menelaos Karavelas
300577d68e [test][algorithms][is_simple] add more test cases including one that
was failing before the recent bug fix
2015-01-28 12:47:01 +02:00
Barend Gehrels
2f0b9d05bd [buffer][test] split multi_point_buffer test into normal unit test
and robustness test (growth)
2015-01-28 10:47:01 +01:00
Barend Gehrels
373f6cc24d [difference][test] Increase tolerance for geos2 test to satisfy MSCV 14 2015-01-28 09:54:51 +01:00
Adam Wulkiewicz
2713b7cf5d [test][strategies] Add the tests for geographic side strategies. 2015-01-27 15:38:53 +01:00
Adam Wulkiewicz
fef45d0d00 [test][relate] Add tests for relate(Ls,MLs) - collinear spike. 2015-01-27 00:30:19 +01:00
Adam Wulkiewicz
68aadf5f7d [test][get_turns][relate] Add tests for L/A collinear opposite last L segment. 2015-01-26 04:04:45 +01:00
Adam Wulkiewicz
78ed5e6130 [test][strategies] Add tests for thomas distance strategy. 2015-01-25 19:56:16 +01:00
Adam Wulkiewicz
8c04a59076 [algorithms][strategies][test] Unify the geographic inverse formulas interface.
Rename vincenty_inverse azimuth12() to azimuth() and comment out the azimuth21().
Modify the test accordingly.
2015-01-25 18:53:27 +01:00
Menelaos Karavelas
af9b0c76fe [test][algorithms][distance] replace use of internal Boost.Test tools
by BOOST_CHECK and BOOST_CHECK_CLOSE
2015-01-24 14:51:18 +02:00
Adam Wulkiewicz
705703a0e5 [test][overlay][get_turns][relate] Add the tests for spike for L/A. 2015-01-23 19:08:05 +01:00
Adam Wulkiewicz
19df5859cc [test][relate] Add the test for relate(MLs,Poly). 2015-01-23 17:13:32 +01:00
Adam Wulkiewicz
2493f07792 Merge pull request #196 from mkaravel/fix/closing_iterator_for_empty_ranges
Fix/closing iterator for empty ranges
2015-01-23 05:49:06 +01:00
Adam Wulkiewicz
8a8620b506 [test][relate] Add tests for MPolys with rings for which single u/u turn is generated. 2015-01-23 03:38:49 +01:00
Adam Wulkiewicz
18d3678fbb [test][relate] Add tests for relate(L/A) - Ls/MPoly and MLs/MPoly. 2015-01-23 01:46:22 +01:00
Menelaos Karavelas
3c443862d4 [test][algorithms][distance] add test cases of linear and/or areal
geometries that contain ranges with less than two points
2015-01-22 18:26:03 +02:00
Menelaos Karavelas
f58d9d3783 [test][iterators][segment_iterator] add test cases of linear and/or areal
geometries that contain ranges with less than two points
2015-01-22 18:25:48 +02:00
Adam Wulkiewicz
bc45a19909 [test][disjoint][relate] Add tests for L/L case (IPs on first points). 2015-01-22 16:05:15 +01:00
Menelaos Karavelas
0d4b7973f2 [test][iterators][closing_iterator] add test case for empty range 2015-01-22 17:00:36 +02:00
Adam Wulkiewicz
ab749e3873 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-22 02:02:23 +01:00
Adam Wulkiewicz
c1daf1a0eb [test][overlay][relate] Add tests of get_turns() and relate() for L/A. 2015-01-22 02:01:54 +01:00
Barend Gehrels
6b35f31563 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-21 23:19:57 +01:00
Barend Gehrels
5c9c899974 [test] Increase tolerance slightly for parcel3 (buffer) and geos_1 (intersection)
to let it pass in MSVC 14
2015-01-21 23:19:38 +01:00
Adam Wulkiewicz
fbab19df33 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-21 20:43:05 +01:00
Adam Wulkiewicz
ec4fab0982 [test][relate] Add tests for MultiLinestring/Polygon. 2015-01-21 20:42:55 +01:00
Barend Gehrels
5c33f415bd [test][difference] exclude geos_1 which is the only one giving many error-reports
on different platforms/compilers/environments
2015-01-21 20:11:56 +01:00
Adam Wulkiewicz
402e939a5c [test][relate][crosses] Add test for linear spike crossing another linestring. 2015-01-21 19:13:13 +01:00
Barend Gehrels
db13795982 [buffer] Add robust calculation method to determine the side of the intersection
point (turn) w.r.t. a segment, where all segments are rescaled. This should
result in a trustable point-in-piece route and obsolete the near_offsetted
workaround.

Includes unit test
2015-01-21 16:08:08 +01:00
Barend Gehrels
999bf4dac6 [test] Supress warning by Boost.None 2015-01-21 11:39:39 +01:00
Barend Gehrels
11f135e2c4 [test] Remove linking with timer, now that Boost.Test has reverted the change which required this 2015-01-21 11:29:46 +01:00
Adam Wulkiewicz
49ee2f7230 [test][intersects][relate] Add tests for MultiLinestring/Polygon. 2015-01-20 19:51:10 +01:00
Adam Wulkiewicz
69475fdf91 [test][relate] Enable the tests for recently fixed assertion failure in relops.
Also redistribute the tests for L/L and L/A cases into proper files.
2015-01-19 20:10:11 +01:00
Adam Wulkiewicz
e5580b8547 [test][relate] Add A/A vs P/P compatibility check (intersecting very close vertices). 2015-01-18 19:58:20 +01:00
Adam Wulkiewicz
eeb33369ec [test][relate] Add more tests for assertion failure in cart_intersect (enabled with macro definition). 2015-01-18 19:27:07 +01:00
Adam Wulkiewicz
46eb689a43 [test][relate] Add tests for bugs currently existing in the library, turned on by a macro. 2015-01-15 22:56:22 +01:00
Adam Wulkiewicz
f26f75c3be [test] Add Timer library project requirement, required by Test. 2015-01-13 00:35:17 +01:00
Adam Wulkiewicz
2dfc5ccce3 Merge pull request #192 from mkaravel/feature/distance
[test][algorithms][distance][spherical_equatorial] add one more test case of antipodal points
2015-01-12 18:01:03 +01:00
Menelaos Karavelas
83d61147dd [test][algorithms][distance][spherical_equatorial] add one more test case
of antipodal points
2015-01-12 16:11:46 +02:00
Menelaos Karavelas
ceb1102c46 [test][algorithms][distance] explicitly initialize variable to avoid
maybe-uninitialized-warning
2015-01-12 15:59:23 +02:00
Adam Wulkiewicz
45d3fcf3eb Merge pull request #190 from awulkiew/fix/centroid
Fix/centroid
2015-01-10 12:41:32 +01:00
Adam Wulkiewicz
62375c09aa [geometries] Shield initializer list support with #ifdef.
In order to test it on various compilers using Boost regression
testing suite before enabling the support by default.
2015-01-10 01:01:45 +01:00
Adam Wulkiewicz
719a47c559 Merge branch 'develop' into feature/initializer_list 2015-01-10 00:56:51 +01:00
Adam Wulkiewicz
f26fb3820d Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-01-08 16:03:35 +01:00
Adam Wulkiewicz
5523d7cffe [test][relate] Add more tests for L/A where A contains spikes collinear to L. 2015-01-08 16:03:23 +01:00
Adam Wulkiewicz
16edf5353a [test][relate][overlaps] Add tests related to ticket 10912. 2015-01-08 04:30:58 +01:00
Adam Wulkiewicz
bd10022e2c [test][centroid] Add tests for degenerated Linear and Areal geometries. 2015-01-08 03:26:23 +01:00
Adam Wulkiewicz
b08aa43459 [test][relate][within] Add tests for A/A (ticket 10912). 2015-01-06 22:21:16 +01:00
Adam Wulkiewicz
26e2a8ae31 [test] Add another convenient overload of geom_to_svg(). 2015-01-05 23:20:09 +01:00
Adam Wulkiewicz
ef90bc0792 [test][centroid] Add tests for invalid Linestring and Polygon. 2015-01-05 23:19:08 +01:00
Adam Wulkiewicz
fa76f14090 [geometry] Update copyright info in various files modified recently. 2015-01-05 14:17:30 +01:00
Adam Wulkiewicz
d24712d733 [test] Drop TypeOf dependency. 2015-01-05 00:09:42 +01:00
Adam Wulkiewicz
29dee723fb [test][convex_hull] Add tests for degenerated hulls.
E.g. hull of MULTIPOINT(0 0) or LINESTRING(0 0, 2 0)
2015-01-04 16:59:14 +01:00
Adam Wulkiewicz
9dc467f634 Merge branch 'develop' into feature/initializer_list 2015-01-03 00:20:16 +01:00
Adam Wulkiewicz
e91e02ed0a [test][geometries] Add non-geometry test for initializer_list<> and Boost.Assign. 2015-01-03 00:19:30 +01:00
Adam Wulkiewicz
1cd6e884cd [test][relate] Add test for very long segment for which more significant Dimension was also wrongly picked in cart_intersect. 2015-01-02 03:40:08 +01:00
Adam Wulkiewicz
ea11e453eb [test][relate] Use alternative expected matrix/result for very short segment.
On some platforms very short segments may be detected as degenerated to
Point.
2015-01-02 02:27:02 +01:00
Adam Wulkiewicz
2e50ab6acb [test][relate] Add test for Polygons with spikes expecting any output. 2015-01-01 14:24:56 +01:00
Adam Wulkiewicz
5262379c2c [test][relate] Add commented out tests for failing cases (assertion failure for invalid geometries). 2014-12-31 18:39:25 +01:00
Barend Gehrels
34380e7b4d [buffer][test] added multi-polygon test. Fails for one case yet (self-IP).
This test is not yet added to any Jamfile.
It can take long for execution and is therefore placed in robustness, we can add longer tests
or various options later
2014-12-31 14:27:36 +01:00
Barend Gehrels
11fbe1e453 [buffer][test] create optionally a zoomed-in view to be able to better inspect error-cases 2014-12-31 14:22:49 +01:00
Barend Gehrels
a19e818042 [buffer][test] add check for is_valid (now optional) 2014-12-31 13:51:09 +01:00
Barend Gehrels
fff81f33ed [buffer][test] fix expectation of just added testcase 2014-12-31 13:21:56 +01:00
Barend Gehrels
a0c1fbaf72 [buffer][test] Simplify code using multi-polygon instead of vector 2014-12-31 13:20:28 +01:00
Barend Gehrels
5d1c9525a3 [buffer][test] option to specify tolerance for custom strategies 2014-12-31 13:13:03 +01:00
Barend Gehrels
d1f2878e11 [buffer][test] add failing case 2014-12-31 13:10:01 +01:00
Adam Wulkiewicz
ed6b8e38b9 [test][relate] Add test for very small segments. 2014-12-31 04:33:49 +01:00
Adam Wulkiewicz
1289aad4e5 [test][equals] Add test for very small orthogonal segments. 2014-12-31 04:33:32 +01:00
Adam Wulkiewicz
f6f59869e4 [test][geometries] Test Boost.Assign and initializer lists for points being std::pair or boost::tuple. 2014-12-30 13:56:04 +01:00
Adam Wulkiewicz
ac5b9ef9ac [test][geometry] Add Boost.Assign list_of test for linestring and ring. 2014-12-30 02:46:29 +01:00
Adam Wulkiewicz
e3b2c579e0 [test][equals] Add test for very small segment. 2014-12-27 23:09:03 +01:00
Adam Wulkiewicz
584e585f28 [test][sections] Fix error and warning.
Error: wrong number of parameters passed into sectionalize()
Warning: comparison of signed and unsigned integer.
2014-12-26 19:17:17 +01:00
Adam Wulkiewicz
b43958174a Merge branch 'develop' into feature/initializer_list 2014-12-26 17:13:44 +01:00
Adam Wulkiewicz
9faf75eb71 [test][equals] Add specific case causing assert failure (commented out for now). 2014-12-24 00:10:14 +01:00
Barend Gehrels
7006d6ca80 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-12-21 22:03:47 +01:00
Barend Gehrels
432f1f1a77 [test][union] by default check CCW/Open too 2014-12-21 15:58:40 +01:00
Barend Gehrels
0478b5e082 [sectionalize] pass dimension vector as template argument
Test for vertical now also tests y-dimension
2014-12-21 15:48:22 +01:00
Barend Gehrels
3a17e5838b [sectionalize] extra tests for horizontal/vertical monotonic sections 2014-12-21 13:14:59 +01:00
Barend Gehrels
c3823e8dc1 [sectionalize][test] remove debug-output 2014-12-21 13:14:35 +01:00
Barend Gehrels
91150690be [sectionalize] pass max_count as argument 2014-12-21 13:14:12 +01:00
Barend Gehrels
110e178f77 [sectionalize] remove specific unit-test free function 2014-12-21 11:53:16 +01:00
Barend Gehrels
40a6525bb2 [sectionalize] remove effectively unused parameter enlarge_section_boxes:
It was used inconsistently in two places. If necessary, library code
can call enlarge_sections explicitly afterwards.
It was erroneous (if not enlarge then enlarge).
In case of robust policies it was redundant.
2014-12-20 15:53:51 +01:00
Barend Gehrels
43ba70c8e1 [partition][buffer] add extra policy for inclusion. This gives opportunity
to filter items early, they are skipped for all partitions. This avoids
the need making an extra copy to select only turns with location_ok status, for buffer.
It can increase performance with 20%
2014-12-20 14:47:57 +01:00
Adam Wulkiewicz
f2380dbf9c [test] From geom_to_svg helper tool remove invalid template parameter. 2014-12-20 00:54:59 +01:00
Adam Wulkiewicz
17be49e47f [test] Fix compilation errors in to_svg helper tool caused by the removal of other_id from turn_operation. 2014-12-20 00:43:59 +01:00
Adam Wulkiewicz
4a543c388a [test][disjoint] Add test case from ticket 10647. 2014-12-19 21:29:59 +01:00
Adam Wulkiewicz
a7ff44f8d0 [test][relate][within][doc] Add test cases. Update 1.58 release notes (ticket solved). 2014-12-19 15:36:58 +01:00
Adam Wulkiewicz
28423751f4 [test][centroid] Add test cases. 2014-12-19 15:26:29 +01:00
Barend Gehrels
0556b10a02 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-12-17 22:38:37 +01:00
Barend Gehrels
31b0dfffb5 [difference] test-fix: revert earlier change, current partition implementation
gives 9 rings, area 0.01953125
Though this testcase is a bit unstable
2014-12-17 22:38:22 +01:00
Adam Wulkiewicz
15a7a5639b [strategies][test] Fix mapping_ssf for integral types (rounding).
During the mapping FP was converted to INT again. To avoid explicit
rounding mapped coordinates are used directly in the SSF. For this purpose
the formula part was extracted from SSF strategy and placed in
side::detail namespace.

Furthermore slightly refactor SSF.
Reenable disabled test for int coordinates.
2014-12-13 16:17:20 +01:00
Adam Wulkiewicz
2e969553fc [strategies] In mapping_ssf properly map latitude using radians. 2014-12-13 15:55:51 +01:00
Adam Wulkiewicz
4811c641a9 Merge branch 'develop' into feature/geographic 2014-12-13 12:31:21 +01:00
Adam Wulkiewicz
7d89139b51 [strategy][test] Update copyright notes. 2014-12-13 12:30:47 +01:00
Adam Wulkiewicz
d08c444fef [test] In vincenty strategy test use more robust angle checking. Support user-defined types. 2014-12-13 02:51:14 +01:00
Barend Gehrels
bef3d6c869 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-12-12 19:19:03 +01:00
Barend Gehrels
073d157dd6 [partition] enhance performance of partition where substantial part of one
or both collections are exceeding the separation line. Formerly they were
always handled quadraticly. Now they are partitioned as well.
2014-12-12 19:18:07 +01:00
Adam Wulkiewicz
e399a6bfc8 [test] Fix/tweak test of vincenty direct formula. 2014-12-11 17:28:30 +01:00
Adam Wulkiewicz
0d8c46efe7 [algorithms][test] Add vincenty_direct formula algorithm. 2014-12-11 15:40:15 +01:00
Adam Wulkiewicz
de3187f180 [strategies][test] Add distance_ prefix to andoyer and vincenty file names. 2014-12-10 00:22:05 +01:00
Adam Wulkiewicz
a8f7e294fd Merge pull request #182 from mkaravel/feature/new_cross_track_strategy
Feature/new cross track strategy
2014-12-09 23:49:42 +01:00
Adam Wulkiewicz
8807128d2a [test] Add test for geographic/mapping_ssf strategy. 2014-12-09 16:05:53 +01:00
Menelaos Karavelas
bbf8d1de7e [test][algorithms][is_valid] modify unit test to accept multi-geometries
with no elements as valid
2014-12-05 17:22:01 +02:00
Menelaos Karavelas
cb26608452 [test][strategies][spherical][cross track] add test cases where the distance
of the point from the spherical segment is small (1e-3 or smaller)
2014-12-05 10:56:37 +02:00
Adam Wulkiewicz
e3a7bce127 [strategies] Add side_by_azimuth agnostic strategy. 2014-11-25 01:14:00 +01:00
Adam Wulkiewicz
545c58a824 [strategies] Move andoyer and vincenty distance strategies from extensions. 2014-11-24 22:51:58 +01:00
Barend Gehrels
bbc8c605e6 [buffer] add specific robust bounding box for offsetted part.
This gains in some cases more than 10% performance

This gives two small changes in expected areas for country buffer deflate-5, which are not
visible and not detectable using other tools (spent quite some time to try)
2014-11-23 12:25:48 +01:00
Barend Gehrels
6be98196ed [buffer] Piece visitor, remove unused types and we still need to check on geometry_code 2014-11-22 14:32:20 +01:00
Barend Gehrels
0c34c58e5e Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-11-22 12:51:25 +01:00
Barend Gehrels
fc2652323b [buffer] refactor analysis of piece into shorter and slightly more efficient (few %) code.
It is now one function. In later commits we will extend this by checking helper
segments separately, which should also be more efficient.

It changes one test-case, probably because ofn ear_offsetted. The change is not visible
and the result is probably more correct. SQL Server reports this polygon as invalid.
2014-11-22 12:50:31 +01:00
Menelaos Karavelas
db51e59aae [test][algorithms][distance][spherical equatorial] update unit test to account
for the changes in the cross track strategy (that now has a comparable counterpart)
2014-11-19 23:55:51 +02:00
Adam Wulkiewicz
11d627808a Merge pull request #160 from awulkiew/fix/read_wkt
Fix/read wkt
2014-11-19 17:57:48 +01:00
Adam Wulkiewicz
202a9939f1 [core] Move spheroid and sphere from cs::model to srs namespace.
Change reference_sphere_tag and reference_spheroid_tag to srs_sphere_tag
and srs_spheroid_tag respectively.
Adapt algorithms, strategies and tests to the new namespace and tags.
2014-11-19 16:21:51 +01:00
Menelaos Karavelas
445fa3fd8e [test][algorithms][distance][spherical equatorial] print, in debug mode, the
radius of the strategy; change the label in one of the test cases;
2014-11-18 08:30:06 +02:00
Adam Wulkiewicz
694aaa9d31 [core] Add sphere and spheroid reference models.
Add new tags for reference sphere/spheroid concepts.
Add cs::model::sphere<> and cs::model::spheroid<>.
Add get_radius(), set_radius() and radius_type<> functions/metafunctions.

Add tests.

Refactor [extensions] nsphere to use the official functions.
2014-11-16 18:26:48 +01:00
Barend Gehrels
0667c87e1d [buffer][test] added unit test using large country multi_polygons
This one is not enabled by default.
Aimes-test is no enabled by default
2014-11-12 14:07:19 +01:00
Barend Gehrels
9a9e16f936 [buffer] major fix: we now create concave helper-pieces differently
In the past there was one with a straight line going from one piece to the next.
Now there are two, going from one piece to the point on the geometry, and the
second going from the point on the geomety to the next piece.
They are now zero-volume.
They fix:
1) crossings of sides with flat-ends (unit-test cases curve, field_sprayer, bend_near_start)
2) joins with limited number of points (unit-test cases concave_b_rough, italy_part, nl_part)
3) joins with large distances
4) many self-intersections on remaining aimes-cases
2014-11-12 13:59:29 +01:00
Barend Gehrels
4ad1abe80f [buffer][test] enhance display of pieces 2014-11-12 13:39:51 +01:00
Adam Wulkiewicz
45ef3cd37d Merge pull request #180 from mkaravel/feature/distance
Feature/distance
2014-11-10 11:51:15 +01:00
Barend Gehrels
95583233e7 [buffer] polygon add tests, which are partly failing 2014-11-09 14:29:39 +01:00
Barend Gehrels
a34e408ade [buffer][test] disable failing test for CCW 2014-11-09 12:18:17 +01:00
Menelaos Karavelas
46bb719a63 [test][algorithms][distance] add unit test for testing distance
computations for pointlike/linear geometries in the spherical equatorial
coordinate system
2014-11-07 23:28:05 +02:00
Menelaos Karavelas
3f19ebab75 [test][algorithms][distance] cleanup unit test for distances of
pointlike/pointlike geometries in the spherical equatorial coordinate system;
add testing when a comparable strategy is passed;
2014-11-07 23:26:54 +02:00
Menelaos Karavelas
111d9537a1 [test][distance] add algorithm (used in unit tests) for computing the distance
in a brute force manner, using BG's distance only for the following combinations:
* point/point
* point/segment
* segment/segment
2014-11-07 23:25:11 +02:00
Menelaos Karavelas
2c3d9e898b [test][distance] cleanup common code for distance unit tests in the
spherical_equatorial coordinate system
2014-11-07 23:24:19 +02:00
Barend Gehrels
8c75d81fff [overlay] fix behaviour of u/u turns for difference. This fixes
the assemble unit test which broke in earlier commits today
2014-11-06 18:54:55 +01:00
Barend Gehrels
9b91655c05 [test] updated select_rings unit test after code changes 2014-11-06 17:44:40 +01:00
Barend Gehrels
c5417f6f43 [overlay] fix ticket #10108: rings only touching should check for u/u turns
and don't call point_on_border because that might be located on the border of the
other geometry. This also avoids passing the mid_point boolean, and including
within_code in ring_properties
2014-11-06 14:29:35 +01:00
Barend Gehrels
12c6d22a5e Merge pull request #177 from mkaravel/feature/disjoint
More test cases for disjoint
2014-11-05 15:13:06 +01:00
Menelaos Karavelas
6d1a764629 [test][algorithms][disjoint] add a case ID string to each test case;
remove the pretty_print_geometry functionality; simplify the calls
to BOOST_CHECK_MESSAGE;
2014-11-05 16:03:50 +02:00
Barend Gehrels
5563d2f8e2 [test] small change, move types/constants upwards to conveniently exclude/comment
testcases if necessary
2014-11-05 13:39:28 +01:00
Barend Gehrels
448040613d [overlay][fix] fix rescaling when coordinate-differences are larger than recaling range,
which is unfortunately slipped through. This fixes ticket #10747
2014-11-05 13:38:12 +01:00
Menelaos Karavelas
b8234413e0 [test][algorithms][disjoint] add a few more test cases, some of them related
to the recent bug in the Cartesian segment-segment intersection strategy;
replace calls to BOOST_CHECK by calls to BOOST_CHECK_MESSAGE;
2014-11-05 08:34:46 +02:00
Adam Wulkiewicz
f0c5554190 Merge pull request #129 from mkaravel/feature/disjoint-1.57
Feature/disjoint 1.57
2014-11-04 22:25:35 +01:00
Menelaos Karavelas
1b638c66fc [test][distance] add some more P/L and L/L test cases; some of them
have triggered the bug in the Cartesian segment-segment intersection
strategy and the distance has produced wrong results; with the fix
in the Cartesian segment-segment intersection strategy, the distance
computation test cases added succeed;
2014-11-04 22:06:18 +02:00
Menelaos Karavelas
7b3ced0c6a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint-1.57 2014-11-04 15:16:42 +02:00
Adam Wulkiewicz
9cbedc03b3 Merge branch 'develop' into feature/initializer_list
Conflicts:
	include/boost/geometry/geometries/point.hpp
2014-11-03 20:06:20 +01:00
Menelaos Karavelas
96243eb580 [test][distance] add test cases for multipoint/polygon and
multipoint/multipolygon with points inside the polygon/multipolygon
2014-11-03 20:58:58 +02:00
Adam Wulkiewicz
ae9c2953d0 Merge branch 'develop' into fix/read_wkt 2014-11-03 19:55:39 +01:00
Adam Wulkiewicz
bf303ad47a Merge pull request #172 from awulkiew/feature/rearrange_tests
Feature/rearrange tests
2014-10-31 14:30:03 +01:00
Adam Wulkiewicz
e99f5b9d20 Merge pull request #171 from mkaravel/fix/strong_type_checking_for_cs_template_parameter
Fix/strong type checking for cs template parameter
2014-10-31 14:21:38 +01:00
Adam Wulkiewicz
3efcef5f17 Merge pull request #168 from mkaravel/fix/increment_operator_for_point_and_segment_iterator
Fix/increment operator for point and segment iterator
2014-10-31 14:21:27 +01:00
Adam Wulkiewicz
9fec00c796 [test] Move the rest of the tests from multi directory and remove this directory. 2014-10-30 14:04:14 +01:00
Adam Wulkiewicz
61c9fa6bd2 [test] Move overlay tests from multi directory. 2014-10-30 13:41:41 +01:00
Adam Wulkiewicz
2bef2facc1 [test] Move set operations tests from multi directory. 2014-10-30 13:24:10 +01:00
Menelaos Karavelas
8a075a6280 [test][point_concept] remove duplicate includes 2014-10-30 14:22:55 +02:00
Menelaos Karavelas
6733c4e3cc [test][point_concept] add unit tests for testing the units of custom non-Cartesian
points and BG's non-Cartesian points
2014-10-30 14:19:09 +02:00
Adam Wulkiewicz
0568463385 [test] Move relational operations tests from multi directory. 2014-10-30 13:18:38 +01:00
Menelaos Karavelas
9aafaa1525 [test][test_geometries] add custom longitude-latitude point 2014-10-30 14:17:44 +02:00
Adam Wulkiewicz
26b338a20f [test] Move set and relational operations tests to separate directories. 2014-10-30 13:09:12 +01:00
Adam Wulkiewicz
2dcd853a35 [test] Move IO tests from multi directory. 2014-10-30 12:07:06 +01:00
Adam Wulkiewicz
0279dca727 [test] Move disjoint, relate and within tests to separate directories. 2014-10-30 12:00:59 +01:00
Adam Wulkiewicz
7fc973ce66 [test] Move set ops algorithms tests to separate directories. 2014-10-30 01:31:12 +01:00
Adam Wulkiewicz
7e1e794dd0 [test] Move from_wkt to main test directory and tweak #includes. 2014-10-30 00:52:10 +01:00
Adam Wulkiewicz
aaa96982cf [test] Move distance() tests to separate directory. 2014-10-30 00:32:02 +01:00
Barend Gehrels
0be9f2dfca [test][buffer] test symmetric distance strategy too, if right distance
is not specified. This tests the fix in last commit, already merged to master (for 1.57)
2014-10-29 22:54:06 +01:00
Barend Gehrels
26da077654 [test][buffer] enhance SVG display for deflate, with pieces displayed 2014-10-29 17:27:25 +01:00
Barend Gehrels
254999addd [buffer] Fix case for square with buffer-distance = half the size, IP's
are on border of original and should be discarded for both inflate/deflate
This fixes the cases added to unit tests before
2014-10-29 17:26:43 +01:00
Barend Gehrels
c8af337ad7 [test][buffer] remove _neg suffix from test-case-name, it is done automatically 2014-10-29 12:50:48 +01:00
Barend Gehrels
79b944483d [test][buffer] add simplex square for failing deflate case 2014-10-29 12:50:20 +01:00
Barend Gehrels
32d5c78623 [test][buffer] add deflate test for multi, including failing for distance=half of square 2014-10-29 12:35:41 +01:00
Barend Gehrels
b98c653335 [test][buffer] test ccw by default 2014-10-29 12:15:15 +01:00
Barend Gehrels
39c149ed22 [test][buffer] more deflation tests and move order 2014-10-29 12:14:43 +01:00
Barend Gehrels
761fc9f8b1 [test][buffer] uncommented deflated indentation tests, which pass now 2014-10-29 12:00:01 +01:00
Barend Gehrels
8e6268c50e [test][buffer] enhance svg display for test results and deflated polygons.
By default pieces/turns are non visible now
2014-10-29 11:52:25 +01:00
Barend Gehrels
cef05d3bf2 [buffer][test] remove default values for new tests 2014-10-29 11:16:42 +01:00
Barend Gehrels
4a7c63fb17 [buffer][test] add custom-strategy version and test scenario which did round-join buffer fail 2014-10-29 11:16:11 +01:00
Adam Wulkiewicz
c411f2bdb3 [test][buffer] Add test cases for Polygon. 2014-10-28 15:07:36 +01:00
Adam Wulkiewicz
3500cc4355 [test][buffer] Add CCW test polygons (not tested yet). 2014-10-28 13:49:08 +01:00
Menelaos Karavelas
e82e199e00 [test][distance] add unit test for distance of pointlike-pointlike geometries
in the spherical equatorial coordinate system
2014-10-27 22:11:55 +02:00
Barend Gehrels
a5b9cfe0bc [buffer][fix] fix for open input of 3 points 2014-10-24 19:39:01 +02:00
Barend Gehrels
0f72af95f0 [buffer] fix simplify which should work on input ringtype
and added unit test which tests different input/output types w.r.t. point order
(different point types are not yet supported)
2014-10-24 15:52:05 +02:00
Barend Gehrels
ffd3cd1e3d [buffer][test] fix ccw suffix which should use output geometry 2014-10-24 15:33:03 +02:00
Barend Gehrels
6f09c5fd98 [buffer][test] test counter clockwise output for (multi)linestrings / points 2014-10-24 15:17:05 +02:00
Barend Gehrels
bd4de457d8 [buffer][fix] fixes counter clockwise polygons 2014-10-24 15:02:55 +02:00
Barend Gehrels
b40c1096a4 [buffer][test] fix 3 testcase names 2014-10-24 14:20:15 +02:00
Barend Gehrels
d762543676 [buffer][test] add reported testcase which succeeds 2014-10-24 13:33:17 +02:00
Barend Gehrels
6280a2b67e [buffer] support buffer for degenerate polygons (pointlike, not enough points) 2014-10-24 13:12:10 +02:00
Barend Gehrels
fd75d83fd1 [buffer][fix] fix output for generated linestrings with two equal points only
It now simplifies first and removes second point if necessary. Also it is
defensive such that generation is stopped if length is 0.
Including unit tests.
2014-10-24 12:36:22 +02:00
Barend Gehrels
e4cd46ac5d [buffer] support degenerate linestrings containing one point. In that
case point-buffer is applied. Including updated unit tests
2014-10-24 11:21:32 +02:00
Adam Wulkiewicz
f5ce90c9a6 [test][strategies] Enable some of the winding tests for spherical CS. 2014-10-24 00:15:25 +02:00
Adam Wulkiewicz
4d7210da99 [test][strategies] Disable failing winding tests for spherical CS (enabled with #define). 2014-10-24 00:03:27 +02:00
Adam Wulkiewicz
e054e25bfd [test][strategies] Divide different within/covered_by strategies tests into separate files. 2014-10-23 21:32:20 +02:00
Menelaos Karavelas
26fb60447f [test][iterators][segment_iterator] add appropriate concept checks
from the Boost.Iterator and Boost.ConceptCheck libraries
2014-10-23 14:44:55 +03:00
Menelaos Karavelas
cd049ccd17 [test][iterators][point_iterator] add appropriate concept checks from the
Boost.Iterator and Boost.ConceptCheck libraries
2014-10-23 14:44:10 +03:00
Adam Wulkiewicz
4d81c2c451 [test][iterators] Fix unused parameter warnings. 2014-10-20 18:17:53 +02:00
Adam Wulkiewicz
0526a104eb [test][algorithms] Fix unused parameter warnings. 2014-10-20 18:17:41 +02:00
Adam Wulkiewicz
7c5056dae1 [test][set_ops] Fix unused parameter warnings. 2014-10-20 16:32:21 +02:00
Adam Wulkiewicz
e3f9af9292 [test][difference] Fix unused parameter warnings. 2014-10-20 16:26:42 +02:00
Adam Wulkiewicz
25e2eec455 [test] Remove extra semicolon. 2014-10-20 15:33:43 +02:00
Adam Wulkiewicz
7cd6355354 [test][views] Remove extra semicolon in closeable_view test. 2014-10-20 14:08:40 +02:00
Adam Wulkiewicz
3b5cb798b9 [test][iterators] Fix signed/unsigned comparison warning. 2014-10-20 02:28:57 +02:00
Adam Wulkiewicz
e59976b358 [test][point_on_surface] Remove unused typedef. 2014-10-19 22:43:49 +02:00
Adam Wulkiewicz
1808886487 Merge pull request #155 from awulkiew/fix/centroid
Fix/centroid
2014-10-18 17:35:29 +02:00
Adam Wulkiewicz
cc9b1292a6 Merge pull request #152 from awulkiew/fix/convex_hull
Fix/convex hull
2014-10-18 13:38:16 +02:00
Adam Wulkiewicz
a0a7db675b [test][disjoint] Add tests for A/A 2014-10-18 03:07:35 +02:00
Adam Wulkiewicz
3aa580909f Merge branch 'develop' into fix/read_wkt 2014-10-16 16:44:53 +02:00
Adam Wulkiewicz
c3aa7fdb12 [test][core] Test pointers and references in point_type, tag, closure and point_order. 2014-10-16 16:44:10 +02:00
Adam Wulkiewicz
d1eb1add3e Merge branch 'develop' into fix/read_wkt 2014-10-16 16:03:27 +02:00
Matt Amos
1bc7382cea Merge remote-tracking branch 'origin/master' into ccw_point_on_surface
Conflicts:
	test/algorithms/point_on_surface.cpp

Conflicts:
	test/algorithms/point_on_surface.cpp
2014-10-15 14:27:33 +02:00
Matt Amos
183da9585e [test][point_on_surface] Added test for CCW point on surface calculation.
Conflicts:
	test/algorithms/point_on_surface.cpp
2014-10-15 13:56:31 +02:00
Matt Amos
882d9d0fad [test][point_on_surface] Add test for point_on_surface using integer coordinates. 2014-10-15 13:55:19 +02:00
Barend Gehrels
8528423314 Merge branch 'develop' into feature/buffer 2014-10-15 13:08:39 +02:00
Barend Gehrels
ee7dc28b65 [test] fix creation of SVG for intersection, the SVG block was placed
in the wrong function when splitting the original function
2014-10-15 12:08:11 +02:00
Barend Gehrels
9a72b838a6 [test] added note about out-of-date. It is not part of any Jamfile currently 2014-10-15 12:00:01 +02:00
Barend Gehrels
98d8c88372 [buffer][test] remove redundant index 2014-10-15 11:59:18 +02:00
Adam Wulkiewicz
6319a7da6a [test] Remove temporary/unneeded code in point_iterator test. 2014-10-14 11:32:25 +02:00
Adam Wulkiewicz
743d4fadd4 [test] Update tests to be in line with the change in behavior of read_wkt() for open Rings. 2014-10-14 01:38:48 +02:00
Adam Wulkiewicz
5e3656a09a [centroid] Disable error-reducing translation for other coordinate systems than cartesian.
Remove undefined namespace.
Add missing headers.
Add a note about other coordinate systems.
Add copyright info.
2014-10-11 01:42:20 +02:00
Adam Wulkiewicz
379c40ea20 [test][centroid] Improve the test for Polygon using big coordinates. 2014-10-10 22:30:08 +02:00
Adam Wulkiewicz
d20bd1f020 [test][to_svg] Add geom_to_svg() helper function. 2014-10-10 22:29:16 +02:00
Adam Wulkiewicz
d5f8b1c5fc [test][point_on_surface] Add missing closing Point in on of the tests. 2014-10-10 20:38:44 +02:00
Adam Wulkiewicz
72c838c16d Merge pull request #153 from awulkiew/feature/refactor_turns
Overlay/Turns refactorization
2014-10-10 20:32:55 +02:00
Adam Wulkiewicz
9a01219429 [test][point_on_surface] Add test for Polygon containing non-uniformly distributed points. 2014-10-10 16:21:36 +02:00
Adam Wulkiewicz
9b9bde7f34 [test][centroid] Add test for big doubles. 2014-10-10 13:48:30 +02:00
Adam Wulkiewicz
5ea7bcc5a7 [test][point_on_surface] Add test for Polygon using big coordinates (ticket 10643) 2014-10-10 13:05:40 +02:00
Adam Wulkiewicz
326d267f9d [test][setops] Fix invalid namespace in test_get_turns_ll_invariance. 2014-10-09 01:41:43 +02:00
Adam Wulkiewicz
7cf47bb1e5 [overlay][is_valid] Replace int with signed_index_type for segments indexes. 2014-10-08 23:50:16 +02:00
Adam Wulkiewicz
e6331558a5 Merge pull request #150 from mkaravel/fix/for_each-alternate
[algorithms][for_each] Alternative fix
2014-10-02 12:33:47 +02:00
Menelaos Karavelas
8481591e5c [test][algorithms][for_each] add test cases for open geometries (open
ring, open polygon, open multipolygon)
2014-10-02 12:52:56 +03:00
Adam Wulkiewicz
a17b534a06 [test][convex_hull] Update convex_hull tests.
Update multi_convex_hull test to reflect recently made changes for Point-like and Segment-like Output.

Remove the test for MultiPoint from convex_hull test since it's already tested in multi_convex_hull test.
2014-10-02 03:42:03 +02:00
Adam Wulkiewicz
2368590f76 [test][convex_hull] Add test for MultiPoint for which convex_hull() should return invalid Polygon. 2014-10-01 21:53:19 +02:00
Adam Wulkiewicz
e14fd7d950 [test][convex_hull] Add tests for open output Geometries. 2014-10-01 18:32:21 +02:00
Barend Gehrels
bf7ca70687 Merge branch 'develop' into feature/buffer 2014-10-01 10:26:21 +02:00
Menelaos Karavelas
03d505061a [test][algorithms][distance] add test case between linestring and open multipolygon
where the distance is realized between the linestring and an implicit segment of the
multipolygon
2014-10-01 09:35:46 +03:00
Adam Wulkiewicz
439f570d02 [test][iterators] Fix signed/unsigned comparison warnings in segment_iterator test. 2014-10-01 02:19:37 +02:00
Adam Wulkiewicz
e4e6dbc5e2 [test][iterators] Fix signed/unsigned comparison warnings in point_iterator test. 2014-10-01 02:19:20 +02:00
Menelaos Karavelas
c81a75f1dd [test][algorithms][distance] add test case for open polygon and linestring
where the distance is materialized between the linestring and the last (implicit)
segment of the polygon
2014-09-30 17:12:50 +03:00
Menelaos Karavelas
9d75411a90 [test][iterators][segment_iterator] change the return type of segments_begin
and segments_end to be segment_iterator<Geometry const>
2014-09-30 09:53:09 +03:00
Menelaos Karavelas
333ef4bbba [test][iterators][segment_iterator] re-arrange the test code;
add test with std::copy algorithm: use the segment iterator
to copy the segments of a geometry into a vector;
2014-09-26 10:05:54 +03:00
Barend Gehrels
94bd840102 [buffer][test] make labels for turns optional, for good turns and for bad turns 2014-09-24 16:47:29 +02:00
Barend Gehrels
a0d7a260dc [buffer][test] add failing test for which there is not yet a solution.
It is related to colocated turns and sorting
2014-09-24 16:46:41 +02:00
Barend Gehrels
2c84bb4d49 [buffer] block turns instead of discarding them
This fixes case rt_u11
New result of recursive_polygons_buffer: 2 errors out of 510372
2014-09-24 10:36:15 +02:00
Menelaos Karavelas
08c0eee65f [test][iterators] add the unit test for segment_iterator in the Jamfile;
re-arrange the unit tests in the iterators' Jamfile in alphabetical ordering;
2014-09-24 08:51:51 +03:00
Menelaos Karavelas
80b5e6700f [test][iterators][segment_iterator] add unit test for the segment_iterator 2014-09-24 08:50:48 +03:00
Menelaos Karavelas
2756392b51 [test][point_iterator] fix/update includes 2014-09-24 08:38:43 +03:00
Barend Gehrels
e02c82623a [buffer] add new failing testcases (now 9 out of 500000 fail for miter) 2014-09-17 16:53:55 +02:00
Barend Gehrels
8de1b4da16 [buffer] fix comment 2014-09-17 16:52:19 +02:00
Barend Gehrels
8643a35da3 Merge branch 'develop' into feature/buffer 2014-09-17 16:33:32 +02:00
Barend Gehrels
c55e000eef [buffer] small changes in comments/test svg 2014-09-17 16:32:25 +02:00
Barend Gehrels
9298ac2a2c [buffer] fix intersection points on border, equal points should not be checked
and correct order in call to side strategy
This fixes case rt_u10
2014-09-17 16:30:03 +02:00
Adam Wulkiewicz
58b89fc252 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-09-12 22:07:18 +08:00
Adam Wulkiewicz
2f1ef806cf [test] Rename multi/io tests. 2014-09-12 22:06:59 +08:00
Adam Wulkiewicz
c030ad3333 Merge pull request #137 from awulkiew/fix/winding_spherical
Fix/winding spherical
2014-09-12 22:00:30 +08:00
Adam Wulkiewicz
b165409532 [test] rename within strategies test file 2014-09-12 21:59:32 +08:00
Adam Wulkiewicz
3c6f476326 [test] Fix order of Points in within strategies test 2014-09-12 21:54:14 +08:00
Adam Wulkiewicz
cc1cfbda01 Merge pull request #136 from awulkiew/fix/winding_spherical
Fix/winding spherical
2014-09-12 14:58:20 +08:00
Adam Wulkiewicz
31513f3440 [test][within] Add tests for spherical point in poly. 2014-09-12 14:53:52 +08:00
Adam Wulkiewicz
b72662f137 Merge pull request #135 from awulkiew/fix/winding_spherical
Disable testing of franklin and crossings_multiply strategies for spherical CS.
2014-09-11 14:46:46 +08:00
Adam Wulkiewicz
6a25b99864 [test][within] Do not test franklin and crossings_multiply strategies for spherical CS 2014-09-11 14:37:29 +08:00
Barend Gehrels
e3130b2f39 [buffer][test] added new failing testcase rt_u10 2014-09-10 15:45:32 +02:00
Barend Gehrels
e6043d9a5c [buffer] fix cases where intersection point falls between robust piece
and non-robust original. We now check robust representions of originals
where this cannot happen
This fixes rt_u9
This obsoletes turn_in_input
2014-09-10 15:33:44 +02:00
Barend Gehrels
fcd0c5b768 [buffer] helper_points (formerly called helper_segments) are now optional
and we rescale/finish the piece on the fly and not in a separate call
2014-09-10 13:05:13 +02:00
Barend Gehrels
2cd418167d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-09-10 11:12:06 +02:00
Barend Gehrels
9a69055b6c Merge branch 'develop' into feature/buffer 2014-09-10 11:07:53 +02:00
Barend Gehrels
e0b82cd47f [test] enable rt_u8 case and change comments 2014-09-10 11:01:21 +02:00
Barend Gehrels
a1f5f50f15 Merge pull request #134 from awulkiew/fix/winding_spherical
Fix/winding spherical
2014-09-10 10:55:57 +02:00
Barend Gehrels
6fcdf246e0 [test] comment update 2014-09-10 10:34:43 +02:00
Adam Wulkiewicz
8e444e6f59 [test][within] Add tests for special cases in spherical CS (some failing) 2014-09-09 13:24:34 +08:00
Menelaos Karavelas
b43faf5457 [test][algorithms][num_points] add test cases for open geometries (including
the edge case where the geometry is defined as open but the first/last points
are identical)
2014-09-05 10:19:43 +03:00
Barend Gehrels
9b5a8dfb2f [buffer][test] add testcase rt_u8, currently still failing 2014-09-03 17:54:17 +02:00
Barend Gehrels
95d794e218 [buffer] fix order when multiple turns are colocated on the same point.
This replaces get_relative_order which was not effectively used anymore and
(most probably) get_left_turns.
This fixes case rt_u7
2014-09-03 17:53:21 +02:00
Barend Gehrels
c271df6a8b Merge branch 'feature/buffer' into develop
Conflicts:
	test/algorithms/buffer/polygon_buffer.cpp
2014-09-03 11:42:30 +02:00
Barend Gehrels
5b42d85326 [buffer][test] add testcase for ticket 10412 (Olivier) 2014-08-30 11:54:57 +02:00
Barend Gehrels
c42aeb4447 [buffer][fix] fix neighbour check in calculating turns. This fixes ticket 10398 2014-08-27 12:27:57 +02:00
Barend Gehrels
12b61c6a0f Merge branch 'develop' into feature/buffer 2014-08-27 11:34:07 +02:00
Barend Gehrels
7a7d5935d6 [buffer][test] add failing ticket 10398 2014-08-27 11:32:33 +02:00
Adam Wulkiewicz
be637c0929 Merge pull request #128 from mkaravel/feature/counting-algorithms
Feature/counting algorithms
2014-08-14 12:57:48 +02:00
Menelaos Karavelas
8fa69ca016 [test][num_segments] change unit test for num_segments, to eliminate testing
for the optional boolean argument in the num_segments free function that no
longer exists
2014-08-11 13:18:08 +03:00
Menelaos Karavelas
77f5a5b136 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/counting-algorithms 2014-08-11 13:12:30 +03:00
Barend Gehrels
baba553a5e [test][robustness] updated tolerance 2014-08-11 11:55:48 +02:00
Barend Gehrels
c72cccb7ed [test][robustness] move overlay/robustness folder to robustness folder 2014-08-11 11:48:34 +02:00
Menelaos Karavelas
43df5efe96 [test,algorithms][util] remove ipower and its unit test 2014-08-11 01:43:37 +03:00
Menelaos Karavelas
0afb92a72c [test][algorithms][num_interior_rings] simplified unit test (by removing unnecessary tests) 2014-08-11 01:09:21 +03:00
Menelaos Karavelas
527d169ba8 [test][algorithms]pnum_geometries] simplified unit test (by removing
unnecessary tests)
2014-08-11 01:08:42 +03:00
Barend Gehrels
1830208b74 [buffer][test] Add rt_u7 which is currently failing because of tripled IP,
needing get_left_turn info again. Added debug info
2014-08-10 19:21:21 +02:00
Barend Gehrels
f98549f82d [buffer][test] Minor change in comments/whitespace 2014-08-10 15:34:33 +02:00
Barend Gehrels
9c3ca1e69a [buffer][test] improve piece labelling on round joins 2014-08-10 15:32:46 +02:00
Barend Gehrels
a7764c1b9e [buffer][fix] use taxicab distance instead of comparable distance
This is faster and avoids overflows. This fixes rt_u6
2014-08-10 15:32:07 +02:00
Barend Gehrels
31abd20829 [buffer][fix] Distinguish between "within" and "within_near_offsetted"
The last one might be offsetted by 1 due to integer rounding. It is not
selectable as a starting point but may be used for traversal
2014-08-10 14:15:04 +02:00
Barend Gehrels
6df7738d3a [buffer][fix] Fix turns which were only on helper-segments, they can be discarded.
This fixes rt_u3 and rt_u4 where a false interior ring was generated
2014-08-10 12:49:37 +02:00
Barend Gehrels
468c3dd36a [buffer][test] clean up old comments/cases 2014-08-10 00:03:15 +02:00
Barend Gehrels
a46e2603d8 [buffer][fix] In rare cases an extra ring was traversed and created. Fixed, that ring is
discarded now. This fixes behaviour of assign_parents with positive-rings in positive-rings (when
check_for_orientation is true; normally (for overlay) it is false)

It also reverses a negative-only ring so fixes a linestring_buffer testcase.

For multi-polygon it fixes new testcase rt_u2 found by recursive-polygon-buffer test
2014-08-09 23:51:42 +02:00
Barend Gehrels
6cf72447d1 [buffer][test] remove unused variable 2014-08-09 23:33:15 +02:00
Barend Gehrels
076f17c241 [buffer][test] change usage of join strategies for robustness check 2014-08-09 23:05:57 +02:00
Barend Gehrels
9df6901a87 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-08-09 22:56:59 +02:00
Barend Gehrels
f41b90f166 Merge branch 'feature/buffer' into develop 2014-08-09 22:56:36 +02:00
Menelaos Karavelas
03705c3df7 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint-1.57 2014-08-09 01:03:41 +03:00
Menelaos Karavelas
6f285b11ea [test][num_geometries][num_interior_rings] combined tests for
open/closed cw/ccw rings, polygons and multi-polygons
2014-08-09 00:42:29 +03:00
Menelaos Karavelas
d22c1ba1a4 [test][util][ipower] make ::ipower function inline 2014-08-08 20:32:44 +03:00
Menelaos Karavelas
fe4244692d [test][algorithms][num_segments] add tests for boxes in 3, 4 and 5 dimensions 2014-08-08 13:14:31 +03:00
Menelaos Karavelas
2d539902f0 [test][algorithms][num_points] add tests for boxes in 3, 4 and 5 dimensions 2014-08-08 13:07:16 +03:00
Menelaos Karavelas
2b83e7493a [test][algorithms] add the unit tests for num_geometries and
num_interior_rings to the Jamfile
2014-08-08 13:06:25 +03:00
Menelaos Karavelas
ec87092dfa [test][algorithms][num_interior_rings] add unit test for num_interior_rings
algorithm, including test for variant support
2014-08-08 13:05:56 +03:00
Menelaos Karavelas
e9b79bce23 [test][algorithms][num_geometries] add unit test for num_geometries
algorithm, including test for variant support
2014-08-08 13:04:53 +03:00
Menelaos Karavelas
01a8e53d2a [test][util] add the unit test for ipower to the Jamfile 2014-08-08 12:56:20 +03:00
Menelaos Karavelas
f87ff27d85 [test][util] add unit test for the ipower metafunction in the util
namespace
2014-08-08 12:55:36 +03:00
Adam Wulkiewicz
3322234f6a [test] Change size type in wrapped_boost_array from int to std::size_t 2014-08-07 00:47:18 +02:00
Adam Wulkiewicz
b5cea9aaf0 [test] Fix size_t to int conversion in test_difference 2014-08-07 00:18:06 +02:00
Adam Wulkiewicz
74a38b84dd Merge pull request #126 from mkaravel/feature/num_segments
Feature/num segments
2014-08-06 23:10:35 +02:00
Barend Gehrels
96825eb7e4 [test][buffer][fix] Fix compilation errors in robustness test for buffer 2014-08-06 13:50:04 +02:00
Barend Gehrels
e1fc427e30 [buffer][fix] Mark points in buffered areas as not startable instead of discarding them
Within can have in rare cases a rounding issue. We don't discard this
point, so it can be used to continue started rings in traversal. But
will never start a new ring from this type of points.

This fixes p17
2014-08-06 13:27:52 +02:00
Menelaos Karavelas
be586b5947 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-08-06 14:02:26 +03:00
Adam Wulkiewicz
42cf08658c [test] Add test for ticket 10234 2014-08-04 14:09:29 +02:00
Menelaos Karavelas
f34f4d4cce [test][algorithms] add missing include 2014-08-04 12:51:55 +03:00
Marek Kurdej
5248675469 Fixed: compilation error requiring /bigobj compiler flag on MSVC. 2014-08-01 15:04:27 +02:00
Menelaos Karavelas
79d8a2c59b [test][algorithms][disjoint] add test cases with empty multipoints;
enable tests for the combinations:
* point / multipoint
* multipoint / multipoint
* multipoint / segment
* multipoint / box
2014-07-31 11:41:22 +03:00
Menelaos Karavelas
e98bfaca4a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-07-29 00:34:33 +03:00
Barend Gehrels
a999baa01e [buffer][test] Exclude failing tests (Aimes),
include succeeding test (O1)
avoid reporting (false) self-intersection (aimes120)
2014-07-27 20:39:46 +02:00
Barend Gehrels
27b95ee544 [buffer][test] increased tolerance for aimes test
Most of them now succeed, with exception of 6 cases
2014-07-27 18:50:43 +02:00
Barend Gehrels
a94d0ce415 [buffer][test] enabled field_sprayer test, added aimes-167 test
Both tests are disabled for flat-ends for the same reason: flat ends should
be intersected with helper-segments too
2014-07-27 18:49:25 +02:00
Barend Gehrels
76bebeee6c [buffer][fix] don't check within concave helper pieces 2014-07-27 18:12:04 +02:00
Barend Gehrels
9467d5d060 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-07-27 17:13:13 +02:00
Barend Gehrels
4d05c94b94 [buffer][test] count only if self IP's are reported (has_self_intersection does
additional checks)
2014-07-27 17:12:01 +02:00
Barend Gehrels
710a0e4308 [buffer][test] enhanced svg debug display 2014-07-27 17:11:29 +02:00
Barend Gehrels
feccd380ee [buffer][fix] Fix limit for consideration as continue, as it was too high
(for Aimes test or in general cases using lat long)
Including addition of unit test (aimes181)
2014-07-27 17:07:32 +02:00
Barend Gehrels
51b82988e9 Merge pull request #113 from mkaravel/fix/buffer-unused-local-typedef
[test][buffer] remove used local typedef
2014-07-27 16:15:15 +02:00
Menelaos Karavelas
43c253fd27 [test][simplify] remove unused local typedef;
uncomment concept check for simplify strategy;
2014-07-27 13:51:41 +03:00
Menelaos Karavelas
cea3a65e7e [test][buffer] remove used local typedef 2014-07-27 13:48:49 +03:00
Adam Wulkiewicz
bf7c758967 [test] Fix unused typedef warning in simplify test 2014-07-25 17:14:27 +02:00
Barend Gehrels
f3c000aadd [buffer][test] comment one test case now failing because of other rescaling factor 2014-07-23 16:05:36 +02:00
Barend Gehrels
6b29736b6c [buffer][test] added missing includes (that depend on Boost.Test) 2014-07-23 15:14:38 +02:00
Barend Gehrels
1fa87bcbba [buffer][fix] to get a proper rescale policy, the buffer distance must be added 2014-07-23 15:13:16 +02:00
Barend Gehrels
dd418dbc69 [buffer][test] catch exceptions per test and
remove skipped testcases
2014-07-23 13:33:37 +02:00
Barend Gehrels
04eeee1b56 [buffer][test] Display name of testcases with self-ips and
disable piece labels by default
2014-07-23 13:29:58 +02:00
Barend Gehrels
e4260a9445 [buffer][test] Extracted test-case for difference spike/continue case 2014-07-23 13:29:19 +02:00
Barend Gehrels
77b2723935 [buffer] make miter_limit flexibel and correct IP to exactly that limit 2014-07-20 16:38:32 +02:00
Barend Gehrels
03b6571555 [buffer][test] join/end strategies are now arguments, such that we can change
the default without changing the tests.
This only changes the parameter / involves many lines but nothing else is changed.
2014-07-20 15:27:24 +02:00
Barend Gehrels
0e77ef5342 [buffer] rename buffer_side to side_straight to make it consistent with other buffer strategies
and buffer is already part of the namespace
2014-07-20 10:52:48 +02:00
Barend Gehrels
0b635e342d [buffer] rename buffer_circle to point_circle to have it consistent with other strategies,
and buffer is already in the namespace. same for buffer_square -> point_square
2014-07-20 10:38:40 +02:00
Menelaos Karavelas
428e010146 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/num_segments 2014-07-17 03:29:16 +03:00
Menelaos Karavelas
ad350863ea [test][algorithms] include unit test for num_segments in Jamfile 2014-07-17 03:02:59 +03:00
Adam Wulkiewicz
d16a343c0a [buffer] Fix buffer_inserter() call in multi_point_buffer test
Function was moved to namespace bg::detail::buffer
2014-07-16 22:28:10 +02:00
Barend Gehrels
97fd8f5332 [buffer] move buffer_inserter to namespace detail::buffer, add overload using 5 strategies 2014-07-16 16:58:02 +02:00
Menelaos Karavelas
b4a9bc4551 [test][algorithms] add unit test for num_segments algorithm 2014-07-16 17:36:15 +03:00
Barend Gehrels
038253e8f5 [buffer] remove end_skip strategy 2014-07-16 15:21:11 +02:00
Barend Gehrels
61ed918240 [buffer] add side/circle strategies to include 2014-07-16 15:12:52 +02:00
Barend Gehrels
bac1ac66af [buffer] avoid having point types in strategies which can be deferred 2014-07-16 15:11:55 +02:00
Barend Gehrels
0f027b5ff9 [buffer] add buffer_circle strategy for points and multi-points, and pass
it all the way through the dispatches
2014-07-16 11:31:35 +02:00
Barend Gehrels
58fa94c897 [buffer][test] use Aimes to test simplify with ax strategy, optionally count number of self-ips 2014-07-16 10:48:27 +02:00
Adam Wulkiewicz
95990f98b1 [test][within] Comment out, mistakenly not commented out line 2014-07-14 19:05:28 +02:00
Adam Wulkiewicz
edf2c00db6 [within][winding] Add more robust calculation of sides in winding strategy.
This commit fixes the ticket https://svn.boost.org/trac/boost/ticket/9628.
The side is calculated always WRT the vertical segment if the p<1> is "equal" to one of the segment endpoint's <1>.
For more information see the comment in the code.
2014-07-14 16:05:26 +02:00
Barend Gehrels
bbe89053ce [simplify] protect work in progress by define because it is still failing 2014-07-12 11:41:26 +02:00
Menelaos Karavelas
6d12d7f715 [test][distance] add test cases for the combinations: polygon/ring,
multipolygon/ring, ring/ring and ring/box
2014-07-11 17:15:43 +03:00
Menelaos Karavelas
48a1951300 [test][distance] add test cases for the multilinestring/ring combination 2014-07-11 17:15:07 +03:00
Menelaos Karavelas
3f762ea23a [test][distance] add test cases for the segment/ring and linestring/ring combinations 2014-07-11 17:12:46 +03:00
Menelaos Karavelas
8e2043bcb4 [algorithms][distance] add test cases for the point/ring and multipoint/ring combinations 2014-07-11 17:11:36 +03:00
Menelaos Karavelas
baf3042d77 [test][distance] add include for rings 2014-07-11 17:11:00 +03:00
Adam Wulkiewicz
bd76327102 Merge pull request #84 from mkaravel/feature/distance
Feature/distance
2014-07-10 23:35:37 +02:00
Menelaos Karavelas
e89234a541 [test][comparable distance] remove tests involving default_comparable_strategy 2014-07-10 11:31:30 +03:00
Adam Wulkiewicz
a6ed7d86ea Merge branch 'develop' into feature/projected_point 2014-07-09 13:59:23 +02:00
Barend Gehrels
5a3cfd62d5 [simplify] add zigzag testcase for testing adt/xdt 2014-07-09 13:39:07 +02:00
Adam Wulkiewicz
c55cee5dd3 [strategies] Fix projected_point_ax+douglass_peucker compilation errors.
Add again operator< for projected_point_ax_result needed to compare the distance with 0 (explicitly converted into the same type).
Remove template parameter from projected_point_ax_less::operator().
Add tests for simplify() and detail::simplify_insert().
2014-07-09 12:58:02 +02:00
Barend Gehrels
e9ac6476aa [simplify] prepare for Adam's enhanced douglas_peucker with pull request #89 2014-07-09 12:01:07 +02:00
Barend Gehrels
0c8f953ee9 [simplify][test] splitted tests such that test with strategy does not
test the version without strategy, to avoid mixing strategy types
2014-07-09 12:00:20 +02:00
Barend Gehrels
64303076dc [simplify][test] added test with strategy 2014-07-09 11:29:30 +02:00
Barend Gehrels
de7ae5dd65 [simplify] prepare for other simplify strategy: added testcase 2014-07-09 11:25:17 +02:00
Barend Gehrels
999ba36e06 [simplify] prepare test for distance object instead of always value, and
added overload accepting a strategy
2014-07-09 11:24:50 +02:00
Menelaos Karavelas
8820e7e266 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/distance 2014-07-08 12:44:32 +03:00
Menelaos Karavelas
b40d0648db [test][algorithms][comparable distance] add tests for variant support 2014-07-08 12:43:51 +03:00
Menelaos Karavelas
91935eea08 [test][algorithms][distance] replace result_of::distance by distance_result 2014-07-08 12:42:49 +03:00
Adam Wulkiewicz
f20303af2f [buffer][test] Fix bugs in get_left_turns and some in the robustness test 2014-07-08 02:57:29 +02:00
Adam Wulkiewicz
9cfee81a09 [geometry] Replace tabs with spaces 2014-07-08 02:27:17 +02:00
Barend Gehrels
3ac6442393 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-07-06 20:22:48 +02:00
Barend Gehrels
b6b49f5308 [buffer] fix check of buffer_flat_end for inside 2014-07-06 20:22:04 +02:00
Adam Wulkiewicz
004e4e465f [test][range] Shield part of a test with macro (storing NonMovable is std::vector<>) 2014-07-06 12:19:30 +02:00
Adam Wulkiewicz
0b677ae1aa [strategies] projected_point_ax strategy relocated to separate file 2014-07-05 19:57:41 +02:00
Adam Wulkiewicz
3855610e05 Add projected_point_ax cartesian distance strategy. 2014-07-04 17:14:15 +02:00
Barend Gehrels
da1323716a [buffer] Pass side strategy 2014-07-03 19:59:28 +02:00
Menelaos Karavelas
f2c8ccefca [test][is_valid] add as test case the polygon used in the documentation
example for is_valid
2014-07-02 11:28:40 +03:00
Menelaos Karavelas
6490d2db4a [test][is_valid] add one more test case: add a polygon with many holes
(important note here: many means more than the number of turns)
2014-07-02 02:29:06 +03:00
Adam Wulkiewicz
e9178b6a80 Merge pull request #75 from mkaravel/feature/is_simple
Feature/is simple
2014-07-01 17:27:01 +02:00
Menelaos Karavelas
fcc5d26877 [test][iterators] remove tests for points_front and points_back 2014-06-30 12:18:45 +03:00
Barend Gehrels
b637012bf3 [test] add bigobj flag for union/buffer 2014-06-28 13:22:32 +02:00
Menelaos Karavelas
a156ba17dc [test][is_valid] add test cases for polygons and multi-polygons inspired by email
exchanges with Barend Gehrels
2014-06-27 13:02:39 +03:00
Menelaos Karavelas
f0f037df2b Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-26 22:52:43 +03:00
Barend Gehrels
7baf1a29e5 [buffer] We have to simplify the ring before to avoid very small-scaled
features in the original (convex/concave/convex) being enlarged
in a very large scale and causing issues (IP's within pieces).
This might be reconsidered later. Simplifying with a very small
distance will never be visible in the result,
if it is using round joins. For miter joins they are even more
sensitive to small scale input features, however the result will
look better.

A distance strategy can change behaviour (make larger - set simplify
distance to 0.0 to avoid simplification)

This fixes the parcel issue(s)
2014-06-25 13:32:42 +02:00
Menelaos Karavelas
bcaf4a374a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-25 01:54:15 +03:00
Barend Gehrels
7f3b509fb5 [buffer] use endcap strategy for spikes. Check jointype also (again)
for line-line intersection because it is based on buffered segments.
2014-06-24 22:48:04 +02:00
Menelaos Karavelas
a9526bbbc5 [test][is_valid] add multi-polygon test cases where one polygon is inside
a hole of another
2014-06-24 14:47:53 +03:00
Menelaos Karavelas
ec2417f701 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-24 14:08:06 +03:00
Menelaos Karavelas
346784d5e5 [test][is_valid] move validity check functions/classes and related
code to file test_is_valid.hpp; make testing more elaborate: for rings,
convert them to polygons and multi-polygons and test them as such;
for polygons, convert them to multi-polygons and test them as such;
2014-06-24 13:43:52 +03:00
Barend Gehrels
9b6aa189bd [buffer] changes in includes/defines 2014-06-23 22:40:03 +02:00
Barend Gehrels
aa307b5ad2 [buffer] add join_selector and use it before generating the join.
This moves responsibility of generation to the calling code, removes it
from the join strategies. It also enables using the end-strategy for the
spikes
2014-06-23 22:39:29 +02:00
Menelaos Karavelas
91df67e3ce [test][is_valid] add more tests cases for polygon and multi-polygons 2014-06-23 15:44:23 +03:00
Menelaos Karavelas
e7e7f958fb Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple
Conflicts:
	include/boost/geometry/algorithms/detail/is_simple/debug_print_boundary_points.hpp
	include/boost/geometry/algorithms/detail/is_valid/polygon.hpp
2014-06-22 23:09:47 +03:00
Barend Gehrels
51121c1e35 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-22 21:07:36 +02:00
Barend Gehrels
5c3f1f2006 [buffer] fix limit which was too low for LatLong coordinates. Also fix in test
for tolerance which was too high. Added unit test
2014-06-22 19:54:13 +02:00
Barend Gehrels
b6ba959f7b [buffer][test] SVG enhancements 2014-06-22 19:50:06 +02:00
Adam Wulkiewicz
3b1c327922 [test] Replace automatic unit tests with minimal test framework included by geometry_test_common.hpp.
This should silence the msvc-8.0 errors - ambiguous enable_if/disable_if.
2014-06-22 17:57:30 +02:00
Barend Gehrels
b1bcc9c4dc [buffer] test - indentation, remove old comment 2014-06-22 16:11:58 +02:00
Barend Gehrels
2f6abfce3f [buffer] test: remove old code and instead add 3 parcels
which went wrong earlier or still have issues
2014-06-22 16:08:56 +02:00
Adam Wulkiewicz
17f08e3ac4 Merge pull request #66 from mkaravel/feature/debug_macro
Feature/debug macro
2014-06-22 15:29:16 +02:00
Adam Wulkiewicz
5da7133f9f Merge pull request #73 from awulkiew/feature/range
[range] Optimize range::erase() in C++11
2014-06-22 15:27:08 +02:00
Adam Wulkiewicz
ba0906369e [range] Add support for invalidating resize() and workarounds for MSVC and MinGW.
Using of the iterator returned by erase() caused assertion failures (false positive) on MSVC with iterator debugging enabled.
MSVC std::vector can't store non-movable objects if rvalue references are supported.
MinGW std::vector can't store pointers.
2014-06-22 15:17:49 +02:00
Barend Gehrels
3628e85a25 [buffer] fix non-intersecting sides around concave points
there was no segment in between generated, therefore if the side-segments
did not intersect (e.g. donut_diamond in polygon_buffer.cpp unit test),
there was no intersection at all. Now a helper piece is generated and it
will intersect.
2014-06-22 15:12:40 +02:00
Adam Wulkiewicz
cd2e17b102 [range] Optimize erase() in C++11 - use std::move() instead of std::copy() if possible. 2014-06-21 22:08:51 +02:00
Adam Wulkiewicz
a0a296877f [range] Fix the return type of range::erase() and add tests. 2014-06-21 18:18:25 +02:00
Barend Gehrels
7df029b176 [buffer] make buffer (miter, round) around spike possible
including unit testcase. For miters, the limit is enlarged (after
visual inspection of spike_simplex_miter)
2014-06-20 22:34:40 +02:00
Menelaos Karavelas
2eea41b82e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-20 12:30:18 +03:00
Adam Wulkiewicz
05891db57a [test][buffer] Remove unused typedefs. 2014-06-20 00:00:55 +02:00
Adam Wulkiewicz
38afbb322f [test][buffer] Remove unused typedefs. 2014-06-19 23:57:01 +02:00
Barend Gehrels
289a982d89 [difference] change in testcase, fix for MSVC, enabled for other compilers.
enabled for all FP types
2014-06-19 22:07:32 +02:00
Adam Wulkiewicz
844616d8fa Merge pull request #64 from awulkiew/fix/erase
Replace the explicit call to Range::erase()
2014-06-19 20:46:27 +02:00
Barend Gehrels
c5de26945b [overlay] use uniform robust policy, this obsoletes zoom_to_robust 2014-06-19 19:10:28 +02:00
Menelaos Karavelas
7656be4221 [test][is_valid] explicitly set the 2nd template parameter of
check_iterator_range to false
2014-06-19 13:59:01 +03:00
Menelaos Karavelas
17ed15b44c [test][algorithms] prefix (commented) GEOMETRY_TEST_DEBUG macro with BOOST_ 2014-06-19 12:37:49 +03:00
Menelaos Karavelas
4a4d52b082 [geometry][test] prefix macro GEOMETRY_TEST_DEBUG with BOOST_ 2014-06-19 12:24:27 +03:00
Adam Wulkiewicz
43d0ef60f3 [range] Add erase() taking non-mutable iterators (in-line with C++11 std::vector) + tests. 2014-06-19 02:40:39 +02:00
Adam Wulkiewicz
493f51f1fd [range] Add tests for free functions. 2014-06-19 01:48:57 +02:00
Barend Gehrels
76a56c787c [buffer] exclude failing testcase for MSVC 2014-06-18 16:51:13 +02:00
Barend Gehrels
ea222cd5b3 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-18 14:24:53 +02:00
Barend Gehrels
e4e948753b [turns] remove is_discarded() function 2014-06-18 14:24:42 +02:00
Barend Gehrels
dadfe91378 [buffer][test] use other robust_point for counting dupplicate points 2014-06-18 14:08:05 +02:00
Barend Gehrels
0194072516 [buffer][test] optinally skip self-intersection check 2014-06-18 14:07:21 +02:00
Barend Gehrels
84d240ee9d [buffer][test] visit collection twice for mapping 2014-06-18 14:02:18 +02:00
Menelaos Karavelas
4f40ffd313 [test][algorithms][is_simple] remove obsolete includes;
put WKTs of test cases in a single line;
use BOOST_CHECK_MESSAGE instead of BOOST_CHECK;
polish some variable names;
add test for variant support;
2014-06-18 12:59:52 +03:00
Menelaos Karavelas
236bb1b9ac [test][algorithms][is_valid] fix order of booleans in BOOST_CHECK_MESSAGE;
add test for variant support;
2014-06-18 12:54:59 +03:00
Menelaos Karavelas
a4402a9a31 [test][algorithms][is_valid] replace "const bool" and "static const bool" by "bool const" 2014-06-18 04:54:16 +03:00
Menelaos Karavelas
4ab3bd3529 [test][is_valid] add a few more test cases 2014-06-18 04:31:22 +03:00
Menelaos Karavelas
3a1ee0dbdb [test][is_valid] make is_valid test more elaborate by testing all
types of rings, polygons and multipolygons (open/closed, cw/ccw),
and by testing both then spikes/duplicates are allowed or not
2014-06-17 16:34:32 +03:00
Adam Wulkiewicz
a9e4957800 [geometries] Added tests, also for Boost.Assign 2014-06-17 13:52:33 +02:00
Menelaos Karavelas
ee59e0b6e6 [test][is_valid] fix and re-enable non-running test cases 2014-06-17 11:13:00 +03:00
Adam Wulkiewicz
81bcdc34ed [geometries] Define assignment operators taking initializer lists.
Add constructor taking initializer list for multi_point.
2014-06-16 23:54:16 +02:00
Barend Gehrels
2ec5536406 [is_valid] fix non-running testcases and therefore add appropriate failure message 2014-06-16 19:18:16 +02:00
Adam Wulkiewicz
9aaffa5f78 [geometries] Add support for std::initializer_list 2014-06-16 19:06:19 +02:00
Barend Gehrels
b8535cab3c [is_valid] fix unit test compilation typos 2014-06-16 19:02:28 +02:00
Barend Gehrels
eb36979f46 Merge pull request #59 from mkaravel/feature/is_simple
Feature/is simple
2014-06-16 18:48:49 +02:00
Menelaos Karavelas
c3ed6692bf [test][util] add missing include 2014-06-16 15:02:00 +03:00
Menelaos Karavelas
a7beb51f92 [test][util] guard use of boost::long_long_type inside a
BOOST_HAS_LONG_LONG block
2014-06-16 14:54:18 +03:00
Menelaos Karavelas
ee28794572 [test][is_valid] re-factor code so that when an open ring is tested,
the corresponding closed ring is tested as well.
2014-06-16 14:39:55 +03:00
Menelaos Karavelas
2b9a55adc0 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 14:39:07 +03:00
Menelaos Karavelas
d265965b2e [test][util] replace 2LL literal by boost::long_long_type(2) 2014-06-16 14:36:11 +03:00
Menelaos Karavelas
c48fd6f903 [test][util] replace compile time check that uses __cplusplus
with BOOST_NO_LONG_LONG
2014-06-16 14:27:52 +03:00
Menelaos Karavelas
4c9db293b4 [test][algorithms] use boost::geometry:: instead of bg:: 2014-06-16 13:45:06 +03:00
Menelaos Karavelas
a68bcb3b13 [test][algorithms] factor-out common code 2014-06-16 12:30:36 +03:00
Menelaos Karavelas
2438af55b3 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-16 12:20:38 +03:00
Menelaos Karavelas
a1a2856743 [test][algorithms][is_simple] assert that the geometries tested
for simplicity are valid
2014-06-16 12:19:12 +03:00
Menelaos Karavelas
a0b1e53a92 [test][is_valid] update is_valid unit test to take into account
that duplicate points for areal geometries may be acceptable or not
2014-06-16 12:14:08 +03:00
Adam Wulkiewicz
76917a4e70 [within][covered_by][test][doc] Support Point in Segment.
Add tests and update implementation status.
Add the test for intersects(Point, Segment).
2014-06-16 03:49:51 +02:00
Menelaos Karavelas
c1ca7590fd [test][is_simple] remove tests involving non-valid geometries;
fix test cases with closed linestrings; add more test cases;
add tests for areal geometries with duplicate points;
2014-06-16 03:34:26 +03:00
Menelaos Karavelas
363414a23b [test][is_valid] allow spikes for linear geometries 2014-06-15 21:48:09 +03:00
Adam Wulkiewicz
b9ff3a7fc4 [index][strategies][test] Modify some of the header includes.
The purpose of this is to allow the compilation of the rtree without the need of including the geometry.hpp ond require only index/rtree.hpp or to make the order of includes irrelevant.
Furthermore, this is backward compatible.

Add missing variant include in the intersection tests.
Fix the unused typedefs in the pythagoras_point_box test.
2014-06-15 02:29:57 +02:00
Menelaos Karavelas
1b251a7346 [test][algorithms][is_simple] add missing include (strategies) 2014-06-15 00:03:15 +03:00
Menelaos Karavelas
0d577e7d4c [test][algorithms][is_valid] add missing include 2014-06-14 23:50:56 +03:00
Menelaos Karavelas
07039bf584 [test][algorithms][is_valid] fix includes; polish and cleanup code;
add test cases for rings and polygons and onyl a couple for
multi-polygons;
2014-06-14 22:33:55 +03:00
Menelaos Karavelas
ca8d8c7876 [test][algorithms][is_simple] remove unused code; fix includes;
polish and cleanup code; add test case for areal geometries;
2014-06-14 22:30:56 +03:00
Menelaos Karavelas
28ed3e4e59 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-14 16:04:24 +03:00
Barend Gehrels
1e7a631379 [buffer] rename check_original to turn_in_input
comparable to point_in_geometry.
This removes multi_buffer_inserter
2014-06-14 11:39:49 +02:00
Barend Gehrels
4a388f855d Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-14 11:03:44 +02:00
Barend Gehrels
e00e307f2f [buffer] remove unused functionality 2014-06-14 11:01:42 +02:00
Barend Gehrels
cee0903f2d [buffer] Remove buffer_piece_collection_with_mapper
this was a debugging tool. It is now replaced by a visiting policy (like
in partition), and implemented in the unit test itself
2014-06-14 10:57:59 +02:00
Menelaos Karavelas
c962616ff5 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/math-sqrt
Conflicts:
	include/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp
2014-06-14 01:58:01 +03:00
Barend Gehrels
fdd983ce72 [buffer] Changes in (folder)locations of strategies, and
moved buffer_side_selector and piece_type used by strategies.
2014-06-13 21:30:53 +02:00
Barend Gehrels
c96d6394a9 [buffer] update include guards/copyright info 2014-06-13 20:45:34 +02:00
Barend Gehrels
31af14453a [buffer] Move from extensions to algorithms/detail 2014-06-13 20:26:33 +02:00
Adam Wulkiewicz
8fe51dbd6c [test] Remove the #includes of geometry.hpp and multi/* from the relops tests 2014-06-13 18:48:14 +02:00
Adam Wulkiewicz
3edeaeb2af [algorithms][io][test] Fix some rather harmless conversions warnings and add /bigobj for some tests for VS. 2014-06-13 16:13:35 +02:00
Menelaos Karavelas
50826192c6 [test][algorithms] polish copyright header 2014-06-13 16:22:28 +03:00
Menelaos Karavelas
ed781446ae [test][algorithms] add entries in Jamfile about is_simple and is_valid
unit tests
2014-06-13 15:48:38 +03:00
Menelaos Karavelas
9027a0fcab [test][is_simple] create segment by WKT string instread of by make_segment function 2014-06-13 12:16:31 +03:00
Menelaos Karavelas
163357c315 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-13 11:43:45 +03:00
Barend Gehrels
7531e541b2 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-06-12 18:51:44 +02:00
Barend Gehrels
d06c25bc5f [buffer] Remove helper functions now not used/need anymore 2014-06-12 18:50:47 +02:00
Adam Wulkiewicz
e277cce32f Merge pull request #57 from awulkiew/fix/boost_polygon
Fix/boost polygon
2014-06-11 16:57:38 +02:00
Barend Gehrels
0287c1d3bb [partition] support heterogenous collections 2014-06-11 14:17:09 +02:00
Barend Gehrels
b0786ddff1 [partition] fix non-svg unit test 2014-06-11 13:41:02 +02:00
Barend Gehrels
a707a887f2 [partition] add unit test for partition of two collections 2014-06-11 13:29:40 +02:00
Barend Gehrels
269afda349 [partition] fix unit test
check was only done if SVG was enabled
2014-06-11 13:28:42 +02:00
Menelaos Karavelas
82bb00ed40 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-10 10:07:39 +03:00
Menelaos Karavelas
ed442a15d2 [test][util] add unit test for math::sqrt 2014-06-10 09:19:58 +03:00
Menelaos Karavelas
ef1a257242 [util][math] fix return type for math::sqrt; fix implementation
for sqrt for non-fundamental types (use the using mechanism);
2014-06-10 09:18:28 +03:00
Adam Wulkiewicz
400eec193b [adapted] Specialize resize<> trait for polygon_data required by Ring concept 2014-06-10 00:17:12 +02:00
Barend Gehrels
5a85076f4b [get_left_turns] reimplement using integer arithmetic
including unit test
2014-06-08 19:03:11 +02:00
Adam Wulkiewicz
8f80b3b171 [test] Fix compilation error in pythagoras distance strategies tests - missing TypeOf header 2014-06-08 00:43:50 +02:00
Menelaos Karavelas
73bcb4a54e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-06 01:48:13 +03:00
Adam Wulkiewicz
f6ba62a43a [comparable_distance][test][extensions] Break comparable_distance into interface and implementation.
Also remove geometry.hpp header include from comparable_distance test and nsphere header included in all tests.
2014-06-06 00:29:31 +02:00
Menelaos Karavelas
ed956a4eaf Merge branch 'feature/is_simple' of github.com:mkaravel/geometry into feature/is_simple 2014-06-04 12:10:38 +03:00
Menelaos Karavelas
8e1f963e37 Merge branch 'feature/distance' of github.com:mkaravel/geometry into feature/distance 2014-06-04 12:03:53 +03:00
Menelaos Karavelas
795fdf82a7 [test][strategies] add entry for unit test for pythagoras point-box 2014-06-03 18:58:33 +03:00
Adam Wulkiewicz
188b1c3e48 [test] Fix unused typedef warnings 2014-06-03 16:20:11 +02:00
Menelaos Karavelas
8aadb31dc8 [test][strategies] add unit test for pythagoras point box strategy 2014-06-03 13:41:39 +03:00
Menelaos Karavelas
7e0652ef69 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-06-03 08:54:02 +03:00
Menelaos Karavelas
b970646722 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-30 15:12:51 +03:00
Menelaos Karavelas
4d16a2112a Merge branch 'develop' of https://github.com/boostorg/geometry into feature/distance-default-strategy 2014-05-30 15:06:52 +03:00
Sam Spilsbury
be3ee10849 [geometry][test] Fix concept check failures.
The functions in arithmetic.hpp would check the concepts Point and ConstPoint
on Point2, instead of checking Point on Point1 and ConstPoint on Point2.

This would cause concept check failures when attempting to operate from
a ConstPoint.
2014-05-30 00:04:20 +08:00
Menelaos Karavelas
916e9bb495 [test][strategies] add compile time check for the default strategy
where the geometry tags are reversed
2014-05-29 14:54:25 +03:00
Menelaos Karavelas
f989738ebe [test][strategies] update copyright headers 2014-05-29 14:47:07 +03:00
Menelaos Karavelas
232f266798 [test][strategies] add compile time check for existence of default
strategy for projected point and cross track
2014-05-29 14:43:57 +03:00
Menelaos Karavelas
f1d12c53d7 [test][strategies] fix compilation errors for pythagoras and haversine
unit tests (introduced by the changes in pull request #47)
2014-05-29 14:09:19 +03:00
Barend Gehrels
3333ee09b1 Merge pull request #47 from mkaravel/feature/distance-default-strategy
Feature/distance default strategy
2014-05-28 15:30:45 +02:00
Barend Gehrels
d799a9a6b5 Merge pull request #44 from mkaravel/feature/distance
Feature/distance
2014-05-28 15:28:59 +02:00
Menelaos Karavelas
bb20a1c1c7 [distance] fix order of template parameters for default strategy:
the two geometry tags should be the first two template parameters
2014-05-28 16:07:20 +03:00
Barend Gehrels
398d7d7981 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-05-28 12:57:56 +02:00
Barend Gehrels
4453f7bd6d [rescale] fix unit test and avoid BOOST_AUTO_TPL
Unit test is reworked. BOOST_AUTO_TPL is avoided using two specific methods
2014-05-28 12:57:35 +02:00
Menelaos Karavelas
8d7c448315 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-28 11:09:59 +03:00
Menelaos Karavelas
d3e5c63b7a [test][disjoint] add more segment-box test cases in disjoint_coverage unit test 2014-05-28 03:47:32 +03:00
Adam Wulkiewicz
dd7d298d72 [test][crosses] Add tests for more geometries combinations. 2014-05-27 16:03:15 +02:00
Adam Wulkiewicz
bb305769bc [test][overlaps] Add test for Ls/MLs and the reversed order of parameters. 2014-05-27 15:49:06 +02:00
Adam Wulkiewicz
b1fb018c11 [test][equals] Add test for the reversed order of parameters. 2014-05-27 15:38:05 +02:00
Barend Gehrels
38ae13e362 Merge pull request #42 from mkaravel/feature/assign
[test][assign] fix errors in test of variant support for assign
2014-05-26 13:39:31 +02:00
Menelaos Karavelas
ebbcb39daa [test][assign] fix errors in test of variant support for assign 2014-05-26 14:26:07 +03:00
Menelaos Karavelas
d3d018b1ec [test][distance] add missing typename 2014-05-26 14:04:18 +03:00
Bruno Lalande
e370877089 Use the appropriate type to get the area type 2014-05-24 10:56:10 +01:00
brunolalande
5697607195 Merge pull request #40 from sdebionne/variant/intersection
[intersection] Add variant support
2014-05-23 23:32:48 +01:00
brunolalande
34f7fb1d19 Merge pull request #37 from sdebionne/variant/assign
[assign] Add variant support
2014-05-23 23:30:55 +01:00
brunolalande
ba53f02d54 Merge pull request #38 from sdebionne/variant/crosses
[crosses] Add variant support
2014-05-23 23:29:32 +01:00
Adam Wulkiewicz
4f69224c35 Merge pull request #35 from mkaravel/feature/disjoint
Feature/disjoint
2014-05-24 00:09:07 +02:00
brunolalande
d563f3706d Merge pull request #39 from sdebionne/variant/expand
[expand] Add variant support
2014-05-23 23:03:55 +01:00
Menelaos Karavelas
4c1bf7b28f Merge branch 'develop' of https://github.com/boostorg/geometry into feature/disjoint 2014-05-23 20:47:39 +03:00
Samuel Debione
b8a581f3ad Revert "[expand] Adds support for variant box"
This reverts commit 52ce484c7f.
2014-05-23 16:26:54 +02:00
Samuel Debione
52ce484c7f [expand] Adds support for variant box 2014-05-23 15:02:46 +02:00
Samuel Debione
158433af6f [intersection] Add test for variant 2014-05-23 12:35:52 +02:00
Samuel Debione
8f2addce33 [expand] Add tests for variant 2014-05-23 10:55:06 +02:00
Samuel Debione
4b32473630 [crosses] Add tests for variants 2014-05-23 10:37:49 +02:00
Samuel Debione
9e61d9d759 [assign] Fix the variant tests
Reference was missing.
2014-05-23 10:18:17 +02:00
Samuel Debione
999fdff2eb [assign] Add copyright notice 2014-05-23 10:12:39 +02:00
Samuel Debione
594add5e1b [assign] Add tests for variants 2014-05-22 16:32:47 +02:00
Samuel Debione
82abc509df Merge remote-tracking branch 'boostorg/geometry/develop' into develop 2014-05-22 12:15:04 +02:00
Samuel Debione
421abd19c6 Merge remote-tracking branch 'boostorg/geometry/develop' into variant/expand 2014-05-22 12:10:14 +02:00
Menelaos Karavelas
3ec53c8626 [test][disjoint] fix definition of polygon that is inconsistent with WKTs used 2014-05-22 02:24:14 +03:00
Samuel Debionne
c5b3acb70c [expand] Add variant support 2014-05-21 21:02:53 +02:00
Barend Gehrels
eb64384737 [test] Temporarily disable rescale test 2014-05-21 17:18:24 +02:00
Menelaos Karavelas
da4ee4d6fe [test][disjoint] add unit test for checking which geometry combinations
work with disjoint
2014-05-21 17:07:00 +03:00
Menelaos Karavelas
90ac851e4e [disjoint] add missing includes 2014-05-21 17:06:36 +03:00
Menelaos Karavelas
678ecd1541 [test][distance] in the case of the segment-box combination,
also test output with respect to the generic algorithm that first
checks for intersection, and if that fails, checks all possible
point-segment combinations of the segment and and the box
2014-05-19 16:42:07 +03:00
Menelaos Karavelas
42105b5f82 [test][distance L/A] add two seg-box test cases provided by Adam Wulkiewicz 2014-05-19 16:41:14 +03:00
Samuel Debione
09a8ba53a7 [distance] Use transform_variant
Remove dependency to is_implemented. Update transform_variant to support
MPL sequence input.
2014-05-19 13:52:09 +02:00
brunolalande
6d8a31951b Merge pull request #32 from mkaravel/develop
Develop
2014-05-18 21:40:52 +01:00
Adam Wulkiewicz
c4ca605bab [overlay][relate][within][test] Fix unused variable warnings. 2014-05-18 00:20:36 +02:00
Adam Wulkiewicz
d0cf100a65 [get_turns][relate][test][index] Fix unused variable warnings.
In the rtree/pack_create replace (void)variable to boost::ignore_unused_variable_warning().
2014-05-17 14:10:34 +02:00
Samuel Debione
595f6fe457 [distance] Fix some typo and add more tests 2014-05-16 16:14:50 +02:00
Samuel Debione
e07e5052ee [distance] Merge from upstream 2014-05-16 15:57:48 +02:00
Samuel Debione
11e2d964d3 Merge from upstream 2014-05-16 13:34:41 +02:00
Menelaos Karavelas
b992ddf185 [test][perimeter] do not test the variant-related code if GEOMETRY_TEST_DEBUG is defined
(the variant-related code does not compile when GEOMETRY_TEST_DEBUG is defined);
replace bg::perimeter_result (non-existing) by bg::default_lentgh_result (error
produced when compiling with -DGEOMETRY_TEST_DEBUG)
2014-05-16 14:24:32 +03:00
Menelaos Karavelas
91d461100c [test][length] do not test the variant-related code if GEOMETRY_TEST_DEBUG is defined
(the variant-related code does not compile when GEOMETRY_TEST_DEBUG is defined)
2014-05-16 14:17:48 +03:00
Menelaos Karavelas
cbbb51f18d [test] add missing include in test/string_from_type.hpp (#include <string>) 2014-05-15 19:13:04 +03:00
Adam Wulkiewicz
8aa3ef425e [equals][index/examples] Optimize equals(Seg,Seg) and fix index/examples
Use less comparisions in equals(Seg,Seg) - suggested by Menelaos Karavelas
Add missing include to examples - caused by the recent change of the distance/rtree
2014-05-15 02:56:15 +02:00
Menelaos Karavelas
087a42e9fd [test][distance] make sure sqrt is called with a double argument (to avoid problems with VS2010 that does not promote ints to doubles in sqrt) 2014-05-14 17:58:46 +03:00
Menelaos Karavelas
eb5f82aecd [test][distance] eliminate make_* functions in test_distance_common.hpp; replace occurrences of these functions with wkt descriptions of the geometries (boxes and segments) 2014-05-14 17:54:13 +03:00
Samuel Debione
3d528db92c [distance] First step to fix tests 2014-05-14 16:27:55 +02:00
Menelaos Karavelas
04455dc1ce Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-14 16:29:50 +03:00
Menelaos Karavelas
a9fd41e355 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-05-14 15:42:25 +03:00
Menelaos Karavelas
1083dce436 [test] fix unused variable warnings produced with clang++ and -Wextra 2014-05-14 15:40:27 +03:00
Menelaos Karavelas
aebd3cefe2 [test][set ops L/L] fix unused variable warnings produced with clang++ and -Wextra 2014-05-14 15:39:56 +03:00
Barend Gehrels
71be9ab855 [test] added include for multi 2014-05-14 14:19:04 +02:00
Barend Gehrels
a703cae46e [num_points][test] Added test for num_points which was not yet there 2014-05-14 14:18:48 +02:00
Barend Gehrels
afb301f6ed [unit test] Made from_wkt inline and avoid abbreviations 2014-05-14 13:47:22 +02:00
Barend Gehrels
09365f0086 [unit test] Added copyright info 2014-05-14 13:46:52 +02:00
Samuel Debione
124f783d3b [distance] Add variant tests
No finished yet
2014-05-13 16:40:41 +02:00
Menelaos Karavelas
ef5d49a3fa [test][distance] replace operator() by static apply method in tester of distance of two geometries; activate test for the segment-ring combination 2014-05-13 11:57:09 +03:00
Menelaos Karavelas
cfb445773e [test][distance] make clear the distinction between distance result and comparable distance result (use correct types and checks) 2014-05-13 11:01:45 +03:00
Menelaos Karavelas
cfef0b8d68 [test] extract string_from_type class in geometry_test_common.hpp in a separate file 2014-05-13 10:55:36 +03:00
Menelaos Karavelas
9d9f1241be [test][distance] add test case for distance between boxes with integer coordinates 2014-05-13 10:54:35 +03:00
Menelaos Karavelas
f565154090 [test][strategies] add unit test to test the return type of the default distance result and the default comparable distance result 2014-05-10 15:14:19 +03:00
Menelaos Karavelas
aba739439b [test][distance L/A] add test case for segment-box distance, where the segment degenerates to a point 2014-05-09 23:07:00 +03:00
Menelaos Karavelas
5c5d42341c [test][distance] move unit test code from test/multi/algorithms/multi_distance.cpp to test/algorithms/distance.cpp;
delete test/multi/algorithms/multi_distance.cpp;
2014-05-09 22:25:45 +03:00
Menelaos Karavelas
a7d02e0391 [distance][test] enable segment-segment distance computations 2014-05-09 00:20:24 +03:00
Menelaos Karavelas
8a23c01061 [test][distance] add common code for distance unit tests 2014-05-08 15:02:49 +03:00
Menelaos Karavelas
319f9a7b83 [test][algorithms] add new unit tests for distance in Jamfile 2014-05-08 13:46:31 +03:00
Menelaos Karavelas
302c25280d [distance] add unit tests for all geometry combinations 2014-05-08 13:45:10 +03:00
Menelaos Karavelas
cdd4bbc1aa Merge branch 'develop' of https://github.com/boostorg/geometry into feature/is_simple 2014-05-08 02:01:53 +03:00
Adam Wulkiewicz
dffd4a4f64 Merge pull request #22 from mkaravel/feature/setops
Feature/setops
2014-05-07 11:58:11 +02:00
Adam Wulkiewicz
6407199617 Merge pull request #21 from mkaravel/feature/point_iterator
Feature/point iterator
2014-05-07 11:57:20 +02:00
Menelaos Karavelas
50f975cd89 [test][iterators] replace #include of type traits by the specific one used (is_const) 2014-05-06 22:00:05 +03:00
Adam Wulkiewicz
8eefe4d3ba [equals] Add missing copyright info 2014-05-06 19:00:28 +02:00
Adam Wulkiewicz
8bb1d98aaf [equals][relate] Add equals() Ls/MLs, MLs/MLs. Fix relate(L/L).
Also use relate() in equals(Ls,Ls) because collect_vectors() approach doesn't work properly for non-simple or even opposite/reversed Linestrings.

Fix how 'u' is handled in relate() in the edge case when there are more 'u' operations in the same point, also when 'u' is on the first endpoint followed by 'i' on the same IP.

Add tests for equals() and relate().
2014-05-06 16:18:05 +02:00
Menelaos Karavelas
47e961cb3f [test][iterators] qualify free functions as inline 2014-05-06 16:34:26 +03:00
Menelaos Karavelas
321d12c56a [test][set ops L/L] add two more test cases with spikes (examples sent by Adam on the BG mailing list) 2014-05-05 14:45:26 +03:00
Menelaos Karavelas
606295db4a [test][set ops L/L] add more test cases for difference and intersection of linear geometries; the geometries in these test cases have spikes 2014-05-05 12:08:36 +03:00
Menelaos Karavelas
a73ce5fbd6 Merge branch 'develop' of https://github.com/boostorg/geometry into feature/setops 2014-05-05 10:23:45 +03:00
Menelaos Karavelas
99dbc5082e Merge branch 'develop' of https://github.com/boostorg/geometry into feature/point_iterator 2014-05-05 10:22:25 +03:00
Menelaos Karavelas
454ece176a [test][point iterator] re-factor test code; add tests for points_front, points_back, points_reverse_iterator; test point_iterator as bidirectional iterator 2014-05-05 09:48:49 +03:00
Menelaos Karavelas
5a5d916985 [test][iterators] re-factor test code for flatten and concatenate iterators 2014-05-05 09:47:28 +03:00
Menelaos Karavelas
2affff6fd0 [test][iterators] added copyright header 2014-05-05 09:47:00 +03:00
Adam Wulkiewicz
aea578c602 [get_turns] Fix turn operation is_collinear values for L/L and L/A.
is_collinear for the first endpoint of L is now unified and is always equal to FALSE.

Add tests of is_collinear. It is tested by passing 4th and 5th char in the expected turn string (= means collinear, + means non-collinear), e.g. "mxi=+" for L/L means that L1 ends in this IP and was collinear before meeting the Point, L2 is going "inside" intersection and wasn't collinear before.

Replace method_and_operation_replacer with turn_transformer.
2014-05-04 22:31:13 +02:00
Adam Wulkiewicz
47d581304e [relate][test] Enable tests for 2-Point degenerated Linestrings 2014-05-03 13:57:08 +02:00
Adam Wulkiewicz
8775e65b20 [get_turns] Add tests for t-spikes vs collinear internal pt for L/L 2014-05-03 04:11:22 +02:00
Adam Wulkiewicz
7192e6cbf6 [get_turns] Add more tests for t-spikes for L/L 2014-05-03 04:02:44 +02:00
Adam Wulkiewicz
d4d7bf9657 [get_turns] Fix the generation of some special cases of touch-spike-turns for L/L and L/A 2014-05-03 02:40:21 +02:00
Menelaos Karavelas
6fd158cf90 [concatenate iterator] re-factor unit test; add tests for bidirectional iterators; 2014-05-02 13:29:06 +03:00
Adam Wulkiewicz
93c5c4a329 Merge branch 'develop' of github.com:boostorg/geometry into develop 2014-05-01 12:38:07 +02:00
Adam Wulkiewicz
288c7e6980 [get_turns] Fix for L/L spike vs. endpoint for the same direction segments. Add failing test cases for spikes touching internal point 2014-05-01 12:37:54 +02:00
Menelaos Karavelas
5a2993d30f [concatenate_iterator] make the iterator bidirectional 2014-05-01 01:37:35 +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
Adam Wulkiewicz
566957de29 [test][get_turns] Add failing test cases for L/L 2014-04-30 12:57:39 +02: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
d7c6c39182 [test][difference L/L] add a couple more test cases of geometries with spikes 2014-04-30 12:09:37 +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
2b93a1e390 [test][is_simple] more test cases for linear geometries; add missing includes; 2014-04-29 20:03:12 +03:00
Menelaos Karavelas
342d7d2a45 [test] add missing includes; fix wrong result with empty multilinestring 2014-04-29 20:02:14 +03: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
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
82ce56765d [test][set ops] separate test with duplicate points as different test cases; add test cases with spikes; 2014-04-28 12:07:56 +03:00
Menelaos Karavelas
f25e0c2d7e [test][set ops] separate tests with multiple points as different test cases 2014-04-28 12:07:08 +03: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
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
Adam Wulkiewicz
b682b8996b [test] Add intersection test for 1-3d boxes 2014-04-26 14:23:35 +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
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
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
db318225f3 [touches] Add the implementation for Box/Box 2014-04-23 16:33:43 +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
2bfede47f3 updated tests due to changes in rescale_to_integer branch 2014-04-23 13:30:00 +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
561fab72d2 Fixed expectactions for difference_spike, after enhanced IP calculation 2014-04-19 21:39:49 +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
0d01847701 [relate][test] Add tests for consistency check (overlapping and Point-sized Lss) 2014-04-18 14:58:29 +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
a0d03ed4cf [test] Divide relate() test into several smaller ones.
The intention is to prevent creation of too big files in MinGW.
Move predefined Geometries for relops from test_relate.hpp to predef_relop.hpp
Move test_geometry<> defined in relate.cpp to test_relate.hpp
2014-04-17 13:55:28 +02:00
Adam Wulkiewicz
b87400d822 [test][within] Divide within() test into several smaller files.
The intention is to prevent creation of too big files in MinGW.
2014-04-17 13:30:51 +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
2d6cc4feae Merge pull request #15 from mkaravel/feature/setops
[test][set ops] remove linking dependency with Boost.Test for P/P and L/...
2014-04-16 12:12:38 +02:00
Menelaos Karavelas
14df2155d2 [test][set ops] remove linking dependency with Boost.Test for P/P and L/L unit tests for union 2014-04-16 12:51:07 +03:00
Menelaos Karavelas
fade99b3b8 [test][iterator] remove linking dependency with Boost.Test framework 2014-04-16 12:45:44 +03:00
Barend Gehrels
d3876c017f Removed dependancy on linking with Boost.Test, using header only 2014-04-16 11:18:46 +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
b5a1d2fd98 Merge pull request #11 from mkaravel/feature/setops
Feature/setops
2014-04-14 21:39:38 +02:00
Menelaos Karavelas
70a5fafba9 [test][algorithms][set ops] replace BOOST_CHECK by BOOST_CHECK_MESSAGE and in case of error output the two geometries, the expected and the computed results 2014-04-14 10:36:12 +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
Menelaos Karavelas
ccf03245a5 [point iterator] use the unit test framework library in unit tests (instead of include the test framework and compile it each time) 2014-04-14 02:12:59 +03:00
Adam Wulkiewicz
0631d4ca52 [test][touches] remove invalid #include in multi_touches test 2014-04-12 03:19:11 +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
Menelaos Karavelas
4b7549a39a [test][algorithms] do linking of the unit test framework on a per-unit-test basis 2014-04-11 00:04:40 +03:00
Menelaos Karavelas
b9ea14b76d [test][algorithms] modify Jamfile to work with unit tests for P/P and L/L set ops (need to require that the unit test framework library is available for linking) 2014-04-10 23:39:10 +03:00
Menelaos Karavelas
b88dbfb0cd [test][get_turns] replace AssignPolicy by assign_policy 2014-04-10 15:46:43 +03:00
Menelaos Karavelas
b03318a647 [test] fixed header macros for the from_wkt.hpp file 2014-04-10 15:24:46 +03:00
Menelaos Karavelas
63365a8208 [test][set ops] clean up code; finish up unit test for L/L union; 2014-04-10 15:13:02 +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
fc6ae619ac [test][algorithms] add tests for set operations of L/L and P/P geometries; update copyright header; 2014-04-10 09:25:30 +03:00
Menelaos Karavelas
fdc02a60fe [test] add missing include (fstream) 2014-04-10 09:07:42 +03:00
Menelaos Karavelas
b8765e195a [set ops] added missing include (fstream) 2014-04-10 08:46:20 +03:00
Menelaos Karavelas
caadd6ce00 [set ops] replace included unit test by unit test 2014-04-10 08:45:38 +03: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
1cb4f1f013 [relate] add tests for Poly/MPoly, CCW and open Polygons 2014-04-08 23:40:54 +02:00
Adam Wulkiewicz
d60b0e7cc4 [relate] add tests for Polygons with rings for which IPs were not generated 2014-04-08 15:49:15 +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
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
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
457d22d0d9 [point iterator] add tests for const/non-const iterator equality/inequality 2014-04-07 11:26:14 +03:00
Menelaos Karavelas
2ea67309e7 [point iterator][concatenate iterator] make the unit test more elaborate: add tests for vector-vector and list-list container conbinations 2014-04-07 11:22:07 +03:00
Menelaos Karavelas
ab5c78cec0 [point iterator] minor stylistic fix 2014-04-07 11:19:45 +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
7ac1188823 [feature/is_simple] add test case for multi-points 2014-04-04 16:24:06 +03:00
Menelaos Karavelas
029517cff8 [feature/is_simple] modify debug print-outs a bit 2014-04-04 16:18:38 +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
Adam Wulkiewicz
fd5bd13705 [relate] added more tests for non-simple A/A with holes 2014-04-04 00:22:06 +02: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
b88b4e3d71 [set ops] re-arranged code a bit; moved tests from algorithms/detail/overlay/linear_linear.hpp to currect branch 2014-04-03 03:43:11 +03:00
Menelaos Karavelas
be2795a6f2 [set ops] add missing include 2014-04-03 02:51:16 +03:00
Menelaos Karavelas
5be2682000 [set ops] rename test_set_ops_common.hpp to test_set_ops_linear_linear.hpp 2014-04-03 02:50:30 +03:00
Menelaos Karavelas
4295f0bcf7 [set ops] add more examples with duplicate points and zero length linestrings 2014-04-03 00:36:44 +03:00
Menelaos Karavelas
df33e8a92a [set ops] modify way of calling multilinestring_equals (due to changes in multilinestring_equals) 2014-04-03 00:08:11 +03:00
Menelaos Karavelas
a806cd0419 [set ops] change macro used for debugging 2014-04-03 00:04:50 +03:00
Menelaos Karavelas
b0e2521fa1 [set ops] allow equality for multilinestrings with duplicate linestrings 2014-04-03 00:02:13 +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
Menelaos Karavelas
39a521934d [intersection] guard print-outs within a #ifdef/#endif block 2014-04-02 10:31:43 +03: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
Menelaos Karavelas
4101d4368f [intersection] fix expected intersection in two examples in unit test 2014-04-01 03:47:41 +03: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
Menelaos Karavelas
415500955a [point iterator] minor staylistic changes in unit test for concatenate iterator; 2014-03-31 14:52:03 +03:00
Menelaos Karavelas
861e094b7c [point_iterator] add separate unit test for flatten iterator; updated Jamfile to run the unit tests for point/concatenate/flatten iterator; 2014-03-31 09:33:23 +03:00
Barend Gehrels
ea4408dbdb Fixed renaming in test 2014-03-30 15:17:07 +02:00
Barend Gehrels
2521ce2193 Moved GEOS testcases from traverse to union/intersection/difference 2014-03-30 14:54:24 +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
77703f439e [unit tests] Fixed traverse cases changed by new approach 2014-03-30 13:03:36 +02:00
Adam Wulkiewicz
b6bf7038c9 Merge branch 'develop' into feature/relate 2014-03-29 23:46:22 +01:00
Adam Wulkiewicz
fc1a2545a5 [get_turns] Fix test for L/L and L/A - missing functions in expected_pusher range 2014-03-29 14:41: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
5da4191c59 [point_iterator][concatenate_iterator] add separate unit test; 2014-03-28 11:57:35 +02:00
Menelaos Karavelas
d5d4b08a0c [point_iterator] minor stylistic changes; 2014-03-28 11:57:05 +02:00
Menelaos Karavelas
38682d9b41 [point_iterator] remove function call that is not meaningful; 2014-03-28 00:45:06 +02:00
Menelaos Karavelas
8d09814c50 [point_iterator] adda bit more testing (dereference point iterator); now using boost::assign::tuple_list_of instead of multipoints for giving expected output; 2014-03-27 23:33:54 +02:00
Menelaos Karavelas
8a8132e6c0 [point_iterator] moved files to proper directories 2014-03-27 23:23:51 +02: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
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
40f8174da4 [geometry] After merge, updated test_get_turns by providing segment_ratio_type 2014-03-26 14:38:43 +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
bed33a7ee4 [point iterator] add missing definition of from_wkt in unit test; 2014-03-26 11:25:06 +02: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
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
5316d1f2ad [geometry] replace sub_geometry::get() by sub_range(), fix invalid #includes 2014-03-23 17:16:56 +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
Barend Gehrels
6e36e1b8f1 [geometry] Added comment for ticket #9756 it was invalid, polygons were not closed 2014-03-23 00:05:57 +01:00
Barend Gehrels
ad718d333d [geometry] added testcase for ticket #9756 which is already fixed
in this branch
2014-03-22 23:53:52 +01:00
Barend Gehrels
3b8f444e6c [geometry] added test to intersection unit test for issue reported at
2014/03/21 by 7415963@gmail.com
The issue is not fixed yet.
2014-03-22 23:48:07 +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
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
e65e0718ad Merge branch 'feature/relate' of https://github.com/boostorg/geometry into feature/setops 2014-03-20 11:21:00 +02:00
Adam Wulkiewicz
f2b4ced41b [relate] add test for Areal boundary equal to more than one Ls in MLs forming a linear ring 2014-03-20 01:06:15 +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
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
Menelaos Karavelas
9ae6200a9d [intersection] add a couple more test cases that contain duplicate points or linestrings with zero length; 2014-03-19 17:11: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
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
Menelaos Karavelas
4039c28497 removed commented lines as per Bruno's suggestion 2014-03-15 11:52:04 +02: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
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
97edf7da65 [test/get_turns] expected_pusher is now using FwdRange concept, some tests added 2014-03-13 12:05:06 +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
Adam Wulkiewicz
3142975b72 [relate] supported ORed run-time masks 2014-03-12 12:39:20 +01: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
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
Menelaos Karavelas
9862612b3f changed color of isolated intersection points 2014-03-05 16:51:29 +02:00
Menelaos Karavelas
bec98a3b1c added one more test case 2014-03-05 16:51:08 +02:00
Menelaos Karavelas
751297770c added svg output support for union linear/linear;
tester for union linear/linear has now a static apply method instead of operator();
2014-03-05 13:36:41 +02:00
Menelaos Karavelas
5648d4133d made parts of the tester public and private; 2014-03-05 13:25:51 +02:00
Menelaos Karavelas
39a8f7dfda added support for drawing isolated points generated by the intersection set operation;
added svg for intersection of linear geometries;
tester is not a static apply method instead of operator() (intersection of linear geometries);
2014-03-05 13:24:01 +02: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
Menelaos Karavelas
9341e7dd50 added support for svg output;
changed tester to have a static apply method instead of an operator();
2014-03-05 12:57:42 +02:00
Menelaos Karavelas
178e7f3079 added support for svg output;
tester now has a static apply method intead of operator();
2014-03-05 12:51:26 +02:00
Menelaos Karavelas
f1b3e63d6b added support for svg output for set operation;
tester now has static apply method instead of operator();
2014-03-05 12:45:13 +02:00
Menelaos Karavelas
a40f958e69 changes according to Barend's review 2014-03-05 12:11:05 +02: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
Menelaos Karavelas
925fb9e35b common functionality for set operation testing for linear geometries 2014-03-04 16:28:28 +02:00
Menelaos Karavelas
bae11b04c9 fixes from copy/paste from difference unit test 2014-03-04 16:27:52 +02:00
Adam Wulkiewicz
0147d4d2c3 get_turns(L,A) tests added 2014-03-04 14:36:42 +01: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
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
18a29bac69 some comments changed 2014-02-28 13:00:50 +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
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
Menelaos Karavelas
52c2ce2df9 added example used by Barend in his email to discuss the output of set operations 2014-02-26 12:55:56 +02:00
Barend Gehrels
1236aad099 [geometry] Added testcase for mailing list report 2014/02/23 2014-02-26 11:38:27 +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
8d510d140a added a couple of additional test cases 2014-02-25 02:07:08 +02:00
Menelaos Karavelas
c22b3bedfb minor change in output 2014-02-25 01:36:49 +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
Menelaos Karavelas
ca4aa6a91e the unit test for union of linear geometries; not finished yet 2014-02-24 22:20:24 +02:00
Menelaos Karavelas
8ab19b69c3 tester for union of linear geometries 2014-02-24 22:19:10 +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
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
0b38816c0d finished updating test cases for all three set ops (intersection, difference, sym difference);
added a few more test cases;
using macros properly within unit tests right now;
2014-02-22 15:27:40 +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
a68d9f5855 fixed GCC compilation errors 2014-02-22 04:29:11 +01:00
Adam Wulkiewicz
600174b45d added relate() test to the Jamfile 2014-02-22 01:03:48 +01: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
Menelaos Karavelas
5e733de01f added print-outs for the two geometries, the intersection results for g1,g2 and g2,g1 when the output is an MLS
as well as the intersection result when the output is a multipoint
2014-02-21 13:42:54 +02:00
Menelaos Karavelas
6e8c6b2a40 added test cases for the MLS/MLS combination 2014-02-21 12:10:49 +02:00
Menelaos Karavelas
c7e215076a updated a test case to make it more floating-point robust; added one more test case 2014-02-21 11:45:40 +02:00
Menelaos Karavelas
a63b3ef7c8 added tests for the LS/MLS combination 2014-02-21 11:11:38 +02: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
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
c6f68ac2ec finished LS/LS test cases;
added MLS/LS test cases;
2014-02-20 23:33:26 +02:00
Menelaos Karavelas
95ffb258db test cases for the LS/LS combination 2014-02-20 22:42:13 +02:00
Menelaos Karavelas
e522f4ae68 updated a few more test cases; modified testing equality of intersections (allow now two possible results that depend on the order of the intersection arguments); 2014-02-20 13:43:27 +02:00
Menelaos Karavelas
b8243c7159 unit tests for symmetric difference and intersection of linear geometries; not finished yet; 2014-02-20 12:57:14 +02: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
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
ffb1b8af61 [geometry] Fixed traverse testcase 2014-02-19 11:19:10 +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
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
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
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
cea2384ad6 relate(L,L) some tests added - tests for linear rings not passed, added note about the error 2014-02-13 01:54:55 +01:00
Menelaos Karavelas
90901d6e4e added a couple more test cases 2014-02-13 01:48:23 +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
98b4271ba4 [geometry] Added testcase for union with spike generated 2014-02-12 22:44:54 +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
d140a44bf3 [geometry] Fixed remaining unit test w.r.t. rescale policies 2014-02-12 14:13:25 +01:00
Barend Gehrels
6900fdd46b [geometry] Fixed most of the remaining unit-tests
w.r.t. rescale changes
2014-02-12 12:38:48 +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
Menelaos Karavelas
fe2cfa6422 fixed the result of a test case 2014-02-12 00:23:27 +02: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
773331f6d9 implementation of follower for linear geometries;
added test files for difference of linear geometries;
2014-02-11 10:37:45 +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
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
5c8d34ccd3 [geometry] added short int as a test-type 2014-02-06 22:25:38 +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
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
f10b2d6b92 [geometry] added boost::long_long_type to test-code debug-string 2014-02-05 14:02:35 +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
65721a3d89 added missing get_turn parameters to get_turn_info<>::apply() in get_turn_info.cpp unit test - new TurnPolicy interface 2014-02-02 00:21:00 +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
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
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
bf51c9fc87 added test for get_turns(L,L) 2014-01-29 23:12:38 +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
b70c886f2e IP duplicates handled for endpoints 2014-01-27 16:44:11 +01:00
Adam Wulkiewicz
e7992832a9 added a few test cases 2014-01-24 20:33:51 +01:00
Adam Wulkiewicz
bd686badd7 most of the duplicated endpoints handled 2014-01-24 16:58:11 +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
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
ecd0cd8499 [geometry] Reverted changes earlier in unit test, this appeared to be buggy 2014-01-19 22:27:37 +01:00
Barend Gehrels
95bb6372ab [geometry] Added testcase for ticket #9563 which was already fixed in this branch
Rescaling to robust type already fixed this.
2014-01-18 18:14:51 +01:00
Barend Gehrels
e71c0c92e2 [geometry] Uncommented various testcases for traverse unit test
partly related to rescaling
2014-01-17 20:05:46 +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
75c1010ef1 [geometry] Fixed multi testcases w.r.t. rescaling to robust 2014-01-16 19:34:02 +01:00
Barend Gehrels
f61a9da709 [geometry] Fixed testcases for overlay w.r.t. rescale to integer 2014-01-16 19:03:45 +01:00
Barend Gehrels
417b4d9450 [geometry] Pass rescale policy for get_turns test 2014-01-16 18:46:24 +01:00
Barend Gehrels
90b75b7640 Merge branch 'develop' into rescale_to_integer 2014-01-16 14:19:01 +01:00
Barend Gehrels
a7ca995be5 [geometry] Changes in debug-information 2014-01-16 14:12:37 +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
Bruno Lalande
efd1540b1a Change test_transform_point() to use check_transform(). 2014-01-08 22:36:49 +00:00
Bruno Lalande
be9341df70 Split test_transform_linestring into test/check (in preparation to testing variants). 2014-01-08 17:59:52 +00:00
Bruno Lalande
3019f29a5b Fixed test issue - the test was comparing out1 with itself rather than out2, and started failing when corrected because inappropriately implemented for CS transformations. 2014-01-08 17:54:17 +00:00
Barend Gehrels
5f87dfcd3b [geometry] Unit test traverse, added debug info 2014-01-08 13:51:49 +01:00
Barend Gehrels
831302112e [geometry] Added testcases or changed precisions in a few cases 2014-01-08 13:51:19 +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
1d561e58bd Merge branch 'feature/variants' into develop 2014-01-05 17:10:40 +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
Adam Wulkiewicz
352996aa2e [geometry] added tests for intersects(Ls,Ls) for linestrings with colinear segments 2013-12-27 20:23:33 +01:00
Bruno Lalande
4919e00e2d Made simplify variant-aware 2013-12-24 22:15:15 +00:00
Adam Wulkiewicz
3d8cc8730a [geometry] added relate() test 2013-12-24 04:17:06 +01:00
Adam Wulkiewicz
8f742a692c [geometry] added self-turns output to 1-geometry to_svg() 2013-12-23 14:49:20 +01: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
e871436e30 [geometry] Slightly increased tolerance for the r.e.s. test 2013-12-22 10:56:49 +01:00
Adam Wulkiewicz
4f07087db5 [geometry] handled more cases in relate(Ls, Ls) 2013-12-22 04:00:15 +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
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
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
3f7ef7b739 [geometry] added within(Ls, Ls) tests for overlapping linestrings 2013-12-20 01:41:35 +01:00
Adam Wulkiewicz
907a260b01 [geometry] added within(Ls, Ls) 2013-12-20 01:28:32 +01:00
Barend Gehrels
e3893d31ea [geometry] Modified #clips, caused by fix in touch
(note: this was modified to 4 in 9a9efcff89,
18 dec 19:19:10 so this is effectively a reversal)
2013-12-19 22:43:26 +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
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
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
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
f78626b0f2 [geometry] added parameters reversal for touches() 2013-12-11 17:28:52 +01:00
Adam Wulkiewicz
ce263c3968 [geometry] added some tests for touches(Ls,Ls) 2013-12-11 12:07:27 +01:00
Adam Wulkiewicz
5b417cc66b [geometry] touches(Ls,Ls) algorithm modified 2013-12-11 11:47:16 +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
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
Barend Gehrels
1b3edc3e0d [geometry] unit-test, made par const and ignore it 2013-12-07 11:39:21 +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
3e5333a8c4 [geometry] Remove all trailing spaces (tests) 2013-12-05 19:38:32 +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
a0d3f209d2 [geometry] Avoid generating any SVG, by default, in unit tests 2013-12-04 12:33:06 +01:00
Barend Gehrels
ab869aa7b8 [geometry] Comment failing test: centroid in release-mode 2013-12-04 12:28:07 +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
7ec437a51b [geometry] Added testcase for mailed supposed error. Moved pie-test to header conform other testcases
[SVN r86769]
2013-11-19 21:12:50 +00: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
4250868b59 [geometry] fixed self_intersection_points unit test for clang, added missing include
[SVN r86628]
2013-11-11 22:55:47 +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
Barend Gehrels
43bc982557 [geometry] quarantined test for range adaptors using filter, they do not support boost::size() so we can't use it in (current) practice
[SVN r86598]
2013-11-09 12:38:57 +00:00
Barend Gehrels
52867f02ee [geometry] fixed WKT errors in convert-unit-tests. We now check extra on num_points
[SVN r86596]
2013-11-09 11:52:56 +00:00
Barend Gehrels
6d87fb3858 [geometry] fixed for_each which requires a closing point for its polygon (since WKT now always closes rings explicitly, few weeks ago)
[SVN r86593]
2013-11-09 11:27:55 +00:00
Barend Gehrels
36acf71ab9 [geometry] fixed multi_for_each which requires a closing point (since WKT now always closes rings explicitly, few weeks ago)
[SVN r86592]
2013-11-09 11:22:57 +00:00
Barend Gehrels
ae4326c196 [geometry] fixed multi_simplify test which suffered from too many decimals in the test-output
[SVN r86591]
2013-11-09 11:18:34 +00:00
Barend Gehrels
ca7e072221 [geometry] added tests for point_on_surface for multipolygons
[SVN r86590]
2013-11-09 10:58:51 +00:00
Bruno Lalande
e3cfaf6470 Tests for variant aware envelope.
[SVN r86585]
2013-11-08 08:16:21 +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
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
28d1a9cf3a [geometry] Added real-life testcase for simplify
[SVN r86549]
2013-11-03 17:33:00 +00:00
Barend Gehrels
3b68b369dd [geometry] fixed strategy type, reported by Menelaos on the list
[SVN r86535]
2013-11-01 14:54:58 +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
ba2911a199 [geometry] removed unused variables in unit test
[SVN r86451]
2013-10-26 13:21:47 +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
f85d454d9d [geometry] fixed tests for clang >= 3.2 w.r.t. std::abs and unsigned
[SVN r86358]
2013-10-18 20:48:31 +00:00
Bruno Lalande
80361cb770 Test for centroid's variant-awareness
[SVN r86337]
2013-10-17 06:17:50 +00:00
Bruno Lalande
e6f57e7523 Made the buffer algorithm variant aware.
[SVN r86240]
2013-10-11 21:47:28 +00:00
Barend Gehrels
21e712fe0d [geometry] changed overlay test w.r.t. pointcount, they might now deviate one or two
[SVN r86238]
2013-10-11 20:42:48 +00:00
Barend Gehrels
da927a0905 [geometry] added robustness test for ticket 9081
[SVN r86237]
2013-10-11 20:39:28 +00:00
Bruno Lalande
25206e4d5d Updated the assign unit tests to show it can handle variants (+ refactored a bit)
[SVN r86234]
2013-10-11 07:06:30 +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
32aa8ebd08 [geometry] Unit tests, updated float-versions due to differences in spikes in recent commit (August). This is not tested by default..
[SVN r85775]
2013-09-18 12:20:12 +00:00
Barend Gehrels
7d329b3582 [geometry] added bigobj for the failing MSVC tests
[SVN r85562]
2013-09-04 11:17:34 +00:00
Adam Wulkiewicz
2c41475405 [geometry] tests added for segment/linestring-box intersects().
[SVN r85559]
2013-09-04 01:52:05 +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
Barend Gehrels
95cd9a2126 [geometry] added testcase for ticket 6958 which is also fixed by commit 85451 avoiding spikes
[SVN r85491]
2013-08-27 20:33:32 +00:00
Barend Gehrels
5df00d98c3 [geometry] cleanup test removing defines, moving testing-only-one-type to Jamfile
[SVN r85481]
2013-08-26 21:36:22 +00:00
Barend Gehrels
126511696c [geometry] fixes in unit-test, uncommented one testcase, enabled for 3 of 4 polygon types. Added convenience function to list type in case of errors
[SVN r85480]
2013-08-26 21:15:47 +00:00
Barend Gehrels
082c8e4d53 [geometry] fixed unit-test for intersections w.r.t. coordinates and last commit for spikes. One test is now commented because it returns different values in different situations
[SVN r85467]
2013-08-25 17:51:54 +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
fd95cc49a9 [geometry] added unit-test for tickets 8364 and 8365. They now fail but that will be fixed in next commit
[SVN r85450]
2013-08-24 21:10:12 +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
fdccdbff5e [geometry] cleanup, removing MSVC proj-files where were for version 2005
[SVN r85375]
2013-08-17 15:43:41 +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