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:

## 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.
| RelateOp (const geom::Geometry *g0, const geom::Geometry *g1, const algorithm::BoundaryNodeRule &boundaryNodeRule)
| Creates a new Relate operation with a specified Boundary Node Rule.
std::unique_ptr< geom::IntersectionMatrix > | getIntersectionMatrix ()
| Gets the IntersectionMatrix for the spatial relationship between the input geometries.
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::Geometry * | getArgGeometry (unsigned int i) const

## Static Public Member Functions

static std::unique_ptr< geom::IntersectionMatrix > | relate (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.
static std::unique_ptr< geom::IntersectionMatrix > | relate (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.

## Additional Inherited Members

Protected Member Functions inherited from geos::operation::GeometryGraphOperation
void | setComputationPrecision (const geom::PrecisionModel *pm)
| GeometryGraphOperation (const GeometryGraphOperation &other)=delete
GeometryGraphOperation & | operator= (const GeometryGraphOperation &rhs)=delete
Protected Attributes inherited from geos::operation::GeometryGraphOperation
algorithm::LineIntersector | li
const geom::PrecisionModel * | resultPrecisionModel
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

  g0 | a Geometry to relate. Ownership left to caller.
  g1 | another Geometry to relate. Ownership to caller.

Referenced by RelateOp().

## 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

  g0 | a Geometry to relate. Ownership left to caller.
  g1 | another Geometry to relate. Ownership to caller.
  boundaryNodeRule | the Boundary Node Rule to use

References RelateOp().

## 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]

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

  a | a Geometry to test. Ownership left to caller.
  b | a Geometry to test. Ownership left to caller.

Returns
  the IntersectionMatrix for the spatial relationship between the geometries. Ownership transferred.

## relate() [2/2]

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

  a | a Geometry to test. Ownership left to caller.
  b | a Geometry to test. Ownership left to caller.
  boundaryNodeRule | the Boundary Node Rule to use.

Returns
  the IntersectionMatrix for the spatial relationship between the geometries. Ownership transferred.

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

- RelateOp.h