GEOS  3.9.1dev
Public Member Functions | Protected Member Functions | Private Attributes | List of all members
geos::geom::prep::BasicPreparedGeometry Class Reference

A base class for PreparedGeometry subclasses. More...

#include <BasicPreparedGeometry.h>

Inheritance diagram for geos::geom::prep::BasicPreparedGeometry:
[legend]
Collaboration diagram for geos::geom::prep::BasicPreparedGeometry:
[legend]

Public Member Functions

 BasicPreparedGeometry (const Geometry *geom)
 
 ~BasicPreparedGeometry () override=default
 
const geom::GeometrygetGeometry () const override
 Gets the original Geometry which has been prepared. More...
 
const Coordinate::ConstVectgetRepresentativePoints () const
 
bool isAnyTargetComponentInTest (const geom::Geometry *testGeom) const
 
bool contains (const geom::Geometry *g) const override
 
bool containsProperly (const geom::Geometry *g) const override
 
bool coveredBy (const geom::Geometry *g) const override
 
bool covers (const geom::Geometry *g) const override
 
bool crosses (const geom::Geometry *g) const override
 
bool disjoint (const geom::Geometry *g) const override
 
bool intersects (const geom::Geometry *g) const override
 
bool overlaps (const geom::Geometry *g) const override
 
bool touches (const geom::Geometry *g) const override
 
bool within (const geom::Geometry *g) const override
 
std::unique_ptr< geom::CoordinateSequencenearestPoints (const geom::Geometry *g) const override
 
double distance (const geom::Geometry *g) const override
 
std::string toString ()
 
- Public Member Functions inherited from geos::geom::prep::PreparedGeometry
virtual ~PreparedGeometry ()
 

Protected Member Functions

void setGeometry (const geom::Geometry *geom)
 
bool envelopesIntersect (const geom::Geometry *g) const
 
bool envelopeCovers (const geom::Geometry *g) const
 

Private Attributes

const geom::GeometrybaseGeom
 
Coordinate::ConstVect representativePts
 

Detailed Description

A base class for PreparedGeometry subclasses.

Contains default implementations for methods, which simply delegate to the equivalent Geometry methods. This class may be used as a "no-op" class for Geometry types which do not have a corresponding PreparedGeometry implementation.

Author
Martin Davis

Definition at line 59 of file BasicPreparedGeometry.h.

Constructor & Destructor Documentation

geos::geom::prep::BasicPreparedGeometry::BasicPreparedGeometry ( const Geometry geom)
geos::geom::prep::BasicPreparedGeometry::~BasicPreparedGeometry ( )
overridedefault

Member Function Documentation

bool geos::geom::prep::BasicPreparedGeometry::contains ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

Reimplemented in geos::geom::prep::PreparedPolygon.

bool geos::geom::prep::BasicPreparedGeometry::containsProperly ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

Reimplemented in geos::geom::prep::PreparedPolygon.

bool geos::geom::prep::BasicPreparedGeometry::coveredBy ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

bool geos::geom::prep::BasicPreparedGeometry::covers ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

Reimplemented in geos::geom::prep::PreparedPolygon.

bool geos::geom::prep::BasicPreparedGeometry::crosses ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

bool geos::geom::prep::BasicPreparedGeometry::disjoint ( const geom::Geometry g) const
overridevirtual

Standard implementation for all geometries. Supports GeometryCollections as input.

Implements geos::geom::prep::PreparedGeometry.

double geos::geom::prep::BasicPreparedGeometry::distance ( const geom::Geometry g) const
overridevirtual
bool geos::geom::prep::BasicPreparedGeometry::envelopeCovers ( const geom::Geometry g) const
protected

Determines whether the envelope of this geometry covers the Geometry g.

Parameters
ga Geometry
Returns
true if g is contained in this envelope
bool geos::geom::prep::BasicPreparedGeometry::envelopesIntersect ( const geom::Geometry g) const
protected

Determines whether a Geometry g interacts with this geometry by testing the geometry envelopes.

Parameters
ga Geometry
Returns
true if the envelopes intersect
const geom::Geometry& geos::geom::prep::BasicPreparedGeometry::getGeometry ( ) const
inlineoverridevirtual

Gets the original Geometry which has been prepared.

Returns
the base geometry

Implements geos::geom::prep::PreparedGeometry.

Definition at line 95 of file BasicPreparedGeometry.h.

const Coordinate::ConstVect* geos::geom::prep::BasicPreparedGeometry::getRepresentativePoints ( ) const
inline

Gets the list of representative points for this geometry. One vertex is included for every component of the geometry (i.e. including one for every ring of polygonal geometries)

Returns
a List of Coordinate

Definition at line 108 of file BasicPreparedGeometry.h.

bool geos::geom::prep::BasicPreparedGeometry::intersects ( const geom::Geometry g) const
overridevirtual
bool geos::geom::prep::BasicPreparedGeometry::isAnyTargetComponentInTest ( const geom::Geometry testGeom) const

Tests whether any representative of the target geometry intersects the test geometry. This is useful in A/A, A/L, A/P, L/P, and P/P cases.

Parameters
testGeomthe test geometry
Returns
true if any component intersects the areal test geometry
std::unique_ptr<geom::CoordinateSequence> geos::geom::prep::BasicPreparedGeometry::nearestPoints ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

Reimplemented in geos::geom::prep::PreparedLineString.

bool geos::geom::prep::BasicPreparedGeometry::overlaps ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

void geos::geom::prep::BasicPreparedGeometry::setGeometry ( const geom::Geometry geom)
protected

Sets the original Geometry which will be prepared.

std::string geos::geom::prep::BasicPreparedGeometry::toString ( )
bool geos::geom::prep::BasicPreparedGeometry::touches ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

bool geos::geom::prep::BasicPreparedGeometry::within ( const geom::Geometry g) const
overridevirtual

Default implementation.

Implements geos::geom::prep::PreparedGeometry.

Member Data Documentation

const geom::Geometry* geos::geom::prep::BasicPreparedGeometry::baseGeom
private

Definition at line 61 of file BasicPreparedGeometry.h.

Coordinate::ConstVect geos::geom::prep::BasicPreparedGeometry::representativePts
private

Definition at line 62 of file BasicPreparedGeometry.h.


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