geos::geom::prep::PreparedGeometry Class Reference

An interface for classes which prepare Geometrys in order to optimize the performance of repeated calls to specific geometric operations. More...

#include <PreparedGeometry.h>

Inheritance diagram for geos::geom::prep::PreparedGeometry:

geos::geom::prep::BasicPreparedGeometry geos::geom::prep::PreparedLineString geos::geom::prep::PreparedPoint geos::geom::prep::PreparedPolygon

List of all members.

Public Member Functions

virtual const geom::GeometrygetGeometry () const =0
virtual bool contains (const geom::Geometry *geom) const =0
virtual bool containsProperly (const geom::Geometry *geom) const =0
virtual bool coveredBy (const geom::Geometry *geom) const =0
virtual bool covers (const geom::Geometry *geom) const =0
virtual bool crosses (const geom::Geometry *geom) const =0
virtual bool disjoint (const geom::Geometry *geom) const =0
virtual bool intersects (const geom::Geometry *geom) const =0
virtual bool overlaps (const geom::Geometry *geom) const =0
virtual bool touches (const geom::Geometry *geom) const =0
virtual bool within (const geom::Geometry *geom) const =0


Detailed Description

An interface for classes which prepare Geometrys in order to optimize the performance of repeated calls to specific geometric operations.

A given implementation may provide optimized implementations for only some of the specified methods, and delegate the remaining methods to the original Geometry operations. An implementation may also only optimize certain situations, and delegate others. See the implementing classes for documentation about which methods and situations they optimize.


Member Function Documentation

virtual bool geos::geom::prep::PreparedGeometry::contains ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry contains a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry contains the given Geometry
See also:
Geometry::contains(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry, and geos::geom::prep::PreparedPolygon.

virtual bool geos::geom::prep::PreparedGeometry::containsProperly ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry contains a given geometry.

The containsProperly predicate has the following equivalent definitions:

  • Every point of the other geometry is a point of this geometry's interior.
  • The DE-9IM Intersection Matrix for the two geometries matches [T**FF*FF*]
The advantage to using this predicate is that it can be computed efficiently, with no need to compute topology at individual points.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry containsProperly the given Geometry

Implemented in geos::geom::prep::BasicPreparedGeometry, and geos::geom::prep::PreparedPolygon.

virtual bool geos::geom::prep::PreparedGeometry::coveredBy ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry is covered by a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry is covered by the given Geometry
See also:
Geometry::coveredBy(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual bool geos::geom::prep::PreparedGeometry::covers ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry covers a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry covers the given Geometry
See also:
Geometry::covers(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry, and geos::geom::prep::PreparedPolygon.

virtual bool geos::geom::prep::PreparedGeometry::crosses ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry crosses a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry crosses the given Geometry
See also:
Geometry::crosses(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual bool geos::geom::prep::PreparedGeometry::disjoint ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry is disjoint from a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry is disjoint from the given Geometry
See also:
Geometry::disjoint(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual const geom::Geometry& geos::geom::prep::PreparedGeometry::getGeometry (  )  const [pure virtual]

Gets the original Geometry which has been prepared.

Returns:
the base geometry

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual bool geos::geom::prep::PreparedGeometry::intersects ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry intersects a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry intersects the given Geometry
See also:
Geometry::intersects(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry, geos::geom::prep::PreparedLineString, and geos::geom::prep::PreparedPolygon.

virtual bool geos::geom::prep::PreparedGeometry::overlaps ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry overlaps a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry overlaps the given Geometry
See also:
Geometry::overlaps(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual bool geos::geom::prep::PreparedGeometry::touches ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry touches a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry touches the given Geometry
See also:
Geometry::touches(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.

virtual bool geos::geom::prep::PreparedGeometry::within ( const geom::Geometry geom  )  const [pure virtual]

Tests whether the base Geometry is within a given geometry.

Parameters:
geom the Geometry to test
Returns:
true if this Geometry is within the given Geometry
See also:
Geometry::within(Geometry)

Implemented in geos::geom::prep::BasicPreparedGeometry.


The documentation for this class was generated from the following file:

Generated on Sat Jul 25 18:46:11 2009 for GEOS by  doxygen 1.5.9