diff --git a/doc/concept/polygon.qbk b/doc/concept/polygon.qbk index 8cce35ff5f..89ab172d79 100644 --- a/doc/concept/polygon.qbk +++ b/doc/concept/polygon.qbk @@ -15,7 +15,7 @@ [heading Description] [concept Polygon..polygon] -A polygon is ['A polygon is a planar surface defined by one exterior boundary and zero or more interior boundaries] +['A polygon is a planar surface defined by one exterior boundary and zero or more interior boundaries] (__ogc_sf__). So the definition of a Boost.Geometry polygon differs a bit from e.g. Wiki, where a polygon does not have holes. A diff --git a/doc/concept/polyhedral_surface.qbk b/doc/concept/polyhedral_surface.qbk new file mode 100644 index 0000000000..1ac5055b28 --- /dev/null +++ b/doc/concept/polyhedral_surface.qbk @@ -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 +* 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] diff --git a/doc/geometry.qbk b/doc/geometry.qbk index a48aa66226..c224c26e98 100644 --- a/doc/geometry.qbk +++ b/doc/geometry.qbk @@ -29,6 +29,7 @@ [def __0dim__ pointlike (e.g. point)] [def __1dim__ linear (e.g. linestring)] [def __2dim__ areal (e.g. polygon)] +[def __3dim__ volumetric (e.g. polyhedral_surface)] [def __single__ single (e.g. point, polygon)] [def __multi__ multiple (e.g. multi_point, multi_polygon)] [def __cart__ Cartesian] diff --git a/doc/html/img/geometries/triangular_pyramid.png b/doc/html/img/geometries/triangular_pyramid.png new file mode 100644 index 0000000000..b69999205b Binary files /dev/null and b/doc/html/img/geometries/triangular_pyramid.png differ diff --git a/doc/html/index.html b/doc/html/index.html index d1e399c5a3..b5ae9640bc 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Chapter 1. Geometry - + @@ -52,7 +52,7 @@

Table of Contents

-
+
Introduction
Compilation
Design Rationale
@@ -103,12 +103,12 @@

- Contributions + Contributions

Boost.Geometry contains contributions by:

-