Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PolyhedralSurface Concept
PrevUpHomeNext
Description

The PolyhedralSurface Concept describes the requirements for a polyhedral surface type. All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.

A PolyhedralSurface is a contiguous collection of polygons, which share common boundary segments (OGC Simple Feature Specification).

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 Polygon Concept
  • It must be 3-dimensional and cartesian
Rules

Besides the Concepts, which are checks on compile-time, there are rules that valid PolyhedralSurfaces must fulfill. See the 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.
Available Models

PrevUpHomeNext