90 Commits

Author SHA1 Message Date
Barend Gehrels
08a71cf124 chore: change coordinate_type to coordinate_type_t and use 'using' at those places 2024-10-30 14:24:54 +01:00
Barend Gehrels
19f22c2475 chore: change point_type to point_type_t and use 'using' at those places 2024-10-21 15:47:38 +02:00
Barend Gehrels
218bc0631e feat: enhance and fix documentation 2024-09-27 17:52:26 +02:00
Adam Wulkiewicz
cb2f53d9d9 Use if constexpr macro instead of condition macro 2024-02-29 21:53:09 +01:00
Vissarion Fisikopoulos
7c8c60625c
Add missing headers so that all headers compile independently (#1154)
* Add missing headers so all header files compile independently

* Add github actions script to check if all headers compile independently

* Remove unused headers from algorithms (not detail) and core and fix headers in tests

* Fix typo in headers.yml and missing header in srs
2023-07-25 22:56:12 +03:00
Adam Wulkiewicz
fa4ff35d6a Fix Visual Studio warnings
- C4100 Unreferenced formal parameter
- C4127 Conditional expression is constant
- C4456 Declaration hides previous local declaration
- C4701 Potentially uninitialized local variable used
- C4702 Unreachable code
2023-07-01 17:58:04 +02:00
Vissarion Fisikopoulos
eb38231d36 Remove trailing whitespaces from include and index directories 2022-12-07 15:53:21 +02:00
Adam Wulkiewicz
5c840aa7de [simplify] Add missing template keyword 2022-06-25 00:47:22 +02:00
Adam Wulkiewicz
6a6dba760a [simplify] Allow different input and output geometries
Update comments
2022-06-25 00:37:27 +02:00
Adam Wulkiewicz
6226451f6a [simplify] Replace distance Pt-Seg strategy with comparable_distance Pt-Pt strategy. 2022-01-18 17:26:03 +01:00
Adam Wulkiewicz
5b2570e6f8 [simplify] Avoid returning closing point for open rings.
Avoid duplicating closing point for closed rings internally
in the algorithm while rotating rings.
2022-01-18 17:04:24 +01:00
Adam Wulkiewicz
47119631f0 [algorithms] Support DG/GC in various algorithms. 2021-10-03 18:06:18 +02:00
Adam Wulkiewicz
4c84757d68 Merge branch 'develop' into feature/gc 2021-06-02 13:54:10 +02:00
Adam Wulkiewicz
c7ae87d15c Merge branch 'develop' into feature/gc 2021-05-28 17:09:11 +02:00
Adam Wulkiewicz
b90a3116a5 [algorithms] Include default strategies with corresponding algorithms. 2021-05-24 21:30:32 +02:00
Adam Wulkiewicz
50d1bfedc9 Support rvalue refs in range utils and use it. 2021-05-15 13:21:27 +02:00
Adam Wulkiewicz
3ee94d2035 [buffer][simplify] Add missing includes. Remove unused typedefs. 2021-04-02 21:58:53 +02:00
Adam Wulkiewicz
a87f924304 Merge branch 'develop' into feature/strategies_rest 2021-04-01 03:14:52 +02:00
Adam Wulkiewicz
ef5953d554 [distance][strategies] Implement backward compatibility mechamism for Pt/Pt custom strategies. 2021-03-16 19:23:44 +01:00
Adam Wulkiewicz
cb03829dc1 [simplify] Correctly propagate strategies to area() and perimeter().
Also made the algorithm more robust by checking the iterator before
using it.
2021-03-03 01:15:12 +01:00
Adam Wulkiewicz
3620e0aada [simplify] Refactor the implementation.
Add dummy geometries which can be used to get strategies from umbrella
strategy without creating heavy temporary geometries.
2021-03-03 00:27:30 +01:00
Adam Wulkiewicz
26a62a24fe [buffer][simplify] Use umbrella strategies in buffer and simplify.
Move agnostic simplify strategy to algorithms.
2021-03-02 00:48:36 +01:00
Adam Wulkiewicz
54f141779b Include only necessary headers of Boost.Range. 2020-10-16 01:23:06 +02:00
Adam Wulkiewicz
821221ce26 [algorithms] Add missing includes. 2018-12-18 23:17:36 +01:00
Adam Wulkiewicz
7dc81a98dd [algorithms] Add missing typename keywords. 2018-10-14 00:09:31 +02:00
Adam Wulkiewicz
7d45cae67b [algorithms][strategies] Fix several compilation errors.
Shadowing of template parameters, missing typename keywords, missing
includes.
2018-10-13 13:04:58 +02:00
Adam Wulkiewicz
6c322e6625 [algorithms] Update various algorithms after recent changes:
- use equals P/P in equals_point_point extracted from strategy passed to
  algorithm
- remove Midpoint of point_on_border (this exposes an error in is_valid)
- use envelope and expand strategies extracted from strategy passed to
  algorithm
- change union's default strategy (relate v.s. intersection).
2018-10-12 03:26:10 +02:00
Barend Gehrels
f4bf11b8bb [simplify] use equals_point_point instead of plain equals 2018-02-19 18:41:36 +01:00
Barend Gehrels
d561e2c6cb [simplify] process review remarks, mainly in using geometry::range instead
of the bare traits
2018-02-19 18:38:30 +01:00
Barend Gehrels
da16ae8e79 [simplify] revise solution to get opposite instead of closing area
(which fixes some issues) and do more tries (to get more output)
2018-02-18 16:54:30 +01:00
Barend Gehrels
3e53d4d456 [simplify] during review, change implementation using rotate instead of clise 2018-02-17 13:50:07 +01:00
Barend Gehrels
00389227b2 [simplify] rename iterators (because iterator for out is gone) 2018-02-14 17:05:29 +01:00
Barend Gehrels
7bf4d35616 [simplify] Also remove duplicate point in inserter 2018-02-14 17:05:07 +01:00
Barend Gehrels
2d0ba126d9 [simplify] now some bugs were solved we can relax the fraction and
omit starting point earlier
2018-02-14 15:01:05 +01:00
Barend Gehrels
8586ebf6b6 [simplify] Remove duplicate points for lines having 2 points 2018-02-14 15:00:23 +01:00
Barend Gehrels
e0c8651af8 [simplify] do not create empty polygons or interior rings when they are
simplified away
2018-02-14 15:00:07 +01:00
Barend Gehrels
51077f7003 [simplify] simplifying small polygons (e.g. triangles), get rid of the minimum
to get consistent behaviour in omitting output (otherwise triangles stay,
while larger structures can be simplified away)
2018-02-14 14:52:48 +01:00
Barend Gehrels
1ce9583b17 [simplify] fix new behaviour, if sliced it should be closed explicitly
(also to calculate correct areas). Area check with sign instead of boolean.
2018-02-14 11:55:57 +01:00
Barend Gehrels
53ab7ced45 [simplify] update algorithm for region around closure 2018-01-31 09:55:34 +01:00
Barend Gehrels
327f654623 [simplify] avoid to aggressive simplification at closing area 2018-01-27 16:14:27 +01:00
Barend Gehrels
e533f624b0 [simplify] split class into two parts 2018-01-27 14:51:04 +01:00
Barend Gehrels
194f182acc [simplify] process closing area at end backwards, which results
in simpler and more efficient code
2018-01-27 14:38:17 +01:00
Barend Gehrels
5534818e0f [simplify] simplify around closing point of ring/polygons
Including unit test.
2018-01-26 17:46:14 +01:00
Barend Gehrels
d3e572ede3 Rename namespace concept to concepts, because concept is a new keyword 2016-07-27 15:51:28 +02:00
Adam Wulkiewicz
edc3c7851d [algorithms] Use range::back_inserter() if points are added to geometries. 2016-01-23 13:57:49 +01:00
Adam Wulkiewicz
1500dc3644 [algorithms][io] Explicitly specify namespaces for apply_visitor and algorithms functions. 2015-07-21 16:27:48 +02:00
Menelaos Karavelas
bbd755350b [algorithms][simplify] update copyright dates and add missing include 2015-02-05 14:09:27 +02:00
Adam Wulkiewicz
0cd28170d7 [geometry] Change the order of Boost.Variant headers includes to alphabetical. 2014-12-31 15:48:15 +01:00
Adam Wulkiewicz
4a9ccaf819 [geometry] Fix the order of Boost.Variant includes.
variant_fwd.hpp must be included before other Boost.Variant headers
because it contains config used in other parts of this library.
2014-12-15 19:12:11 +01:00
Adam Wulkiewicz
b35bead009 [buffer] Suppress MSVC unused parameters warnings. 2014-10-28 15:07:01 +01:00