Boost Polygon Library: Property Merge 90

### Contents Boost.Polygon Main Page Design Overview Isotropy Coordinate Concept Interval Concept Point Concept Segment Concept Rectangle Concept Polygon 90 Concept Polygon 90 With Holes Concept Polygon 45 Concept Polygon 45 With Holes Concept Polygon Concept Polygon With Holes Concept Polygon 90 Set Concept Polygon 45 Set Concept Polygon Set Concept Connectivity Extraction 90 Connectivity Extraction 45 Connectivity Extraction Property Merge 90 Property Merge 45 Property Merge Voronoi Main Page Voronoi Benchmark Voronoi Builder Voronoi Diagram ### Other Resources GTL Boostcon 2009 Paper GTL Boostcon 2009 Presentation Performance Analysis Layout Versus Schematic Tutorial Minkowski Sum Tutorial Voronoi Basic Tutorial Voronoi Advanced Tutorial ### Polygon Sponsor | # Property Merge 90 The following is the declaration of the property merge algorithm. template <typename coordinate_type, typename property_type> class property_merge_90; The property algorithm computes the n-layer map overlay of input polygon sets. Each input geometry is inserted along with a property value. The property type can be anything suitable for use as an element of a std::set. Multiple geometry objects can be separately inserted with the same property value. To store the result of this operation a fairly complex container is required. Resulting geometries are associated with unique subsets of property values of the input geometry. Two suitable containers for storing the result of a property merge operation are: std::map<std::set<property_type>, polygon_90_set_data<coordinate_type> > std::map<std::vector<property_type>, polygon_90_set_data<coordinate_type> > Example code property_merge_usage.cpp demonstrates using the n-layer map-overlay algorithm on polygon 90 data. ## Member Functions
property_merge_90() | Default constructor.
property_merge_90(const property_merge_90& that) | Copy construct.
void insert(const polygon_90_set_data<coordinate_type>& ps, const property_type& property) | Insert a polygon set with an associated property. Linear wrt vertices inserted.
template <class GeoObjT> void insert(const GeoObjT& geoObj, const property_type& property) | Insert a geometry object that is a refinement of polygon 90 set with an associated property. Linear wrt vertices inserted.
template <typename result_type> void merge(result_type& result) | Accepts a container object that conforms to the expectations defined above. Performs property merge and populates the container object. O(n log n) runtime wrt. vertices + intersections.
Copyright: | Copyright © Intel Corporation 2008-2010.
License: | Distributed under 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)