GEOS  3.8.0dev
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 p_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. More...
 
bool isAllTestComponentsInTargetInterior (const geom::Geometry *testGeom) const
 Tests whether all components of the test Geometry are contained in the interior of the target geometry. More...
 
bool isAnyTestComponentInTarget (const geom::Geometry *testGeom) const
 Tests whether any component of the test Geometry intersects the area of the target geometry. More...
 
bool isAnyTestComponentInTargetInterior (const geom::Geometry *testGeom) const
 Tests whether any component of the test Geometry intersects the interior of the target geometry. More...
 
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.

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: