Commit Graph

4281 Commits

Author SHA1 Message Date
Vissarion Fysikopoulos
0fb5cabe67 [algorithms] Fix box/segment distance for segment bottom of box 2018-01-11 13:01:00 +02:00
Vissarion Fysikopoulos
27d8955188 [algorithms] Some solution for correcting distance seg-box for spherical anf geo CS 2017-12-21 15:16:02 +02:00
Vissarion Fysikopoulos
ea181b43f1 [algorithms] [strategies] [tests] Fix meridian distance point to meridian segment 2017-12-13 19:37:13 +02:00
Vissarion Fysikopoulos
5a0cfff3fa [algorithms] [envelope] Add meridian segment case 2017-12-11 17:50:30 +02:00
Vissarion Fysikopoulos
2acdbf714f [strategies] Fix meridian case bug for pt-sgmt geo distance 2017-12-11 17:45:09 +02:00
Vissarion Fysikopoulos
1451bead66 [strategies] [algorithms] Add support for geographic box-sgmt distance 2017-12-11 17:41:28 +02:00
Vissarion Fysikopoulos
a0b78391e0 [strategies] [tests] Multipoint box distance support and tests. 2017-12-05 15:43:54 +02:00
Vissarion Fysikopoulos
4b9cf1288d [stategies] Clean-up code for pt/box box/box strategies 2017-12-04 17:32:17 +02:00
Vissarion Fysikopoulos
2ecd4d570f [formulas] [strategies] Meridian crossing pole methods for consistency 2017-12-01 17:32:00 +02:00
Vissarion Fysikopoulos
0632420a46 [strategies] [formulas] Static methods for meridian distance special cases 2017-12-01 16:52:26 +02:00
Vissarion Fysikopoulos
e4a587c0f4 [strategies] [tests] Test degenerate pt/box and box/box cases; fix a bug in pt-sgmt distance strategy 2017-12-01 14:58:16 +02:00
Vissarion Fysikopoulos
0a3204a494 Merge remote-tracking branch 'origin/develop' into feature/distance_box 2017-11-30 16:03:56 +02:00
Barend Gehrels
0e9e6caded [buffer][fix] in deflated buffers it could occur that a turn was missed
(so: not within original) and traveled to itself. This is fixed by checking
for deflated buffers (or inflated interior rings) if the minimum number
of turns is 3.
2017-11-29 16:27:01 +01:00
Barend Gehrels
52e26ab6c1 [dissolve] minor, fix line length 2017-11-24 13:32:19 +01:00
Barend Gehrels
bf0ebd31c5 [dissolve][fix] use rescale policy to fix some cases defined as <float> 2017-11-24 13:31:59 +01:00
Barend Gehrels
b65b212f99 [dissolve] make sure that for dissolve both startable and selection of
union operation does not make use of counts
2017-11-24 12:21:59 +01:00
Barend Gehrels
e474309feb [dissolve] fix selecting the right turn for traveling to itself
This fixes the reported testcase #dissolve_mail_2017_10_26_a
2017-11-24 12:01:35 +01:00
Barend Gehrels
3307dc3b2b Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-11-23 17:26:52 +01:00
Barend Gehrels
fc8cc479fa [traverse] make select_source more generi 2017-11-23 17:15:48 +01:00
Barend Gehrels
751b05ddc1 [buffer] revert one change (should keep multi_index) and
update tests now that validity is improved (but not yet solved).

Also 2 testcases are added generating uu points
2017-11-23 17:03:41 +01:00
Barend Gehrels
88b9e041ed [buffer] for uu-turns, use piece_index instead of multi_index because
a uu turn might be formed at the same source multi-index
2017-11-23 16:02:33 +01:00
Barend Gehrels
ec454bbce1 [buffer] add the necessary piece-information to operators and debug info 2017-11-23 16:01:49 +01:00
Barend Gehrels
1335aac14d [buffer] remove exception for buffer, it is outdated and its omission
is necessary to calculate switch_source correctly
2017-11-23 15:44:30 +01:00
Adam Wulkiewicz
48d2d99b2b [formulas][strategies] Move updating of state from area formulas to strategy where it should be. This also fixes conversion warning. 2017-11-23 15:32:54 +01:00
Adam Wulkiewicz
0e7614f27d Merge pull request #433 from vissarion/feature_fix_pt_sgmt_pole
Fix pt-sgmt strategy for special meridian segments passing through poles
2017-11-23 02:37:11 +01:00
Adam Wulkiewicz
fde5475144 [overlay] Restore old behavior of union for invalid polygons, changeable with #define. 2017-11-23 00:08:13 +01:00
Adam Wulkiewicz
fda7dbb297 [formulas] Improve robustness and add optimization in sjoberg_intersection formula.
- After newton's method check the resulting longitude and finish only if
  it's between segments' endpoints. If it isn't use more robust method.
