1114 Commits

Author SHA1 Message Date
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
4652e56d40 [buffer][test] test tests with many points only in release mode 2015-02-28 13:06:49 +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
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
Menelaos Karavelas
218044919a [test][algorithms][distance] fix MSVC warning C4100 complaining about an unreferenced formal parameter 2015-02-11 19:51:36 +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
aff82800c4 [test][algorithms] Use BOOST_GEOMETRY_CONDITION macro for constant conditions. 2015-02-11 15:53:50 +01:00