<!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"/> <title>GEOS: geos::geom::GeometryCollection Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related 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 class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"> <ul> <li><a class="el" href="namespacegeos.html">geos</a> </li> <li><a class="el" href="namespacegeos_1_1geom.html">geom</a> </li> <li><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">geos::geom::GeometryCollection</a> </li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-types">Public Types</a> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <a href="#pro-attribs">Protected Attributes</a> | <a href="#friends">Friends</a> </div> <div class="headertitle"> <h1>geos::geom::GeometryCollection Class Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="geos::geom::GeometryCollection" --><!-- doxytag: inherits="geos::geom::Geometry" --> <p>Represents a collection of heterogeneous <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> objects. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="geom_8h_source.html">geos.h</a>></code></p> <div class="dynheader"> Inheritance diagram for geos::geom::GeometryCollection:</div> <div class="dyncontent"> <div class="center"> <img src="classgeos_1_1geom_1_1GeometryCollection.png" usemap="#geos::geom::GeometryCollection_map" alt=""/> <map id="geos::geom::GeometryCollection_map" name="geos::geom::GeometryCollection_map"> <area href="classgeos_1_1geom_1_1Geometry.html" alt="geos::geom::Geometry" shape="rect" coords="201,0,392,24"/> <area href="classgeos_1_1geom_1_1MultiLineString.html" alt="geos::geom::MultiLineString" shape="rect" coords="0,112,191,136"/> <area href="classgeos_1_1geom_1_1MultiPoint.html" alt="geos::geom::MultiPoint" shape="rect" coords="201,112,392,136"/> <area href="classgeos_1_1geom_1_1MultiPolygon.html" alt="geos::geom::MultiPolygon" shape="rect" coords="402,112,593,136"/> </map> </div> <p><a href="classgeos_1_1geom_1_1GeometryCollection-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-types"></a> Public Types</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacc50b649c48fe31257e244a94e63594"></a><!-- doxytag: member="geos::geom::GeometryCollection::const_iterator" ref="aacc50b649c48fe31257e244a94e63594" args="" --> typedef std::vector< <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * ><br class="typebreak"/> ::const_iterator </td><td class="memItemRight" valign="bottom"><b>const_iterator</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22d00e3fcec3002b3741fb907aebe6b1"></a><!-- doxytag: member="geos::geom::GeometryCollection::iterator" ref="a22d00e3fcec3002b3741fb907aebe6b1" args="" --> typedef std::vector< <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * ><br class="typebreak"/> ::iterator </td><td class="memItemRight" valign="bottom"><b>iterator</b></td></tr> <tr><td colspan="2"><h2><a name="pub-methods"></a> Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af57e7454961b0c38af819435ecfe0278"></a><!-- doxytag: member="geos::geom::GeometryCollection::begin" ref="af57e7454961b0c38af819435ecfe0278" args="() const " --> const_iterator </td><td class="memItemRight" valign="bottom"><b>begin</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52d2232d5b596ea0609eba67bacb924b"></a><!-- doxytag: member="geos::geom::GeometryCollection::end" ref="a52d2232d5b596ea0609eba67bacb924b" args="() const " --> const_iterator </td><td class="memItemRight" valign="bottom"><b>end</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a3b30808a1d17d793bdfb8db9cbacc755">clone</a> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a798b7e6d81a0d2c4340e499f46f30dd2">getCoordinates</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Collects all coordinates of all subgeometries into a <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry.">CoordinateSequence</a>. <a href="#a798b7e6d81a0d2c4340e499f46f30dd2"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aafe3bc69c0c36251ab959b64844cf5df"></a><!-- doxytag: member="geos::geom::GeometryCollection::isEmpty" ref="aafe3bc69c0c36251ab959b64844cf5df" args="() const " --> virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#aafe3bc69c0c36251ab959b64844cf5df">isEmpty</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns whether or not the set of points in this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> is empty. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">Dimension::DimensionType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#af97c6e44c4a47a73f916c4c24f7fe646">getDimension</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface). <a href="#af97c6e44c4a47a73f916c4c24f7fe646"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a12466db79f69e3c7a45d34e758a366e9">getBoundary</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the boundary, or an empty geometry of appropriate dimension if this <code><a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a></code> is empty. <a href="#a12466db79f69e3c7a45d34e758a366e9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a47d95ab48216871f48269699d6a4d0c2"></a><!-- doxytag: member="geos::geom::GeometryCollection::getBoundaryDimension" ref="a47d95ab48216871f48269699d6a4d0c2" args="() const " --> virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a47d95ab48216871f48269699d6a4d0c2">getBoundaryDimension</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the maximum boundary dimension of geometries in this collection. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae6c42340491056bb17ed01d1be1e6914"></a><!-- doxytag: member="geos::geom::GeometryCollection::getNumPoints" ref="ae6c42340491056bb17ed01d1be1e6914" args="() const " --> virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ae6c42340491056bb17ed01d1be1e6914">getNumPoints</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the count of this Geometrys vertices. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac2a25a44ddca7090b61b0ead0fd87f47"></a><!-- doxytag: member="geos::geom::GeometryCollection::getGeometryType" ref="ac2a25a44ddca7090b61b0ead0fd87f47" args="() const " --> virtual std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ac2a25a44ddca7090b61b0ead0fd87f47">getGeometryType</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return a string representation of this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> type. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae096d66ba53529fe4e00045a1f8745fa"></a><!-- doxytag: member="geos::geom::GeometryCollection::getGeometryTypeId" ref="ae096d66ba53529fe4e00045a1f8745fa" args="() const " --> virtual <a class="el" href="namespacegeos_1_1geom.html#a98c5b0e81001a7c3fdc7a058960356d8">GeometryTypeId</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ae096d66ba53529fe4e00045a1f8745fa">getGeometryTypeId</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return an integer representation of this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> type. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad19ed6a15b399ca9698b2bada9bbbeb5"></a><!-- doxytag: member="geos::geom::GeometryCollection::equalsExact" ref="ad19ed6a15b399ca9698b2bada9bbbeb5" args="(const Geometry *other, double tolerance=0) const " --> virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ad19ed6a15b399ca9698b2bada9bbbeb5">equalsExact</a> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *other, double tolerance=0) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the two Geometrys are exactly equal, up to a specified tolerance. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad624fe93180fa1963ce12a67be5e7e4d"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_ro" ref="ad624fe93180fa1963ce12a67be5e7e4d" args="(CoordinateFilter *filter) const " --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_ro</b> (<a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeec60324ceef39221d358eed485eb73e"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_rw" ref="aeec60324ceef39221d358eed485eb73e" args="(const CoordinateFilter *filter)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_rw</b> (const <a class="el" href="classgeos_1_1geom_1_1CoordinateFilter.html">CoordinateFilter</a> *filter)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27125692c3c11514aebd7b54060627fb"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_ro" ref="a27125692c3c11514aebd7b54060627fb" args="(GeometryFilter *filter) const " --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_ro</b> (<a class="el" href="classgeos_1_1geom_1_1GeometryFilter.html">GeometryFilter</a> *filter) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44b06c168f0ec5f4f3fb4f5692970b3c"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_rw" ref="a44b06c168f0ec5f4f3fb4f5692970b3c" args="(GeometryFilter *filter)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_rw</b> (<a class="el" href="classgeos_1_1geom_1_1GeometryFilter.html">GeometryFilter</a> *filter)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4e79dd82f8b0f94aed07ac785d962de"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_ro" ref="ab4e79dd82f8b0f94aed07ac785d962de" args="(GeometryComponentFilter *filter) const " --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_ro</b> (<a class="el" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a> *filter) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a16f08b30a65d0d13dd2dd9bd21c16ab8"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_rw" ref="a16f08b30a65d0d13dd2dd9bd21c16ab8" args="(GeometryComponentFilter *filter)" --> virtual void </td><td class="memItemRight" valign="bottom"><b>apply_rw</b> (<a class="el" href="classgeos_1_1geom_1_1GeometryComponentFilter.html">GeometryComponentFilter</a> *filter)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ad84bb98e501121800aa51ae6fee23fea">apply_rw</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a> &filter)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a8d516ba4111cd21d0e2149a88de6822a">apply_ro</a> (<a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a> &filter) const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab2190b25b62c7f3f39653628fd412051"></a><!-- doxytag: member="geos::geom::GeometryCollection::normalize" ref="ab2190b25b62c7f3f39653628fd412051" args="()" --> virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#ab2190b25b62c7f3f39653628fd412051">normalize</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Converts this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> to normal form (or canonical form). <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60408ee3a4afb6bc76818a0e5a646092"></a><!-- doxytag: member="geos::geom::GeometryCollection::getCoordinate" ref="a60408ee3a4afb6bc76818a0e5a646092" args="() const " --> virtual const <a class="el" href="classgeos_1_1geom_1_1Coordinate.html">Coordinate</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a60408ee3a4afb6bc76818a0e5a646092">getCoordinate</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a vertex of this <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a>, or NULL if this is the empty geometry. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a618fbe4b10e0d16177c5351cf9195c79"></a><!-- doxytag: member="geos::geom::GeometryCollection::getArea" ref="a618fbe4b10e0d16177c5351cf9195c79" args="() const " --> virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a618fbe4b10e0d16177c5351cf9195c79">getArea</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the total area of this collection. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14fd53eecc5722032d17b40db7eb164e"></a><!-- doxytag: member="geos::geom::GeometryCollection::getLength" ref="a14fd53eecc5722032d17b40db7eb164e" args="() const " --> virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a14fd53eecc5722032d17b40db7eb164e">getLength</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the total length of this collection. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1d43e7b1bd08cdc2546638edf9ef54ce"></a><!-- doxytag: member="geos::geom::GeometryCollection::getNumGeometries" ref="a1d43e7b1bd08cdc2546638edf9ef54ce" args="() const " --> virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a1d43e7b1bd08cdc2546638edf9ef54ce">getNumGeometries</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of geometries in this collection. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2209d0b5ffe55df3b3839497e0f92ca6"></a><!-- doxytag: member="geos::geom::GeometryCollection::getGeometryN" ref="a2209d0b5ffe55df3b3839497e0f92ca6" args="(size_t n) const " --> virtual const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a2209d0b5ffe55df3b3839497e0f92ca6">getGeometryN</a> (size_t n) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to the nth <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> int this collection. <br/></td></tr> <tr><td colspan="2"><h2><a name="pro-methods"></a> Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad0178184866c4e95c65562d52be0bf23"></a><!-- doxytag: member="geos::geom::GeometryCollection::GeometryCollection" ref="ad0178184866c4e95c65562d52be0bf23" args="(const GeometryCollection &gc)" --> </td><td class="memItemRight" valign="bottom"><b>GeometryCollection</b> (const <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html">GeometryCollection</a> &gc)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html#a3f03f2cfa46a5c9871e668cfabeee02f">GeometryCollection</a> (std::vector< <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * > *newGeoms, const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> *newFactory)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct a <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a> with the given <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>. Will keep a reference to the factory, so don't delete it until al <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> objects referring to it are deleted. Will take ownership of the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> vector. <a href="#a3f03f2cfa46a5c9871e668cfabeee02f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a00176a390c4c8d076dd2419c2089d935"></a><!-- doxytag: member="geos::geom::GeometryCollection::computeEnvelopeInternal" ref="a00176a390c4c8d076dd2419c2089d935" args="() const " --> virtual Envelope::AutoPtr </td><td class="memItemRight" valign="bottom"><b>computeEnvelopeInternal</b> () const </td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27b438b5ee1661666545ddf15e93b3f1"></a><!-- doxytag: member="geos::geom::GeometryCollection::compareToSameClass" ref="a27b438b5ee1661666545ddf15e93b3f1" args="(const Geometry *gc) const " --> virtual int </td><td class="memItemRight" valign="bottom"><b>compareToSameClass</b> (const <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> *gc) const </td></tr> <tr><td colspan="2"><h2><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad55fc7843bb40121b9a00f213780fb81"></a><!-- doxytag: member="geos::geom::GeometryCollection::geometries" ref="ad55fc7843bb40121b9a00f213780fb81" args="" --> std::vector< <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * > * </td><td class="memItemRight" valign="bottom"><b>geometries</b></td></tr> <tr><td colspan="2"><h2><a name="friends"></a> Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a639aef3f5d0d27a72053343b0e09b5f3"></a><!-- doxytag: member="geos::geom::GeometryCollection::GeometryFactory" ref="a639aef3f5d0d27a72053343b0e09b5f3" args="" --> class </td><td class="memItemRight" valign="bottom"><b>GeometryFactory</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Represents a collection of heterogeneous <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> objects. </p> <p>Collections of <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> of the same type are represented by <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a> subclasses <a class="el" href="classgeos_1_1geom_1_1MultiPoint.html" title="Models a collection of Point objects.">MultiPoint</a>, <a class="el" href="classgeos_1_1geom_1_1MultiLineString.html" title="Basic implementation of MultiLineString objects.">MultiLineString</a>, <a class="el" href="classgeos_1_1geom_1_1MultiPolygon.html" title="Basic implementation of MultiPolygon.">MultiPolygon</a>. </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a3f03f2cfa46a5c9871e668cfabeee02f"></a><!-- doxytag: member="geos::geom::GeometryCollection::GeometryCollection" ref="a3f03f2cfa46a5c9871e668cfabeee02f" args="(std::vector< Geometry * > *newGeoms, const GeometryFactory *newFactory)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">geos::geom::GeometryCollection::GeometryCollection </td> <td>(</td> <td class="paramtype">std::vector< <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a> * > * </td> <td class="paramname"> <em>newGeoms</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classgeos_1_1geom_1_1GeometryFactory.html">GeometryFactory</a> * </td> <td class="paramname"> <em>newFactory</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Construct a <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a> with the given <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>. Will keep a reference to the factory, so don't delete it until al <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> objects referring to it are deleted. Will take ownership of the <a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a> vector. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newGeoms</em> </td><td>The <code><a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a></code>s for this <code><a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a></code>, or <code>null</code> or an empty array to create the empty geometry. Elements may be empty <code><a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a></code>s, but not <code>null</code>s.</td></tr> </table> </dd> </dl> <p>If construction succeed the created object will take ownership of newGeoms vector and elements.</p> <p>If construction fails "IllegalArgumentException *" is thrown and it is your responsibility to delete newGeoms vector and content.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newFactory</em> </td><td>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 to create this geometry </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a8d516ba4111cd21d0e2149a88de6822a"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_ro" ref="a8d516ba4111cd21d0e2149a88de6822a" args="(CoordinateSequenceFilter &filter) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void geos::geom::GeometryCollection::apply_ro </td> <td>(</td> <td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a> & </td> <td class="paramname"> <em>filter</em></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Performs a read-only operation on the coordinates in this Geometry's CoordinateSequences.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filter</em> </td><td>the filter to apply </td></tr> </table> </dd> </dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a31aa2b7a73162848ceaffdb25d91a9dc">geos::geom::Geometry</a>.</p> </div> </div> <a class="anchor" id="ad84bb98e501121800aa51ae6fee23fea"></a><!-- doxytag: member="geos::geom::GeometryCollection::apply_rw" ref="ad84bb98e501121800aa51ae6fee23fea" args="(CoordinateSequenceFilter &filter)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void geos::geom::GeometryCollection::apply_rw </td> <td>(</td> <td class="paramtype"><a class="el" href="classgeos_1_1geom_1_1CoordinateSequenceFilter.html">CoordinateSequenceFilter</a> & </td> <td class="paramname"> <em>filter</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Performs an operation on the coordinates in this Geometry's CoordinateSequences.s If the filter reports that a coordinate value has been changed, <a class="el" href="">geometryChanged</a> will be called automatically.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>filter</em> </td><td>the filter to apply </td></tr> </table> </dd> </dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a19566f7393929d162eead6ee454fe97f">geos::geom::Geometry</a>.</p> </div> </div> <a class="anchor" id="a3b30808a1d17d793bdfb8db9cbacc755"></a><!-- doxytag: member="geos::geom::GeometryCollection::clone" ref="a3b30808a1d17d793bdfb8db9cbacc755" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geos::geom::GeometryCollection::clone </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Creates and returns a full copy of this <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a> object. (including all coordinates contained by it).</p> <dl class="return"><dt><b>Returns:</b></dt><dd>a clone of this instance </dd></dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a25b5ab073477cee2d5b756a0d163c006">geos::geom::Geometry</a>.</p> <p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1MultiLineString.html#a772aab048197c3b89176fa2df813bdfc">geos::geom::MultiLineString</a>, <a class="el" href="classgeos_1_1geom_1_1MultiPoint.html#a04a9e37d7cd6e5de2a6f42d9f04e2467">geos::geom::MultiPoint</a>, and <a class="el" href="classgeos_1_1geom_1_1MultiPolygon.html#af52232dd3f497ab0d4c5c31a476a79e9">geos::geom::MultiPolygon</a>.</p> </div> </div> <a class="anchor" id="a12466db79f69e3c7a45d34e758a366e9"></a><!-- doxytag: member="geos::geom::GeometryCollection::getBoundary" ref="a12466db79f69e3c7a45d34e758a366e9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1Geometry.html">Geometry</a>* geos::geom::GeometryCollection::getBoundary </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the boundary, or an empty geometry of appropriate dimension if this <code><a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a></code> is empty. </p> <p>(In the case of zero-dimensional geometries, an empty <a class="el" href="classgeos_1_1geom_1_1GeometryCollection.html" title="Represents a collection of heterogeneous Geometry objects.">GeometryCollection</a> is returned.) For a discussion of this function, see the OpenGIS Simple Features Specification. As stated in SFS Section 2.1.13.1, "the boundary of a Geometry is a set of Geometries of the next lower dimension."</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the closure of the combinatorial boundary of this <code><a class="el" href="classgeos_1_1geom_1_1Geometry.html" title="Basic implementation of Geometry, constructed and destructed by GeometryFactory.">Geometry</a></code>. Ownershipof the returned object transferred to caller. </dd></dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a7519090aea0e06ee78fadcb1fc4bd2dd">geos::geom::Geometry</a>.</p> <p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1MultiLineString.html#af4759ffa1782daeabf4cfb6891f703db">geos::geom::MultiLineString</a>, <a class="el" href="classgeos_1_1geom_1_1MultiPoint.html#a5f20a9f3f89a87b58e3d0ccbccb49307">geos::geom::MultiPoint</a>, and <a class="el" href="classgeos_1_1geom_1_1MultiPolygon.html#ad1b6aac0a17ed1ea52d26825bb9a0d73">geos::geom::MultiPolygon</a>.</p> </div> </div> <a class="anchor" id="a798b7e6d81a0d2c4340e499f46f30dd2"></a><!-- doxytag: member="geos::geom::GeometryCollection::getCoordinates" ref="a798b7e6d81a0d2c4340e499f46f30dd2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html">CoordinateSequence</a>* geos::geom::GeometryCollection::getCoordinates </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Collects all coordinates of all subgeometries into a <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry.">CoordinateSequence</a>. </p> <p>Note that the returned coordinates are copies, so you want be able to use them to modify the geometries in place. Also you'll need to delete the <a class="el" href="classgeos_1_1geom_1_1CoordinateSequence.html" title="The internal representation of a list of coordinates inside a Geometry.">CoordinateSequence</a> when finished using it.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the collected coordinates </dd></dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#a422a5feecf0fdf00e67b2bf696244003">geos::geom::Geometry</a>.</p> </div> </div> <a class="anchor" id="af97c6e44c4a47a73f916c4c24f7fe646"></a><!-- doxytag: member="geos::geom::GeometryCollection::getDimension" ref="af97c6e44c4a47a73f916c4c24f7fe646" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">Dimension::DimensionType</a> geos::geom::GeometryCollection::getDimension </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface). </p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classgeos_1_1geom_1_1Dimension.html#af46f1c0c325eb685fcf32987748d04cf">Dimension::DimensionType</a> </dd></dl> <p>Implements <a class="el" href="classgeos_1_1geom_1_1Geometry.html#ae6e5cb68c6b3edb5b71dc983a2795c5c">geos::geom::Geometry</a>.</p> <p>Reimplemented in <a class="el" href="classgeos_1_1geom_1_1MultiLineString.html#aa5e24e57a9314095772a833bac13a9a0">geos::geom::MultiLineString</a>, <a class="el" href="classgeos_1_1geom_1_1MultiPoint.html#aa84f3191d3c307db3703775c7d1389b4">geos::geom::MultiPoint</a>, and <a class="el" href="classgeos_1_1geom_1_1MultiPolygon.html#aded41b5e6d415ecc07f61bcc7fe2a332">geos::geom::MultiPolygon</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="GeometryCollection_8h_source.html">GeometryCollection.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Thu Jul 22 2010 for GEOS by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> </body> </html>