mirror of
https://github.com/boostorg/geometry.git
synced 2026-01-27 06:52:11 +00:00
49 lines
1.9 KiB
Plaintext
49 lines
1.9 KiB
Plaintext
[/============================================================================
|
|
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
|
|
* The type defined by the metafunction `range_value<...>::type` must fulfill
|
|
the [link geometry.reference.concepts.concept_polygon Polygon Concept]
|
|
* It must be 3-dimensional and cartesian
|
|
|
|
[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]
|