[/============================================================================ 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_multi_polygon MultiPolygon Concept] [heading Description] [concept MultiPolygon..multi polygon] [heading Concept Definition] The MultiPolygon Concept is defined as following: * There must be a specialization of the metafunction `traits::tag`, defining `multi_polygon_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 MultiPolygons must fulfill. See the [link geometry.reference.concepts.concept_polygon Polygon Concept] for more information on the rules a polygon (and also a multi polygon) must fulfill. Additionally: * Individual polygons making up a multi-polygon may not intersect each other, but tangencies are allowed. * One polygon might be located within the interior ring of another polygon. [heading Available Models] * [link geometry.reference.models.model_multi_polygon model::multi_polygon] [endsect]