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

List of all members.

## 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.
geom::IntersectionMatrix * | getIntersectionMatrix ()
| Gets the IntersectionMatrix for the spatial relationship between the input geometries.

## Static Public Member Functions

static 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 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.

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

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.

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

## Member Function Documentation

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.

static 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 IntersectonMatrix for the spatial relationship between the geometries. Ownership transferred.

static 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 IntersectonMatrix for the spatial relationship between the geometries. Ownership transferred.

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

- RelateOp.h