]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/polygon/doc/gtl_property_merge_45.htm
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / polygon / doc / gtl_property_merge_45.htm
CommitLineData
7c673cae
FG
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
3 xmlns:v="urn:schemas-microsoft-com:vml"
4 xmlns:o="urn:schemas-microsoft-com:office:office"
5 xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en">
6<head>
7<!--
8 Copyright 2009-2010 Intel Corporation
9 license banner
10-->
11 <title>Boost Polygon Library: Property Merge 90</title>
12 <meta http-equiv="content-type" content="text/html;charset=ISO-8859-1" />
13<!-- <link type="text/css" rel="stylesheet" href="adobe_source.css"> -->
14</head>
15<body>
16<table style="margin: 0pt; padding: 0pt; width: 100%;" border="0"
17 cellpadding="0" cellspacing="0">
18 <tbody>
19 <tr>
20 <td style="background-color: rgb(238, 238, 238);" nowrap="1"
21 valign="top">
22 <div style="padding: 5px;" align="center"> <img
23 src="images/boost.png" border="0" height="86" width="277" /><a
24 title="www.boost.org home page" href="http://www.boost.org/"
25 tabindex="2" style="border: medium none ;"> </a> </div>
26 <div style="margin: 5px;">
27 <h3 class="navbar">Contents</h3>
28 <ul>
29 <li><a href="index.htm">Boost.Polygon Main Page</a></li>
30 <li><a href="gtl_design_overview.htm">Design Overview</a></li>
31 <li><a href="gtl_isotropy.htm">Isotropy</a></li>
32 <li><a href="gtl_coordinate_concept.htm">Coordinate Concept</a></li>
33 <li><a href="gtl_interval_concept.htm">Interval Concept</a></li>
34 <li><a href="gtl_point_concept.htm">Point Concept</a></li>
35 <li><a href="gtl_segment_concept.htm">Segment Concept</a></li>
36 <li><a href="gtl_rectangle_concept.htm">Rectangle Concept</a></li>
37 <li><a href="gtl_polygon_90_concept.htm">Polygon 90 Concept</a></li>
38 <li><a href="gtl_polygon_90_with_holes_concept.htm">Polygon 90
39With Holes Concept</a></li>
40 <li><a href="gtl_polygon_45_concept.htm">Polygon 45 Concept</a></li>
41 <li><a href="gtl_polygon_45_with_holes_concept.htm">Polygon 45
42With Holes Concept</a></li>
43 <li><a href="gtl_polygon_concept.htm">Polygon Concept</a></li>
44 <li><a href="gtl_polygon_with_holes_concept.htm">Polygon With
45Holes Concept</a></li>
46 <li><a href="gtl_polygon_90_set_concept.htm">Polygon 90 Set
47Concept</a></li>
48 <li><a href="gtl_polygon_45_set_concept.htm">Polygon 45 Set
49Concept</a></li>
50 <li><a href="gtl_polygon_set_concept.htm">Polygon Set Concept</a></li>
51 <li><a href="gtl_connectivity_extraction_90.htm">Connectivity
52Extraction 90</a></li>
53 <li><a href="gtl_connectivity_extraction_45.htm">Connectivity
54Extraction 45</a></li>
55 <li><a href="gtl_connectivity_extraction.htm">Connectivity
56Extraction</a></li>
57 <li><a href="gtl_property_merge_90.htm">Property Merge 90</a></li>
58 <li>Property Merge 45</li>
59 <li><a href="gtl_property_merge.htm">Property Merge</a></li>
60 <li><a href="voronoi_main.htm">Voronoi Main Page<br />
61 </a></li>
62 <li><a href="voronoi_benchmark.htm">Voronoi Benchmark</a><br />
63 </li>
64 <li><a href="voronoi_builder.htm">Voronoi Builder</a></li>
65 <li><a href="voronoi_diagram.htm">Voronoi Diagram</a></li>
66 </ul>
67 <h3 class="navbar">Other Resources</h3>
68 <ul>
69 <li><a href="GTL_boostcon2009.pdf">GTL Boostcon 2009 Paper</a></li>
70 <li><a href="GTL_boostcon_draft03.pdf">GTL Boostcon 2009
71Presentation</a></li>
72 <li><a href="analysis.htm">Performance Analysis</a></li>
73 <li><a href="gtl_tutorial.htm">Layout Versus Schematic Tutorial</a></li>
74 <li><a href="gtl_minkowski_tutorial.htm">Minkowski Sum Tutorial</a></li>
75 <li><a href="voronoi_basic_tutorial.htm">Voronoi Basic Tutorial</a></li>
76 <li><a href="voronoi_advanced_tutorial.htm">Voronoi Advanced
77Tutorial</a></li>
78 </ul>
79 </div>
80 <h3 class="navbar">Polygon Sponsor</h3>
81 <div style="padding: 5px;" align="center"> <img
82 src="images/intlogo.gif" border="0" height="51" width="127" /><a
83 title="www.adobe.com home page" href="http://www.adobe.com/"
84 tabindex="2" style="border: medium none ;"> </a> </div>
85 </td>
86 <td
87 style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;"
88 valign="top" width="100%">
89<!-- End Header --><br />
90 <p>
91 </p>
92 <h1>Property Merge 45</h1>
93 <p> </p>
94 <p>The following is the declaration of the property merge
95algorithm.</p>
96 <p><font face="Courier New">template &lt;typename
97coordinate_type, typename property_type&gt;<br />
98class property_merge_45;</font></p>
99 <p>The property algorithm computes the n-layer map overlay of
100input polygon sets.&nbsp; Each input geometry is inserted along with a
101property value.&nbsp; The property type can be anything suitable for
102use as an element of a std::set.&nbsp; Multiple geometry objects can be
103separately inserted with the same property value.&nbsp; To store the
104result of this operation a fairly complex container is required.&nbsp;
105Resulting geometries are associated with unique subsets of property
106values of the input geometry.&nbsp; Two suitable containers for storing
107the result of a property merge operation are:</p>
108 <p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;,
109polygon_45_set_data&lt;coordinate_type&gt; &gt;<br />
110std::map&lt;std::vector&lt;property_type&gt;,
111polygon_45_set_data&lt;coordinate_type&gt; &gt;</font></p>
112 <p>Example code <a href="gtl_property_merge_usage.htm">property_merge_usage.cpp</a>
113demonstrates using the n-layer map-overlay algorithm on polygon 90 data.</p>
114 <h2>Member Functions</h2>
115 <table id="table1" border="1" width="100%">
116 <tbody>
117 <tr>
118 <td width="586"><b><font face="Courier New">property_merge_45</font></b><font
119 face="Courier New">()</font></td>
120 <td>Default constructor. </td>
121 </tr>
122 <tr>
123 <td width="586"><b><font face="Courier New">property_merge_45</font></b><font
124 face="Courier New">(const property_merge_45&amp; that)</font></td>
125 <td>Copy construct.</td>
126 </tr>
127 <tr>
128 <td width="586"><font face="Courier New">void <br />
129 <b>insert</b>(const
130polygon_45_set_data&lt;coordinate_type&gt;&amp; ps,<br />
131&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const property_type&amp; property)</font></td>
132 <td>I<font face="Times New Roman">nsert a polygon set with
133an associated property.</font>&nbsp; Linear wrt vertices inserted.</td>
134 </tr>
135 <tr>
136 <td width="586"><font face="Courier New">
137template &lt;class GeoObjT&gt;<br />
138void <b>insert</b>(const GeoObjT&amp; geoObj,<br />
139&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const property_type&amp; property)</font></td>
140 <td>Insert a geometry object that is a refinement of
141polygon 45 set with an associated property.&nbsp; Linear wrt vertices
142inserted.</td>
143 </tr>
144 <tr>
145 <td width="586"><font face="Courier New">
146template &lt;typename result_type&gt;<br />
147void <b>merge</b>(result_type&amp; result)</font></td>
148 <td>Accepts a container object that conforms to the
149expectations defined above.&nbsp; Performs property merge and populates
150the container object.&nbsp; O(n log n) runtime wrt. vertices +
151intersections.</td>
152 </tr>
153 </tbody>
154 </table>
155 </td>
156 </tr>
157 <tr>
158 <td style="background-color: rgb(238, 238, 238);" nowrap="1"
159 valign="top"> &nbsp;</td>
160 <td
161 style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;"
162 valign="top" width="100%">
163 <table class="docinfo" id="table2" frame="void" rules="none">
164 <colgroup> <col class="docinfo-name" /><col
165 class="docinfo-content" /> </colgroup> <tbody valign="top">
166 <tr>
167 <th class="docinfo-name">Copyright:</th>
168