12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- [/============================================================================
- Boost.Geometry (aka GGL, Generic Geometry Library)
- Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
- Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands.
- Copyright (c) 2009-2012 Bruno Lalande, Paris, France.
- 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_ring Ring Concept]
- [heading Description]
- [concept Ring..ring]
- [note Also called linear ring, but we explicitly refer to a filled feature here]
- [heading Concept Definition]
- The Ring Concept is defined as following:
- * there must be a specialization of `traits::tag` defining `ring_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_point Point Concept]
- * there might be a specialization of `traits::point_order` defining the order or orientation of its points, `clockwise` or `counterclockwise`
- * there might be a specialization of `traits::closure` defining the closure, `open` or `closed`
- [heading Rules]
- Besides the Concepts, which are checks on compile-time, there are
- rules that valid rings must fulfill. See the
- [link geometry.reference.concepts.concept_polygon Polygon Concept] for more information
- on the rules a polygon (and also a ring) must fulfill.
- [heading Available Models]
- * [link geometry.reference.models.model_ring ring]
- * a Boost.Polygon polygon_data (requires `#include boost/geometry/geometries/adapted/boost_polygon/ring.hpp>`)
- * a std::vector (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`)
- * a std::deque (requires `#include boost/geometry/geometries/adapted/std_as_ring.hpp>`)
- [see_boost_range_sample Ring]
- [endsect]
|