GEOS  3.3.4
Public Member Functions | Static Public Member Functions | List of all members
geos::geom::prep::PreparedPolygonContainsProperly Class Reference

Computes the containsProperly spatial relationship predicate for PreparedPolygons relative to all other Geometry classes. More...

#include <PreparedPolygonContainsProperly.h>

Inheritance diagram for geos::geom::prep::PreparedPolygonContainsProperly:
geos::geom::prep::PreparedPolygonPredicate

Public Member Functions

 PreparedPolygonContainsProperly (const PreparedPolygon *const prep)
 
bool containsProperly (const geom::Geometry *geom)
 
- Public Member Functions inherited from geos::geom::prep::PreparedPolygonPredicate
 PreparedPolygonPredicate (const PreparedPolygon *const prepPoly)
 

Static Public Member Functions

static bool containsProperly (const PreparedPolygon *const prep, const geom::Geometry *geom)
 

Additional Inherited Members

- Protected Member Functions inherited from geos::geom::prep::PreparedPolygonPredicate
bool isAllTestComponentsInTarget (const geom::Geometry *testGeom) const
 Tests whether all components of the test Geometry are contained in the target geometry.
 
bool isAllTestComponentsInTargetInterior (const geom::Geometry *testGeom) const
 Tests whether all components of the test Geometry are contained in the interior of the target geometry.
 
bool isAnyTestComponentInTarget (const geom::Geometry *testGeom) const
 Tests whether any component of the test Geometry intersects the area of the target geometry.
 
bool isAnyTestComponentInTargetInterior (const geom::Geometry *testGeom) const
 Tests whether any component of the test Geometry intersects the interior of the target geometry.
 
bool isAnyTargetComponentInAreaTest (const geom::Geometry *testGeom, const geom::Coordinate::ConstVect *targetRepPts) const
 
- Protected Attributes inherited from geos::geom::prep::PreparedPolygonPredicate
const PreparedPolygon *const prepPoly
 

Detailed Description

Computes the containsProperly spatial relationship predicate for PreparedPolygons relative to all other Geometry classes.

Computes the containsProperly spatial relationship predicate for PreparedPolygons relative to all other Geometry classes.

Uses short-circuit tests and indexing to improve performance.

A Geometry A containsProperly another Geometry B iff all points of B are contained in the Interior of A. Equivalently, B is contained in A AND B does not intersect the Boundary of A.

The advantage to using this predicate is that it can be computed efficiently, with no need to compute topology at individual points. In a situation with many geometries intersecting the boundary of the target geometry, this can make a performance difference.

Author
Martin Davis

Constructor & Destructor Documentation

geos::geom::prep::PreparedPolygonContainsProperly::PreparedPolygonContainsProperly ( const PreparedPolygon *const  prep)
inline

Creates an instance of this operation.

Parameters
prepPolythe PreparedPolygon to evaluate

Member Function Documentation

static bool geos::geom::prep::PreparedPolygonContainsProperly::containsProperly ( const PreparedPolygon *const  prep,
const geom::Geometry geom 
)
inlinestatic

Computes the containsProperly predicate between a PreparedPolygon and a Geometry.

Parameters
prepthe prepared polygon
geoma test geometry
Returns
true if the polygon properly contains the geometry

References containsProperly().

Referenced by containsProperly().

bool geos::geom::prep::PreparedPolygonContainsProperly::containsProperly ( const geom::Geometry geom)

Tests whether this PreparedPolygon containsProperly a given geometry.

Parameters
geomthe test geometry
Returns
true if the test geometry is contained properly

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