geos_390_docs/classgeos_1_1geom_1_1util_1...

514 lines
28 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::geom::util::GeometryCombiner 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_1geom.html">geom</a></li><li class="navelem"><a class="el" href="namespacegeos_1_1geom_1_1util.html">util</a></li><li class="navelem"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</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_1geom_1_1util_1_1GeometryCombiner-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">geos::geom::util::GeometryCombiner Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Combines <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometrys</a> to produce a <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects. ">GeometryCollection</a> of the most appropriate type.
<a href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for geos::geom::util::GeometryCombiner:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="classgeos_1_1geom_1_1util_1_1GeometryCombiner__coll__graph.svg" width="480" height="255"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</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:adc1f853056b4d0e543fae44b1fa1afc2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#adc1f853056b4d0e543fae44b1fa1afc2">GeometryCombiner</a> (std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &amp;geoms)</td></tr>
<tr class="memdesc:adc1f853056b4d0e543fae44b1fa1afc2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new combiner for a collection of geometries. <a href="#adc1f853056b4d0e543fae44b1fa1afc2">More...</a><br /></td></tr>
<tr class="separator:adc1f853056b4d0e543fae44b1fa1afc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0fafabf00cf6e16fc9409e6793110e7"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#ab0fafabf00cf6e16fc9409e6793110e7">combine</a> ()</td></tr>
<tr class="memdesc:ab0fafabf00cf6e16fc9409e6793110e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Computes the combination of the input geometries to produce the most appropriate <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> or <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects. ">GeometryCollection</a>. <a href="#ab0fafabf00cf6e16fc9409e6793110e7">More...</a><br /></td></tr>
<tr class="separator:ab0fafabf00cf6e16fc9409e6793110e7"><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:a11fa3e7661432c47fa1af8f3e3b3d792"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a11fa3e7661432c47fa1af8f3e3b3d792">combine</a> (std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &amp;geoms)</td></tr>
<tr class="memdesc:a11fa3e7661432c47fa1af8f3e3b3d792"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines a collection of geometries. <a href="#a11fa3e7661432c47fa1af8f3e3b3d792">More...</a><br /></td></tr>
<tr class="separator:a11fa3e7661432c47fa1af8f3e3b3d792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88592c4d141be3d804af38b098f2f903"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a88592c4d141be3d804af38b098f2f903">combine</a> (std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&gt; const &amp;geoms)</td></tr>
<tr class="separator:a88592c4d141be3d804af38b098f2f903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4828244138aaf05c8b0ba0580ad04bac"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a4828244138aaf05c8b0ba0580ad04bac">combine</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g1)</td></tr>
<tr class="memdesc:a4828244138aaf05c8b0ba0580ad04bac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines two geometries. <a href="#a4828244138aaf05c8b0ba0580ad04bac">More...</a><br /></td></tr>
<tr class="separator:a4828244138aaf05c8b0ba0580ad04bac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a69ab041210b20a5404e681379113ac"><td class="memItemLeft" align="right" valign="top">static std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a7a69ab041210b20a5404e681379113ac">combine</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g0, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g1, const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *g2)</td></tr>
<tr class="memdesc:a7a69ab041210b20a5404e681379113ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combines three geometries. <a href="#a7a69ab041210b20a5404e681379113ac">More...</a><br /></td></tr>
<tr class="separator:a7a69ab041210b20a5404e681379113ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5c313a65854ffd61050244eb19d7f3b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#ae5c313a65854ffd61050244eb19d7f3b">extractFactory</a> (std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &amp;geoms)</td></tr>
<tr class="memdesc:ae5c313a65854ffd61050244eb19d7f3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extracts the <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html" title="Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...">GeometryFactory</a> used by the geometries in a collection. <a href="#ae5c313a65854ffd61050244eb19d7f3b">More...</a><br /></td></tr>
<tr class="separator:ae5c313a65854ffd61050244eb19d7f3b"><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:a07dc671b81f6d96771a63c35b6be7558"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a07dc671b81f6d96771a63c35b6be7558">extractElements</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *geom, std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; &amp;elems)</td></tr>
<tr class="separator:a07dc671b81f6d96771a63c35b6be7558"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82a94de9a063e003798931d192f3dcef"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a82a94de9a063e003798931d192f3dcef">GeometryCombiner</a> (const <a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a> &amp;other)=delete</td></tr>
<tr class="separator:a82a94de9a063e003798931d192f3dcef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a8b5b54238643f1deee1c8892ccb2d6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a1a8b5b54238643f1deee1c8892ccb2d6">operator=</a> (const <a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a> &amp;rhs)=delete</td></tr>
<tr class="separator:a1a8b5b54238643f1deee1c8892ccb2d6"><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:abafe0b32bed15cb3e8f53acdecbcdff1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#abafe0b32bed15cb3e8f53acdecbcdff1">geomFactory</a></td></tr>
<tr class="separator:abafe0b32bed15cb3e8f53acdecbcdff1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a109e478eaeb49afb451f07c4a1515468"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a109e478eaeb49afb451f07c4a1515468">skipEmpty</a></td></tr>
<tr class="separator:a109e478eaeb49afb451f07c4a1515468"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12305b793d3b751fb9863700db41a4c6"><td class="memItemLeft" align="right" valign="top">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html#a12305b793d3b751fb9863700db41a4c6">inputGeoms</a></td></tr>
<tr class="separator:a12305b793d3b751fb9863700db41a4c6"><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>Combines <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometrys</a> to produce a <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects. ">GeometryCollection</a> of the most appropriate type. </p>
<p>Input geometries which are already collections will have their elements extracted first. No validation of the result geometry is performed. (The only case where invalidity is possible is where polygonal geometries are combined and result in a self-intersection).</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html#afb0900faa69e2eb9eb18ed875d91e54b">GeometryFactory::buildGeometry</a> </dd></dl>
<p>Definition at line <a class="el" href="GeometryCombiner_8h_source.html#l00049">49</a> of file <a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="adc1f853056b4d0e543fae44b1fa1afc2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">geos::geom::util::GeometryCombiner::GeometryCombiner </td>
<td>(</td>
<td class="paramtype">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &amp;&#160;</td>
<td class="paramname"><em>geoms</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Creates a new combiner for a collection of geometries. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geoms</td><td>the geometries to combine </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a82a94de9a063e003798931d192f3dcef"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">geos::geom::util::GeometryCombiner::GeometryCombiner </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a11fa3e7661432c47fa1af8f3e3b3d792"></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">Geometry</a>&gt; geos::geom::util::GeometryCombiner::combine </td>
<td>(</td>
<td class="paramtype">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Combines a collection of geometries. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geoms</td><td>the geometries to combine (ownership left to caller) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the combined geometry </dd></dl>
</div>
</div>
<a class="anchor" id="a88592c4d141be3d804af38b098f2f903"></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">Geometry</a>&gt; geos::geom::util::GeometryCombiner::combine </td>
<td>(</td>
<td class="paramtype">std::vector&lt; std::unique_ptr&lt; <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> &gt;&gt; const &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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4828244138aaf05c8b0ba0580ad04bac"></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">Geometry</a>&gt; geos::geom::util::GeometryCombiner::combine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>g0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Combines two geometries. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">g0</td><td>a geometry to combine (ownership left to caller) </td></tr>
<tr><td class="paramname">g1</td><td>a geometry to combine (ownership left to caller) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the combined geometry </dd></dl>
</div>
</div>
<a class="anchor" id="a7a69ab041210b20a5404e681379113ac"></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">Geometry</a>&gt; geos::geom::util::GeometryCombiner::combine </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>g0</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>g1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>g2</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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Combines three geometries. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">g0</td><td>a geometry to combine (ownership left to caller) </td></tr>
<tr><td class="paramname">g1</td><td>a geometry to combine (ownership left to caller) </td></tr>
<tr><td class="paramname">g2</td><td>a geometry to combine (ownership left to caller) </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the combined geometry </dd></dl>
</div>
</div>
<a class="anchor" id="ab0fafabf00cf6e16fc9409e6793110e7"></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">Geometry</a>&gt; geos::geom::util::GeometryCombiner::combine </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Computes the combination of the input geometries to produce the most appropriate <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> or <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects. ">GeometryCollection</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory. ">Geometry</a> which is the combination of the inputs </dd></dl>
</div>
</div>
<a class="anchor" id="a07dc671b81f6d96771a63c35b6be7558"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void geos::geom::util::GeometryCombiner::extractElements </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *&#160;</td>
<td class="paramname"><em>geom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; &amp;&#160;</td>
<td class="paramname"><em>elems</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">
</div>
</div>
<a class="anchor" id="ae5c313a65854ffd61050244eb19d7f3b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> const* geos::geom::util::GeometryCombiner::extractFactory </td>
<td>(</td>
<td class="paramtype">std::vector&lt; const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * &gt; const &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">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Extracts the <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html" title="Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...">GeometryFactory</a> used by the geometries in a collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">geoms</td><td></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html" title="Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...">GeometryFactory</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a1a8b5b54238643f1deee1c8892ccb2d6"></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_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a>&amp; geos::geom::util::GeometryCombiner::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1util_1_1GeometryCombiner.html">GeometryCombiner</a> &amp;&#160;</td>
<td class="paramname"><em>rhs</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="abafe0b32bed15cb3e8f53acdecbcdff1"></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_1geom_1_1GeometryFactory.html">GeometryFactory</a> const* geos::geom::util::GeometryCombiner::geomFactory</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="GeometryCombiner_8h_source.html#l00080">80</a> of file <a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.h</a>.</p>
</div>
</div>
<a class="anchor" id="a12305b793d3b751fb9863700db41a4c6"></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_1Geometry.html">Geometry</a>*&gt; const&amp; geos::geom::util::GeometryCombiner::inputGeoms</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="GeometryCombiner_8h_source.html#l00082">82</a> of file <a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.h</a>.</p>
</div>
</div>
<a class="anchor" id="a109e478eaeb49afb451f07c4a1515468"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool geos::geom::util::GeometryCombiner::skipEmpty</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="GeometryCombiner_8h_source.html#l00081">81</a> of file <a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="GeometryCombiner_8h_source.html">GeometryCombiner.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>