-
Notifications
You must be signed in to change notification settings - Fork 223
Add geometry polyhedral surface #1402
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
vissarion
merged 13 commits into
boostorg:develop
from
vissarion:feature/polyhedral_surface
May 12, 2025
Merged
Changes from all commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
445aaf6
feat: Create polyhedral surface class
vissarion d48155b
doc: Polyhedral surface
vissarion 29bae4f
chore: Add polyhedral surface example
vissarion 38ac122
test: Polyhedral surface
vissarion 72c43ae
chore: Remove unused header
vissarion 5652cbd
chore: Fix typos, remove tabs, backslashes from initializations, rena…
vissarion 8c5cfd8
chore: Remove repeated polyhedral surface example
vissarion f60829c
chore: Update copyright notes
vissarion 62839b6
chore: Update examples Jamfile
vissarion 08cf5c1
chore: replace template Polyhedral_surface by PolyhedralSurface
vissarion 870a2ac
doc: add polyhedral surface concept description and a link to OGC sta…
vissarion adcede5
doc: fix a typo in polygon concept
vissarion 4ee255e
doc: add triangular pyramid picture
vissarion File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
[/============================================================================ | ||
Boost.Geometry (aka GGL, Generic Geometry Library) | ||
|
||
Copyright (c) 2025 Oracle and/or its affiliates. | ||
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle | ||
|
||
Use, modification and distribution is subject to the Boost Software License, | ||
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | ||
http://www.boost.org/LICENSE_1_0.txt) | ||
|
||
=============================================================================/] | ||
|
||
[section:concept_polyhedral_surface PolyhedralSurface Concept] | ||
|
||
[heading Description] | ||
[concept PolyhedralSurface..polyhedral surface] | ||
|
||
['A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments] (__ogc_sf__). | ||
|
||
[heading Concept Definition] | ||
|
||
The PolyhedralSurface Concept is defined as following: | ||
|
||
* There must be a specialization of the metafunction `traits::tag`, defining `polyhedral_surface_tag` as type | ||
* It must behave like a Boost.Range Random Access Range | ||
vissarion marked this conversation as resolved.
Show resolved
Hide resolved
|
||
* The type defined by the metafunction `range_value<...>::type` must fulfill | ||
the [link geometry.reference.concepts.concept_polygon Polygon Concept] | ||
|
||
[heading Rules] | ||
|
||
Besides the Concepts, which are checks on compile-time, there are | ||
rules that valid PolyhedralSurfaces must fulfill. See the | ||
[link geometry.reference.concepts.concept_polygon Polygon Concept] for more information | ||
on the rules a polygon (and also a polyhedral surface) must fulfill. | ||
|
||
Additionally: | ||
|
||
* It is a contiguous collection of polygons, which share common boundary segments. | ||
* For any two polygons that share a common boundary, the “top” of the polygon shall be consistent. | ||
This means that when two LinearRings from these two Polygons traverse the common boundary segment, | ||
they do so in opposite directions. | ||
|
||
[heading Available Models] | ||
* [link geometry.reference.models.model_polyhedral_surface model::polyhedral_surface] | ||
|
||
|
||
[endsect] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,9 +6,10 @@ | |
# Copyright (c) 2009-2012 Mateusz Loskot ([email protected]), London, UK | ||
# Copyright (c) 2017 Adam Wulkiewicz, Lodz, Poland | ||
# | ||
# Copyright (c) 2018-2021, Oracle and/or its affiliates. | ||
# Copyright (c) 2018-2025, Oracle and/or its affiliates. | ||
# Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle | ||
# Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle | ||
# | ||
# Use, modification and distribution is subject to the Boost Software License, | ||
# Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | ||
# http://www.boost.org/LICENSE_1_0.txt) | ||
|
@@ -141,7 +142,7 @@ def cs_to_quickbook(section): | |
, "ever_circling_iterator"] | ||
|
||
models = ["point", "linestring", "box" | ||
, "polygon", "segment", "ring" | ||
, "polygon", "segment", "ring", "polyhedral_surface" | ||
, "multi_linestring", "multi_point", "multi_polygon", "referring_segment"] | ||
|
||
srs = ["spheroid"] | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
[/============================================================================ | ||
Boost.Geometry (aka GGL, Generic Geometry Library) | ||
|
||
Copyright (c) 2025 Oracle and/or its affiliates. | ||
Contributed and/or modified by Vissarion Fysikopoulos, on behalf of Oracle | ||
|
||
Use, modification and distribution is subject to the Boost Software License, | ||
Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at | ||
http://www.boost.org/LICENSE_1_0.txt) | ||
=============================================================================/] | ||
|
||
[heading Examples] | ||
[polyhedral_surface] | ||
[polyhedral_surface_output] |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.