GEOS  3.3.5
Public Member Functions
geos::operation::IsSimpleOp Class Reference

Tests whether a Geometry is simple. More...

#include <IsSimpleOp.h>

List of all members.

Public Member Functions

 IsSimpleOp ()
 Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule.
 IsSimpleOp (const geom::Geometry &geom)
 Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule.
 IsSimpleOp (const geom::Geometry &geom, const algorithm::BoundaryNodeRule &boundaryNodeRule)
 Creates a simplicity checker using a given algorithm::BoundaryNodeRule.
bool isSimple ()
const geom::CoordinategetNonSimpleLocation () const
bool isSimple (const geom::LineString *geom)
bool isSimple (const geom::MultiLineString *geom)
bool isSimple (const geom::MultiPoint *mp)
bool isSimpleLinearGeometry (const geom::Geometry *geom)

Detailed Description

Tests whether a Geometry is simple.

In general, the SFS specification of simplicity follows the rule:

This definition relies on the definition of boundary points. The SFS uses the Mod-2 rule to determine which points are on the boundary of lineal geometries, but this class supports using other BoundaryNodeRules as well.

Simplicity is defined for each Geometry subclass as follows:

See also:
algorithm::BoundaryNodeRule

Constructor & Destructor Documentation

Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule.

Deprecated:
use IsSimpleOp(Geometry)

Creates a simplicity checker using the default SFS Mod-2 Boundary Node Rule.

Parameters:
geomThe geometry to test. Will store a reference: keep it alive.

Creates a simplicity checker using a given algorithm::BoundaryNodeRule.

Parameters:
geomthe geometry to test
boundaryNodeRulethe rule to use.

Member Function Documentation

Gets a coordinate for the location where the geometry fails to be simple. (i.e. where it has a non-boundary self-intersection). isSimple must be called before this method is called.

Returns:
a coordinate for the location of the non-boundary self-intersection. Ownership retained.
the null coordinate if the geometry is simple

Tests whether the geometry is simple.

Returns:
true if the geometry is simple

Reports whether a geom::LineString is simple.

Parameters:
geomthe lineal geometry to test
Returns:
true if the geometry is simple
Deprecated:
use isSimple()

Reports whether a geom::MultiLineString is simple.

Parameters:
geomthe lineal geometry to test
Returns:
true if the geometry is simple
Deprecated:
use isSimple()

A MultiPoint is simple iff it has no repeated points

Deprecated:
use isSimple()

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