geos_390_docs/classgeos_1_1operation_1_1g...

725 lines
38 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>GEOS: geos::operation::geounion::UnaryUnionOp Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">GEOS
&#160;<span id="projectnumber">3.9.1dev</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacegeos.html">geos</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation.html">operation</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1operation_1_1geounion.html">geounion</a></li><li class="navelem"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html">UnaryUnionOp</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::operation::geounion::UnaryUnionOp Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Unions a collection of Geometry or a single Geometry (which may be a collection) together.
<a href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::operation::geounion::UnaryUnionOp:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp__coll__graph.svg" width="100%" height="470"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1652982c893d508445d26ce3d33fbb85"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a1652982c893d508445d26ce3d33fbb85"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a1652982c893d508445d26ce3d33fbb85">UnaryUnionOp</a> (const T &amp;geoms, <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> &amp;geomFactIn)</td></tr>
<tr class="separator:a1652982c893d508445d26ce3d33fbb85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ea8082274675ec2796a8bb3e74da88e"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a1ea8082274675ec2796a8bb3e74da88e"><td class="memTemplItemLeft" align="right" valign="top">&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a1ea8082274675ec2796a8bb3e74da88e">UnaryUnionOp</a> (const T &amp;geoms)</td></tr>
<tr class="separator:a1ea8082274675ec2796a8bb3e74da88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ef6dc45747643f2e0643177312b6c6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#ad3ef6dc45747643f2e0643177312b6c6">UnaryUnionOp</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;geom)</td></tr>
<tr class="separator:ad3ef6dc45747643f2e0643177312b6c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac448013e376f4b851ac4a959c0d10973"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#ac448013e376f4b851ac4a959c0d10973">setUnionFunction</a> (<a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnionStrategy.html">UnionStrategy</a> *unionFun)</td></tr>
<tr class="separator:ac448013e376f4b851ac4a959c0d10973"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42429db59597579403433f8129ef711c"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a42429db59597579403433f8129ef711c">Union</a> ()</td></tr>
<tr class="memdesc:a42429db59597579403433f8129ef711c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the union of the input geometries. <a href="#a42429db59597579403433f8129ef711c">More...</a><br /></td></tr>
<tr class="separator:a42429db59597579403433f8129ef711c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3aae780e6b8b3a2b74f054a5a9a1a41f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a3aae780e6b8b3a2b74f054a5a9a1a41f"><td class="memTemplItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a3aae780e6b8b3a2b74f054a5a9a1a41f">Union</a> (const T &amp;geoms)</td></tr>
<tr class="separator:a3aae780e6b8b3a2b74f054a5a9a1a41f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32f2998d3e724fc306c6071c71d55f09"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a32f2998d3e724fc306c6071c71d55f09"><td class="memTemplItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a32f2998d3e724fc306c6071c71d55f09">Union</a> (const T &amp;geoms, <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> &amp;<a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#adb5463aee922e00c1d71756251a6bd2d">geomFact</a>)</td></tr>
<tr class="separator:a32f2998d3e724fc306c6071c71d55f09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33ee2554140a204574cd276b080a4852"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a33ee2554140a204574cd276b080a4852">Union</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;geom)</td></tr>
<tr class="separator:a33ee2554140a204574cd276b080a4852"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a57264649b278511171ae70550d0f5e24"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a57264649b278511171ae70550d0f5e24"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a57264649b278511171ae70550d0f5e24">extractGeoms</a> (const T &amp;geoms)</td></tr>
<tr class="separator:a57264649b278511171ae70550d0f5e24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09d360b5400925975efa3f3397198d22"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a09d360b5400925975efa3f3397198d22">extract</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;geom)</td></tr>
<tr class="separator:a09d360b5400925975efa3f3397198d22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fae90c122df78fcdcf94bf688f8d128"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a0fae90c122df78fcdcf94bf688f8d128">unionNoOpt</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;g0)</td></tr>
<tr class="separator:a0fae90c122df78fcdcf94bf688f8d128"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1b4596fcc49d87ead9534e6445263d7"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#ad1b4596fcc49d87ead9534e6445263d7">unionWithNull</a> (std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt; g0, std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt; g1)</td></tr>
<tr class="separator:ad1b4596fcc49d87ead9534e6445263d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a6d800b1f5ba46f6cc5f379ee6e1c7ff5"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a6d800b1f5ba46f6cc5f379ee6e1c7ff5">polygons</a></td></tr>
<tr class="separator:a6d800b1f5ba46f6cc5f379ee6e1c7ff5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a58d4badf8b8fc2ef96a6e9c75cca5b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a4a58d4badf8b8fc2ef96a6e9c75cca5b">lines</a></td></tr>
<tr class="separator:a4a58d4badf8b8fc2ef96a6e9c75cca5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add3e333be41c9b23869ab2894f710611"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#add3e333be41c9b23869ab2894f710611">points</a></td></tr>
<tr class="separator:add3e333be41c9b23869ab2894f710611"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb5463aee922e00c1d71756251a6bd2d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#adb5463aee922e00c1d71756251a6bd2d">geomFact</a></td></tr>
<tr class="separator:adb5463aee922e00c1d71756251a6bd2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a470e15b52d492935d231ede049d6ef45"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a470e15b52d492935d231ede049d6ef45">empty</a></td></tr>
<tr class="separator:a470e15b52d492935d231ede049d6ef45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a969b8211db8b3bca20b9a616b3f1bbe5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnionStrategy.html">UnionStrategy</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a969b8211db8b3bca20b9a616b3f1bbe5">unionFunction</a></td></tr>
<tr class="separator:a969b8211db8b3bca20b9a616b3f1bbe5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0801f87d449e8812205934b2dde210d8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1ClassicUnionStrategy.html">ClassicUnionStrategy</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp.html#a0801f87d449e8812205934b2dde210d8">defaultUnionFunction</a></td></tr>
<tr class="separator:a0801f87d449e8812205934b2dde210d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Unions a collection of Geometry or a single Geometry (which may be a collection) together. </p>
<p>By using this special-purpose operation over a collection of geometries it is possible to take advantage of various optimizations to improve performance. Heterogeneous <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollections</a> are fully supported.</p>
<p>The result obeys the following contract:</p>
<ul>
<li>Unioning a set of overlapping <a class="el" href="classgeos_1_1geom_1_1Polygon.html">Polygons</a> has the effect of merging the areas (i.e. the same effect as iteratively unioning all individual polygons together).</li>
<li>Unioning a set of <a class="el" href="classgeos_1_1geom_1_1LineString.html">LineStrings</a> has the effect of <b>fully noding</b> and <b>dissolving</b> the input linework. In this context "fully noded" means that there will be a node or endpoint in the output for every endpoint or line segment crossing in the input. "Dissolved" means that any duplicate (e.g. coincident) line segments or portions of line segments will be reduced to a single line segment in the output. This is consistent with the semantics of the <a class="el" href="classgeos_1_1geom_1_1Geometry.html#ae184641cf7635f569ae341b517cc7372">Geometry::Union(Geometry* )</a> operation. If <b>merged</b> linework is required, the <a class="el" href="classgeos_1_1operation_1_1linemerge_1_1LineMerger.html">LineMerger</a> class can be used.</li>
<li>Unioning a set of <a class="el" href="classgeos_1_1geom_1_1Point.html">Points</a> has the effect of merging all identical points (producing a set with no duplicates).</li>
</ul>
<p><code>UnaryUnion</code> always operates on the individual components of MultiGeometries. So it is possible to use it to "clean" invalid self-intersecting MultiPolygons (although the polygon components must all still be individually valid.) </p>
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00089">89</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1652982c893d508445d26ce3d33fbb85"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::geounion::UnaryUnionOp::UnaryUnionOp </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>geoms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> &amp;&#160;</td>
<td class="paramname"><em>geomFactIn</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00117">117</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a1ea8082274675ec2796a8bb3e74da88e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::geounion::UnaryUnionOp::UnaryUnionOp </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>geoms</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00125">125</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad3ef6dc45747643f2e0643177312b6c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::operation::geounion::UnaryUnionOp::UnaryUnionOp </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00132">132</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a09d360b5400925975efa3f3397198d22"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::geounion::UnaryUnionOp::extract </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00173">173</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
<p>References <a class="el" href="Geometry_8h_source.html#l00218">geos::geom::Geometry::getFactory()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp_a09d360b5400925975efa3f3397198d22_cgraph.svg" width="415" height="55"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a57264649b278511171ae70550d0f5e24"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::geounion::UnaryUnionOp::extractGeoms </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>geoms</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00160">160</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="ac448013e376f4b851ac4a959c0d10973"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::operation::geounion::UnaryUnionOp::setUnionFunction </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnionStrategy.html">UnionStrategy</a> *&#160;</td>
<td class="paramname"><em>unionFun</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00139">139</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a3aae780e6b8b3a2b74f054a5a9a1a41f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::Union </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>geoms</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00094">94</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
<p>References <a class="el" href="UnaryUnionOp_8h_source.html#l00094">Union()</a>.</p>
<p>Referenced by <a class="el" href="UnaryUnionOp_8h_source.html#l00094">Union()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp_a3aae780e6b8b3a2b74f054a5a9a1a41f_cgraph.svg" width="199" height="79"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp_a3aae780e6b8b3a2b74f054a5a9a1a41f_icgraph.svg" width="199" height="79"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a32f2998d3e724fc306c6071c71d55f09"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::Union </td>
<td>(</td>
<td class="paramtype">const T &amp;&#160;</td>
<td class="paramname"><em>geoms</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a> &amp;&#160;</td>
<td class="paramname"><em>geomFact</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00102">102</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
<p>References <a class="el" href="UnaryUnionOp_8h_source.html#l00094">Union()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp_a32f2998d3e724fc306c6071c71d55f09_cgraph.svg" width="435" height="79"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a33ee2554140a204574cd276b080a4852"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::Union </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>geom</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00110">110</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
<p>References <a class="el" href="UnaryUnionOp_8h_source.html#l00094">Union()</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1operation_1_1geounion_1_1UnaryUnionOp_a33ee2554140a204574cd276b080a4852_cgraph.svg" width="435" height="79"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</p>
</div>
</div>
<a class="anchor" id="a42429db59597579403433f8129ef711c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::Union </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the union of the input geometries. </p>
<p>If no input geometries were provided, an empty GEOMETRYCOLLECTION is returned.</p>
<dl class="section return"><dt>Returns</dt><dd>a Geometry containing the union </dd>
<dd>
an empty GEOMETRYCOLLECTION if no geometries were provided in the input </dd></dl>
</div>
</div>
<a class="anchor" id="a0fae90c122df78fcdcf94bf688f8d128"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::unionNoOpt </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &amp;&#160;</td>
<td class="paramname"><em>g0</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes a unary union with no extra optimization, and no short-circuiting. Due to the way the overlay operations are implemented, this is still efficient in the case of linear and puntal geometries. Uses robust version of overlay operation to ensure identical behaviour to the <code>union(Geometry)</code> operation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">g0</td><td>a geometry </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the union of the input geometry </dd></dl>
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00199">199</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="ad1b4596fcc49d87ead9534e6445263d7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::unionWithNull </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td>
<td class="paramname"><em>g0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a> &gt;&#160;</td>
<td class="paramname"><em>g1</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the union of two geometries, either of both of which may be null.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">g0</td><td>a Geometry (ownership transferred) </td></tr>
<tr><td class="paramname">g1</td><td>a Geometry (ownership transferred) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the union of the input(s) </dd>
<dd>
null if both inputs are null </dd></dl>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a0801f87d449e8812205934b2dde210d8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1ClassicUnionStrategy.html">ClassicUnionStrategy</a> geos::operation::geounion::UnaryUnionOp::defaultUnionFunction</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00234">234</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a470e15b52d492935d231ede049d6ef45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="classgeos_1_1geom_1_1Geometry.html">geom::Geometry</a>&gt; geos::operation::geounion::UnaryUnionOp::empty</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00231">231</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="adb5463aee922e00c1d71756251a6bd2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">geom::GeometryFactory</a>* geos::operation::geounion::UnaryUnionOp::geomFact</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00230">230</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a4a58d4badf8b8fc2ef96a6e9c75cca5b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;const <a class="el" href="classgeos_1_1geom_1_1LineString.html">geom::LineString</a>*&gt; geos::operation::geounion::UnaryUnionOp::lines</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00227">227</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="add3e333be41c9b23869ab2894f710611"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;const <a class="el" href="classgeos_1_1geom_1_1Point.html">geom::Point</a>*&gt; geos::operation::geounion::UnaryUnionOp::points</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00228">228</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a6d800b1f5ba46f6cc5f379ee6e1c7ff5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;const <a class="el" href="classgeos_1_1geom_1_1Polygon.html">geom::Polygon</a>*&gt; geos::operation::geounion::UnaryUnionOp::polygons</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00226">226</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<a class="anchor" id="a969b8211db8b3bca20b9a616b3f1bbe5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classgeos_1_1operation_1_1geounion_1_1UnionStrategy.html">UnionStrategy</a>* geos::operation::geounion::UnaryUnionOp::unionFunction</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="UnaryUnionOp_8h_source.html#l00233">233</a> of file <a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="UnaryUnionOp_8h_source.html">UnaryUnionOp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>