GEOS  3.14.0dev
Public Member Functions | Static Public Member Functions | List of all members
geos::operation::relate::RelateOp Class Reference

Implements the SFS relate() operation on two geom::Geometry objects. More...

#include <RelateOp.h>

Inheritance diagram for geos::operation::relate::RelateOp:
geos::operation::GeometryGraphOperation

Public Member Functions

 RelateOp (const geom::Geometry *g0, const geom::Geometry *g1)
 Creates a new Relate operation, using the default (OGC SFS) Boundary Node Rule. More...
 
 RelateOp (const geom::Geometry *g0, const geom::Geometry *g1, const algorithm::BoundaryNodeRule &boundaryNodeRule)
 Creates a new Relate operation with a specified Boundary Node Rule. More...
 
std::unique_ptr< geom::IntersectionMatrixgetIntersectionMatrix ()
 Gets the IntersectionMatrix for the spatial relationship between the input geometries. More...
 
- Public Member Functions inherited from geos::operation::GeometryGraphOperation
 GeometryGraphOperation (const geom::Geometry *g0, const geom::Geometry *g1)
 
 GeometryGraphOperation (const geom::Geometry *g0, const geom::Geometry *g1, const algorithm::BoundaryNodeRule &boundaryNodeRule)
 
 GeometryGraphOperation (const geom::Geometry *g0)
 
const geom::GeometrygetArgGeometry (unsigned int i) const
 

Static Public Member Functions

static std::unique_ptr< geom::IntersectionMatrixrelate (const geom::Geometry *a, const geom::Geometry *b)
 Computes the geom::IntersectionMatrix for the spatial relationship between two geom::Geometry objects, using the default (OGC SFS) Boundary Node Rule. More...
 
static std::unique_ptr< geom::IntersectionMatrixrelate (const geom::Geometry *a, const geom::Geometry *b, const algorithm::BoundaryNodeRule &boundaryNodeRule)
 Computes the geom::IntersectionMatrix for the spatial relationship between two geom::Geometry objects, using a specified Boundary Node Rule. More...
 

Additional Inherited Members

- Protected Member Functions inherited from geos::operation::GeometryGraphOperation
void setComputationPrecision (const geom::PrecisionModel *pm)
 
 GeometryGraphOperation (const GeometryGraphOperation &other)=delete
 
GeometryGraphOperationoperator= (const GeometryGraphOperation &rhs)=delete
 
- Protected Attributes inherited from geos::operation::GeometryGraphOperation
algorithm::LineIntersector li
 
const geom::PrecisionModelresultPrecisionModel
 
std::vector< std::unique_ptr< geomgraph::GeometryGraph > > arg
 The operation args into an array so they can be accessed by index.
 

Detailed Description

Implements the SFS relate() operation on two geom::Geometry objects.

This class supports specifying a custom algorithm::BoundaryNodeRule to be used during the relate computation.

Note
Custom Boundary Node Rules do not (currently) affect the results of other Geometry methods (such as Geometry::getBoundary()). The results of these methods may not be consistent with the relationship computed by a custom Boundary Node Rule.

Constructor & Destructor Documentation

◆ RelateOp() [1/2]

geos::operation::relate::RelateOp::RelateOp ( const geom::Geometry g0,
const geom::Geometry g1 
)

Creates a new Relate operation, using the default (OGC SFS) Boundary Node Rule.

Parameters
g0a Geometry to relate. Ownership left to caller.
g1another Geometry to relate. Ownership to caller.

◆ RelateOp() [2/2]

geos::operation::relate::RelateOp::RelateOp ( const geom::Geometry g0,
const geom::Geometry g1,
const algorithm::BoundaryNodeRule boundaryNodeRule 
)

Creates a new Relate operation with a specified Boundary Node Rule.

Parameters
g0a Geometry to relate. Ownership left to caller.
g1another Geometry to relate. Ownership to caller.
boundaryNodeRulethe Boundary Node Rule to use

Member Function Documentation

◆ getIntersectionMatrix()

std::unique_ptr<geom::IntersectionMatrix> geos::operation::relate::RelateOp::getIntersectionMatrix ( )

Gets the IntersectionMatrix for the spatial relationship between the input geometries.

Returns
the geom::IntersectionMatrix for the spatial relationship between the input geometries. Ownership transferred.

◆ relate() [1/2]

static std::unique_ptr<geom::IntersectionMatrix> geos::operation::relate::RelateOp::relate ( const geom::Geometry a,
const geom::Geometry b 
)
static

Computes the geom::IntersectionMatrix for the spatial relationship between two geom::Geometry objects, using the default (OGC SFS) Boundary Node Rule.

Parameters
aa Geometry to test. Ownership left to caller.
ba Geometry to test. Ownership left to caller.
Returns
the IntersectonMatrix for the spatial relationship between the geometries. Ownership transferred.

◆ relate() [2/2]

static std::unique_ptr<geom::IntersectionMatrix> geos::operation::relate::RelateOp::relate ( const geom::Geometry a,
const geom::Geometry b,
const algorithm::BoundaryNodeRule boundaryNodeRule 
)
static

Computes the geom::IntersectionMatrix for the spatial relationship between two geom::Geometry objects, using a specified Boundary Node Rule.

Parameters
aa Geometry to test. Ownership left to caller.
ba Geometry to test. Ownership left to caller.
boundaryNodeRulethe Boundary Node Rule to use.
Returns
the IntersectonMatrix for the spatial relationship between the geometries. Ownership transferred.

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