GEOS
3.4.2
|
Represents a collection of heterogeneous Geometry objects. More...
#include <geos.h>
Public Types | |
typedef std::vector< Geometry * > ::const_iterator | const_iterator |
typedef std::vector< Geometry * > ::iterator | iterator |
![]() | |
typedef std::vector< const Geometry * > | ConstVect |
A vector of const Geometry pointers. | |
typedef std::vector< Geometry * > | NonConstVect |
A vector of non-const Geometry pointers. | |
typedef std::auto_ptr< Geometry > | AutoPtr |
An auto_ptr of Geometry. | |
Public Member Functions | |
const_iterator | begin () const |
const_iterator | end () const |
virtual Geometry * | clone () const |
virtual CoordinateSequence * | getCoordinates () const |
Collects all coordinates of all subgeometries into a CoordinateSequence. More... | |
virtual bool | isEmpty () const |
Returns whether or not the set of points in this Geometry is empty. | |
virtual Dimension::DimensionType | getDimension () const |
Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface) More... | |
virtual int | getCoordinateDimension () const |
Returns coordinate dimension. | |
virtual Geometry * | getBoundary () const |
Returns the boundary, or an empty geometry of appropriate dimension if this Geometry is empty. More... | |
virtual int | getBoundaryDimension () const |
Returns the maximum boundary dimension of geometries in this collection. | |
virtual std::size_t | getNumPoints () const |
Returns the count of this Geometrys vertices. | |
virtual std::string | getGeometryType () const |
Return a string representation of this Geometry type. | |
virtual GeometryTypeId | getGeometryTypeId () const |
Return an integer representation of this Geometry type. | |
virtual bool | equalsExact (const Geometry *other, double tolerance=0) const |
Returns true if the two Geometrys are exactly equal, up to a specified tolerance. | |
virtual void | apply_ro (CoordinateFilter *filter) const |
virtual void | apply_rw (const CoordinateFilter *filter) |
virtual void | apply_ro (GeometryFilter *filter) const |
virtual void | apply_rw (GeometryFilter *filter) |
virtual void | apply_ro (GeometryComponentFilter *filter) const |
virtual void | apply_rw (GeometryComponentFilter *filter) |
virtual void | apply_rw (CoordinateSequenceFilter &filter) |
virtual void | apply_ro (CoordinateSequenceFilter &filter) const |
virtual void | normalize () |
Converts this Geometry to normal form (or canonical form). | |
virtual const Coordinate * | getCoordinate () const |
Returns a vertex of this Geometry, or NULL if this is the empty geometry. | |
virtual double | getArea () const |
Returns the total area of this collection. | |
virtual double | getLength () const |
Returns the total length of this collection. | |
virtual std::size_t | getNumGeometries () const |
Returns the number of geometries in this collection. | |
virtual const Geometry * | getGeometryN (std::size_t n) const |
Returns a pointer to the nth Geometry int this collection. | |
![]() | |
virtual | ~Geometry () |
Destroy Geometry and all components. | |
const GeometryFactory * | getFactory () const |
Gets the factory which contains the context in which this geometry was created. More... | |
void | setUserData (void *newUserData) |
A simple scheme for applications to add their own custom data to a Geometry. An example use might be to add an object representing a Coordinate Reference System. More... | |
void * | getUserData () |
Gets the user data object for this geometry, if any. More... | |
virtual int | getSRID () const |
virtual void | setSRID (int newSRID) |
const PrecisionModel * | getPrecisionModel () const |
Get the PrecisionModel used to create this Geometry. | |
virtual bool | isSimple () const |
Returns false if the Geometry not simple. | |
virtual bool | isValid () const |
Tests the validity of this Geometry . More... | |
virtual bool | isRectangle () const |
Polygon overrides to check for actual rectangle. | |
virtual Geometry * | getEnvelope () const |
Returns this Geometrys bounding box. | |
virtual const Envelope * | getEnvelopeInternal () const |
Returns the minimum and maximum x and y values in this Geometry, or a null Envelope if this Geometry is empty. | |
virtual bool | disjoint (const Geometry *other) const |
virtual bool | touches (const Geometry *other) const |
Returns true if the DE-9IM intersection matrix for the two Geometrys is FT*******, F**T***** or F***T****. | |
virtual bool | intersects (const Geometry *g) const |
Returns true if disjoint returns false. | |
virtual bool | crosses (const Geometry *g) const |
virtual bool | within (const Geometry *g) const |
Returns true if the DE-9IM intersection matrix for the two Geometrys is T*F**F***. | |
virtual bool | contains (const Geometry *g) const |
Returns true if other.within(this) returns true. | |
virtual bool | overlaps (const Geometry *g) const |
Returns true if the DE-9IM intersection matrix for the two Geometrys is T*T***T** (for two points or two surfaces) 1*T***T** (for two curves). | |
virtual bool | relate (const Geometry *g, const std::string &intersectionPattern) const |
Returns true if the elements in the DE-9IM intersection matrix for the two Geometrys match the elements in intersectionPattern. More... | |
bool | relate (const Geometry &g, const std::string &intersectionPattern) const |
virtual IntersectionMatrix * | relate (const Geometry *g) const |
Returns the DE-9IM intersection matrix for the two Geometrys. | |
IntersectionMatrix * | relate (const Geometry &g) const |
virtual bool | equals (const Geometry *g) const |
Returns true if the DE-9IM intersection matrix for the two Geometrys is T*F**FFF*. | |
bool | covers (const Geometry *g) const |
Returns true if this geometry covers the specified geometry. More... | |
bool | coveredBy (const Geometry *g) const |
Tests whether this geometry is covered by the specified geometry. More... | |
virtual std::string | toString () const |
Returns the Well-known Text representation of this Geometry. | |
virtual std::string | toText () const |
virtual Geometry * | buffer (double distance) const |
Returns a buffer region around this Geometry having the given width. More... | |
virtual Geometry * | buffer (double distance, int quadrantSegments) const |
Returns a buffer region around this Geometry having the given width and with a specified number of segments used to approximate curves. More... | |
virtual Geometry * | buffer (double distance, int quadrantSegments, int endCapStyle) const |
Computes a buffer area around this geometry having the given width and with a specified accuracy of approximation for circular arcs, and using a specified end cap style. More... | |
virtual Geometry * | convexHull () const |
Returns the smallest convex Polygon that contains all the points in the Geometry. | |
virtual Geometry * | intersection (const Geometry *other) const |
Returns a Geometry representing the points shared by this Geometry and other. More... | |
Geometry * | Union (const Geometry *other) const |
Returns a Geometry representing all the points in this Geometry and other. More... | |
AutoPtr | Union () const |
virtual Geometry * | difference (const Geometry *other) const |
Returns a Geometry representing the points making up this Geometry that do not make up other. More... | |
virtual Geometry * | symDifference (const Geometry *other) const |
Returns a set combining the points in this Geometry not in other, and the points in other not in this Geometry. More... | |
template<class T > | |
void | applyComponentFilter (T &f) const |
Apply a fiter to each component of this geometry. The filter is expected to provide a .filter(const Geometry*) method. More... | |
virtual int | compareTo (const Geometry *geom) const |
virtual double | distance (const Geometry *g) const |
Returns the minimum distance between this Geometry and the Geometry g. | |
virtual bool | isWithinDistance (const Geometry *geom, double cDistance) const |
Tests whether the distance from this Geometry to another is less than or equal to a specified value. More... | |
virtual Point * | getCentroid () const |
Computes the centroid of this Geometry . More... | |
virtual bool | getCentroid (Coordinate &ret) const |
Computes the centroid of this Geometry as a Coordinate. More... | |
virtual Point * | getInteriorPoint () const |
Computes an interior point of this Geometry . More... | |
virtual void | geometryChanged () |
void | geometryChangedAction () |
Notifies this Geometry that its Coordinates have been changed by an external party. | |
Protected Member Functions | |
GeometryCollection (const GeometryCollection &gc) | |
GeometryCollection (std::vector< Geometry * > *newGeoms, const GeometryFactory *newFactory) | |
Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory, so don't delete it until al Geometry objects referring to it are deleted. Will take ownership of the Geometry vector. More... | |
Envelope::AutoPtr | computeEnvelopeInternal () const |
int | compareToSameClass (const Geometry *gc) const |
![]() | |
virtual bool | isEquivalentClass (const Geometry *other) const |
Returns whether the two Geometrys are equal, from the point of view of the equalsExact method. | |
int | compare (std::vector< Coordinate > a, std::vector< Coordinate > b) const |
int | compare (std::vector< Geometry * > a, std::vector< Geometry * > b) const |
bool | equal (const Coordinate &a, const Coordinate &b, double tolerance) const |
Geometry (const Geometry &geom) | |
Polygon overrides to check for actual rectangle. More... | |
Geometry (const GeometryFactory *factory) | |
Construct a geometry with the given GeometryFactory. More... | |
Protected Attributes | |
std::vector< Geometry * > * | geometries |
![]() | |
std::auto_ptr< Envelope > | envelope |
The bounding box of this Geometry. | |
int | SRID |
Friends | |
class | GeometryFactory |
Additional Inherited Members | |
![]() | |
static bool | hasNonEmptyElements (const std::vector< Geometry * > *geometries) |
Returns true if the array contains any non-empty Geometrys. | |
static bool | hasNullElements (const CoordinateSequence *list) |
Returns true if the CoordinateSequence contains any null elements. | |
static bool | hasNullElements (const std::vector< Geometry * > *lrs) |
Returns true if the vector contains any null elements. | |
static void | checkNotGeometryCollection (const Geometry *g) |
Represents a collection of heterogeneous Geometry objects.
Collections of Geometry of the same type are represented by GeometryCollection subclasses MultiPoint, MultiLineString, MultiPolygon.
|
protected |
Construct a GeometryCollection with the given GeometryFactory. Will keep a reference to the factory, so don't delete it until al Geometry objects referring to it are deleted. Will take ownership of the Geometry vector.
newGeoms | The Geometry s for this GeometryCollection , or null or an empty array to create the empty geometry. Elements may be empty Geometry s, but not null s. |
If construction succeed the created object will take ownership of newGeoms vector and elements.
If construction fails "IllegalArgumentException *" is thrown and it is your responsibility to delete newGeoms vector and content.
newFactory | the GeometryFactory used to create this geometry |
|
virtual |
Performs a read-only operation on the coordinates in this Geometry's CoordinateSequences.
filter | the filter to apply |
Implements geos::geom::Geometry.
|
virtual |
Performs an operation on the coordinates in this Geometry's CoordinateSequences.s If the filter reports that a coordinate value has been changed, geometryChanged will be called automatically.
filter | the filter to apply |
Implements geos::geom::Geometry.
|
inlinevirtual |
Creates and returns a full copy of this GeometryCollection object. (including all coordinates contained by it).
Implements geos::geom::Geometry.
Reimplemented in geos::geom::MultiPolygon, geos::geom::MultiPoint, and geos::geom::MultiLineString.
|
virtual |
Returns the boundary, or an empty geometry of appropriate dimension if this Geometry
is empty.
(In the case of zero-dimensional geometries, an empty GeometryCollection 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."
Geometry
. Ownershipof the returned object transferred to caller. Implements geos::geom::Geometry.
Reimplemented in geos::geom::MultiPolygon, geos::geom::MultiPoint, and geos::geom::MultiLineString.
|
virtual |
Collects all coordinates of all subgeometries into a CoordinateSequence.
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 CoordinateSequence when finished using it.
Implements geos::geom::Geometry.
|
virtual |
Returns the maximum dimension of geometries in this collection (0=point, 1=line, 2=surface)
Implements geos::geom::Geometry.
Reimplemented in geos::geom::MultiPolygon, geos::geom::MultiPoint, and geos::geom::MultiLineString.