]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/polygon/doc/gtl_property_merge_45.htm
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / polygon / doc / gtl_property_merge_45.htm
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
39 With 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
42 With 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
45 Holes Concept</a></li>
46 <li><a href="gtl_polygon_90_set_concept.htm">Polygon 90 Set
47 Concept</a></li>
48 <li><a href="gtl_polygon_45_set_concept.htm">Polygon 45 Set
49 Concept</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
52 Extraction 90</a></li>
53 <li><a href="gtl_connectivity_extraction_45.htm">Connectivity
54 Extraction 45</a></li>
55 <li><a href="gtl_connectivity_extraction.htm">Connectivity
56 Extraction</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
71 Presentation</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
77 Tutorial</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
95 algorithm.</p>
96 <p><font face="Courier New">template &lt;typename
97 coordinate_type, typename property_type&gt;<br />
98 class property_merge_45;</font></p>
99 <p>The property algorithm computes the n-layer map overlay of
100 input polygon sets.&nbsp; Each input geometry is inserted along with a
101 property value.&nbsp; The property type can be anything suitable for
102 use as an element of a std::set.&nbsp; Multiple geometry objects can be
103 separately inserted with the same property value.&nbsp; To store the
104 result of this operation a fairly complex container is required.&nbsp;
105 Resulting geometries are associated with unique subsets of property
106 values of the input geometry.&nbsp; Two suitable containers for storing
107 the result of a property merge operation are:</p>
108 <p><font face="Courier New">std::map&lt;std::set&lt;property_type&gt;,
109 polygon_45_set_data&lt;coordinate_type&gt; &gt;<br />
110 std::map&lt;std::vector&lt;property_type&gt;,
111 polygon_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>
113 demonstrates 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
130 polygon_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
133 an associated property.</font>&nbsp; Linear wrt vertices inserted.</td>
134 </tr>
135 <tr>
136 <td width="586"><font face="Courier New">
137 template &lt;class GeoObjT&gt;<br />
138 void <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
141 polygon 45 set with an associated property.&nbsp; Linear wrt vertices
142 inserted.</td>
143 </tr>
144 <tr>
145 <td width="586"><font face="Courier New">
146 template &lt;typename result_type&gt;<br />
147 void <b>merge</b>(result_type&amp; result)</font></td>
148 <td>Accepts a container object that conforms to the
149 expectations defined above.&nbsp; Performs property merge and populates
150 the container object.&nbsp; O(n log n) runtime wrt. vertices +
151 intersections.</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 <td>Copyright © Intel Corporation 2008-2010.</td>
169 </tr>
170 <tr class="field">
171 <th class="docinfo-name">License:</th>
172 <td class="field-body">Distributed under the Boost Software
173 License, Version 1.0. (See accompanying file <tt class="literal"> <span
174 class="pre">LICENSE_1_0.txt</span></tt> or copy at <a
175 class="reference" target="_top"
176 href="http://www.boost.org/LICENSE_1_0.txt">
177 http://www.boost.org/LICENSE_1_0.txt</a>)</td>
178 </tr>
179 </tbody>
180 </table>
181 </td>
182 </tr>
183 </tbody>
184 </table>
185 </body>
186 </html>