| Home | Libraries | People | FAQ | More

#### PolyhedralSurface Concept

###### 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

###### 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

- model::polyhedral_surface