1[/============================================================================ 2 Boost.Geometry (aka GGL, Generic Geometry Library) 3 4 Copyright (c) 2009-2012 Mateusz Loskot, London, UK. 5 Copyright (c) 2009-2012 Barend Gehrels, Amsterdam, the Netherlands. 6 Copyright (c) 2009-2012 Bruno Lalande, Paris, France. 7 8 Use, modification and distribution is subject to the Boost Software License, 9 Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 10 http://www.boost.org/LICENSE_1_0.txt) 11=============================================================================/] 12 13[section:concept_multi_polygon MultiPolygon Concept] 14 15[heading Description] 16[concept MultiPolygon..multi polygon] 17 18[heading Concept Definition] 19 20The MultiPolygon Concept is defined as following: 21 22* There must be a specialization of the metafunction `traits::tag`, defining `multi_polygon_tag` as type 23* It must behave like a Boost.Range Random Access Range 24* The type defined by the metafunction `range_value<...>::type` must fulfill 25 the [link geometry.reference.concepts.concept_polygon Polygon Concept] 26 27[heading Rules] 28 29Besides the Concepts, which are checks on compile-time, there are 30rules that valid MultiPolygons must fulfill. See the 31[link geometry.reference.concepts.concept_polygon Polygon Concept] for more information 32on the rules a polygon (and also a multi polygon) must fulfill. 33 34Additionally: 35 36* Individual polygons making up a multi-polygon may not intersect each other, 37 but tangencies are allowed. 38* One polygon might be located within the interior ring of another polygon. 39 40[heading Available Models] 41* [link geometry.reference.models.model_multi_polygon model::multi_polygon] 42 43 44[endsect] 45