- Don't perform spheroidal calculation if model is a sphere.
2017-11-22 18:49:17 +01:00
Adam Wulkiewicz
1e1d050bbd [formulas] In Andoyer formula always generate azimuth=0 for antipodal points (besides when p1 is north pole). 2017-11-22 18:41:40 +01:00
Adam Wulkiewicz
ab5fe53c6b [envelope] Fix segment envelope for antipodal endpoints. 2017-11-20 21:07:51 +01:00
Adam Wulkiewicz
a0ab628707 [formulas] Fix formulas for antipodal endpoints (andoyer inverse, thomas direct, sjoberg intersection). 2017-11-20 21:07:00 +01:00
Barend Gehrels
44f61d05bb Merge branch 'develop' of https://github.com/boostorg/geometry into develop 2017-11-19 16:01:09 +01:00
Vissarion Fysikopoulos
92dc0ce8e3 [strategies] Use more efficient meridian arc length call from distance strategy 2017-11-16 18:31:55 +02:00
Adam Wulkiewicz
0b8a704ae9 [core][overlay] Improve/fix add_rings().
Support passing of area strategy into add_rings() and pass it from
overlay, buffer and dissolve.

Add invalid_output_exception and if preprocesor definition is
defined throw it if an intermediate result in add_rings() has negative
area which means that in non-cartesian CS too big polygon is the result.

If area of the intermediate result is 0 ignore it.
2017-11-15 21:23:49 +01:00
Barend Gehrels
1d7d9a9a00 [buffer] fix generation of buffer's interior ring when there is a touching point,
by selecting the right operation
2017-11-15 11:58:27 +01:00
Adam Wulkiewicz
a4ba4dc276 Merge pull request #434 from awulkiew/fix/geographic_union
Fix for union in geographic CS not generating result if it's too big
2017-11-15 00:25:03 +01:00
Vissarion Fysikopoulos
fcc114ee85 [strategies] Meridian distance without creating points 2017-11-13 13:28:40 +02:00
Adam Wulkiewicz
20a994c8bb [buffer] Add missing function argument when not defined BOOST_GEOMETRY_BUFFER_USE_SIDE_OF_INTERSECTION. 2017-11-12 17:01:55 +01:00
Adam Wulkiewicz
ed21755449 [overlay] For union do not check area of result before adding polygons to the output. 2017-11-11 01:20:51 +01:00
Vissarion Fysikopoulos
236ee9aba5 [strategies] Fix bugs in pt-segmt distance; parametric latitude use and sign of derivative 2017-11-09 17:16:47 +02:00
Barend Gehrels
e9b52567fe [buffer] avoid using the flat-end for anything else than linear features,
even if end-strategy is specified for polygons
2017-11-08 17:54:50 +01:00
Barend Gehrels
694299b7c7 [buffer] change last fix by adding is_flat_start/end properties to pieces.
These marks are used to check if a turn is really inside the generated buffer,
or on the flat end (then it should be kept).
This will NOT YET work for one-sided buffers.
2017-11-08 17:47:46 +01:00
Barend Gehrels
f6808f8277 [buffer] fix MYSQL testcase 25662426 2017-11-08 15:37:27 +01:00
Vissarion Fysikopoulos
a66df732bb [formulas] [strategies] Move pt-box and box-box algorithm from formulas to strategies 2017-11-08 14:42:19 +02:00
Vissarion Fysikopoulos
10e88b6bda Merging with develop; use new pt-sgmt distance interface 2017-11-08 13:09:07 +02:00
Vissarion Fysikopoulos
c2ac26eab9 [strategies] [tests] Fix pt-sgmt strategy for special meridian segments passing through poles 2017-11-07 17:35:05 +02:00
Tristan Carel
b520265946 Fix documentation typos in rtree 2017-11-07 08:59:08 +01:00
Adam Wulkiewicz
a7cf3f347a [io] Add workaround for clang-3.0_3 compilation issue. 2017-11-06 16:58:29 +01:00
Vissarion Fysikopoulos
8d412963c8 [formulas] [strategies] Move point-segment distance formula to strategies 2017-11-01 23:41:36 +02:00
Vissarion Fysikopoulos
730d91c3b7 [formulas] Missing include files and namespaces 2017-11-01 22:05:44 +02:00
Vissarion Fysikopoulos
8d29c629d0 [test] Special case handling for Pt-Sgmt distance when segment contains the pole 2017-11-01 21:01:35 +02:00