Commit Graph

8536 Commits

Author SHA1 Message Date
Adam Wulkiewicz
85bcc0c51a [relate] Add relate() and relation() to geometry.hpp
Also adjust doxygen groups.
2015-05-01 02:55:25 +02:00
Adam Wulkiewicz
b05ccb660b [test][relate] Add tests for variants. 2015-05-01 02:22:14 +02:00
Adam Wulkiewicz
a461336ca2 [relate] Add variant support for relate() and relation(). 2015-05-01 02:20:30 +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
18cb2fe330 [relate] Divide relate() and relation() code into interface and implementation.
Separate the optional code, place it in the details.
2015-05-01 01:30:46 +02:00
Adam Wulkiewicz
7eab5672fa [relate] Move DE9IM-related code into separate file (de9im.hpp).
Move predefined static masks to namespace detail::de9im.
2015-04-30 18:50:12 +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
a7fee32a7e [relate] Move relate() code from details and refactor the code.
- Move relate() to geometry namespace and change its purpose slightly - always require a mask and check a relation.
- Implement relation() function returning a matrix (previously relate() did it).
- Move/rename matrix9, mask9 and static_mask to de9im::matrix, de9im::mask and de9im::static_mask respectively.
- Implement logical ORing of static masks with operator||
- Remove or comment-out unneeded code (e.g. comment out the unused de9im struct defined in overlay)
2015-04-30 16:39:37 +02:00
Barend Gehrels
42550568ee [projections] add etmerc (including unit tests) 2015-04-29 16:58:38 +02:00
Menelaos Karavelas
11f8679fb0 [algorithms][envelope] restructure file structure for the envelope algorithm 2015-04-29 17:33:08 +03:00
Adam Wulkiewicz
d2c5b03655 [strategies][huiller] Restore a comment about the subtraction of longitudes. 2015-04-29 16:31:08 +02:00
Menelaos Karavelas
02e7a6d948 [algorithms][envelope] move existing implementation for envelope(multipoint, mbr)
to new file and add implementation for envelope(multipoint, mbr) for the spherical equatorial
and geographic coordinate systems; the latter implementation is reduced to the
maximum gap problem
2015-04-29 17:29:14 +03:00
Menelaos Karavelas
55d4c0640b [algorithms][envelope][spherical] move existing implementation for
envelope(multilinestring, mbr) to new file, add dispatching for
implementation of envelope(multilinestring, mbr) for the spherical
equatorial coordinate system
2015-04-29 17:25:59 +03:00
Adam Wulkiewicz
9e005cb756 [strategy][huiller] Improve the style according to guidelines and use better names for variables. 2015-04-29 16:11:15 +02:00
Menelaos Karavelas
7b807c7b4c [algorithms][envelope][spherical] move existing implementation for
envelope(linestring, mbr) to separate file and add implementation
for envelope(linestring, mbr) for the spherical equatorial coordinate
system
2015-04-29 17:06:42 +03:00
Menelaos Karavelas
d619bd8b07 [algorithms][envelope] add implementation for finding the envelope of a
range of longitude intervals and range of boxes (needed for multi-geometries)
using the maximum gap algorithm for intervals
2015-04-29 17:00:18 +03:00
Menelaos Karavelas
aca2e0497c [algorithms][envelope] adapt old implementation of envelope for ranges
(in the new implementation assign_inverse is not used)
2015-04-29 16:54:21 +03:00
Menelaos Karavelas
ecbc99875a [algorithms][max interval gap] add implementation for the maximum gap
problem for ranges of intervals
2015-04-29 16:50:37 +03:00
Menelaos Karavelas
49fd71739f [algorithms][sweep] add generic visitor-based implementation for sweep-like algorithms 2015-04-29 16:24:39 +03:00
Menelaos Karavelas
c64404808c [algorithms][envelope][spherical] move implementation for envelope(segment, mbr)
to a different file and add implementation for envelope(segment, mbr) for the
spherical equatorial coordinate system
2015-04-29 16:20:27 +03:00
Menelaos Karavelas
ae08aac3a5 [algorithms][envelope][spherical] move existing implementation of
envelope(box, mbr) to separate file and add implementation for
envelope(box, mbr) for boxes in the spherical equatorial and geographic
coordinate systems
2015-04-29 16:10:27 +03:00
Menelaos Karavelas
0d4fb3d438 [algorithms][envelope][spherical] move existing implementation for
envelope(point, mbr) in separate file and implementation for envelope(point, mbr)
for the spherical equatorial and geographic coordinate system
2015-04-29 16:02:13 +03:00
Barend Gehrels
4edcc4042e [projections][test] add unit test for static projections (forward)
including different models (spheroid/ellipsoid)
2015-04-29 14:57:27 +02:00
Barend Gehrels
68eac273d3 [projections] expose error code 2015-04-29 14:56:48 +02:00
Menelaos Karavelas
3809006a6c [algorithms][envelope][spherical] implement struct that determines is a segment intersects the antimeridian 2015-04-29 15:54:11 +03:00
Menelaos Karavelas
932d2213ca [util][math][spherical][geographic][normalize] introduce free function
normalize_spheroidal_box_coordinates() that normalizes the coordinates
of a box in the spherical equatorial and geographic coordinate systems
2015-04-29 15:02:45 +03:00
Barend Gehrels
c6eb7748eb [projection] replace redundant comments 2015-04-29 13:46:26 +02:00
Barend Gehrels
2ad12a62f3 [projection] replace exit with throw 2015-04-29 13:40:54 +02:00
Barend Gehrels
c81255cf5e [projections] add new projection isa
include entry in unit test (tested with proj4.9.1)
2015-04-29 13:35:14 +02:00
Barend Gehrels
c5c4c90c87 [projections] omerc, remove now unused inlined function 2015-04-29 13:00:06 +02:00
Barend Gehrels
3937486a0f [projections] changes in white lines 2015-04-29 12:59:37 +02:00
Barend Gehrels
2d3d4780cc [projections] natearth, regeneration 2015-04-29 11:44:20 +02:00
Barend Gehrels
cc5f891b1a [projections] enable sphere for utm, which can be done if the throw
at non par.es is skipped
2015-04-29 11:07:59 +02:00
Barend Gehrels
ca9fa7260d [projections] added spheroid models skipped earlier 2015-04-29 10:51:42 +02:00
Adam Wulkiewicz
0d58a3831b [test][area] Add more tests for spherical polygons. 2015-04-29 03:26:12 +02:00
Adam Wulkiewicz
7513940369 [strategies] Fix area_huiller for polygons containing points with 0 longitude. 2015-04-29 03:22:24 +02:00
Menelaos Karavelas
a9eb7c648b [util][math][spherical] apply coding rules (put space after !) 2015-04-28 21:32:53 +03:00
Barend Gehrels
d868e4ad61 Merge branch 'develop' of github.com:boostorg/geometry into develop 2015-04-28 19:18:38 +02:00
Adam Wulkiewicz
c46eef0659 Merge pull request #284 from mkaravel/feature/add_two_pi_and_half_pi_constants
Add two-pi and half-pi constants
2015-04-28 14:00:26 +02:00
Adam Wulkiewicz
0c59d13c75 Merge pull request #285 from mkaravel/fix/use_disjoint_point_point_in_wkt_write
Reduce dependency on geometry::disjoint algorithm
2015-04-27 16:55:43 +02:00
Adam Wulkiewicz
6594032e96 Merge pull request #286 from mkaravel/fix/update_reference_url
[strategies][spherical][area][huiller] update the URL for one of the references
2015-04-27 16:54:15 +02:00
Menelaos Karavelas
70cc7fdb47 [strategies][spherical][area][huiller] update the URL for one of the references 2015-04-27 17:47:29 +03:00
Barend Gehrels
6d3fb0f11b [projections] remove old variable warning protections 2015-04-27 15:50:18 +02:00
Barend Gehrels
a8282b5383 [projections] fix missing inline calls 2015-04-27 15:49:50 +02:00
Menelaos Karavelas
914c2e5f80 [io][wkt] reduce dependency on geometry::disjoint algorithm by calling
detail::disjoint::disjoint_point_point
2015-04-27 15:07:33 +03:00
Menelaos Karavelas
7031e84c95 [extensions][ttmath] fix wrong definition of pi and half-pi for ttmath::Big<> 2015-04-27 13:44:15 +03:00
Menelaos Karavelas
9c50c6f02c [util][math] use math::two_pi<>() and math::half_pi<>() instead of computing them from math::pi<>() 2015-04-27 12:58:35 +03:00
Menelaos Karavelas
3800cb4830 [strategies][spherical][area] use math::two_pi<>() and math::half_pi<>()
instead of computing them from math::pi<>()
2015-04-27 12:48:47 +03:00
Menelaos Karavelas
d895a12b96 [strategies][cartesian][buffer] use math::two_pi<>() instead of computing it from math::pi<>() 2015-04-27 12:48:02 +03:00
Menelaos Karavelas
1c3fba8b54 [extensions][ttmath] add specializations for define_two_pi and define_half_pi 2015-04-27 12:43:05 +03:00