...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
The Ring Concept describes the requirements for a ring type. All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.
Note | |
---|---|
Also called linear ring, but we explicitly refer to a filled feature here |
The Ring Concept is defined as following:
traits::tag
defining ring_tag
as
type
range_value<...>::type
must fulfill the Point
Concept
traits::point_order
defining the order or orientation of its points, clockwise
or counterclockwise
traits::closure
defining the closure, open
or closed
Besides the Concepts, which are checks on compile-time, there are rules that valid rings must fulfill. See the Polygon Concept for more information on the rules a polygon (and also a ring) must fulfill.
#include
boost/geometry/geometries/adapted/boost_polygon/ring.hpp>
)
Note | |
---|---|
See also the sample in the Boost.Range documentation showing how a type can be adapted to a Boost.Range to fulfill the concept of a Ring |