Public Member Functions

geos::precision::CommonBitsOp Class Reference

Provides versions of Geometry spatial functions which use common bit removal to reduce the likelihood of robustness problems. More...

#include <CommonBitsOp.h>

List of all members.

Public Member Functions

 CommonBitsOp ()
 CommonBitsOp (bool nReturnToOriginalPrecision)
geom::Geometryintersection (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::GeometryUnion (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometrydifference (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::GeometrysymDifference (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometrybuffer (const geom::Geometry *geom0, double distance)
geom::GeometrycomputeResultPrecision (geom::Geometry *result)

Detailed Description

Provides versions of Geometry spatial functions which use common bit removal to reduce the likelihood of robustness problems.

In the current implementation no rounding is performed on the reshifted result geometry, which means that it is possible that the returned Geometry is invalid. Client classes should check the validity of the returned result themselves.


Constructor & Destructor Documentation

geos::precision::CommonBitsOp::CommonBitsOp (  ) 

Creates a new instance of class, which reshifts result Geometry

geos::precision::CommonBitsOp::CommonBitsOp ( bool  nReturnToOriginalPrecision  ) 

Creates a new instance of class, specifying whether the result Geometrys should be reshifted.

Parameters:
returnToOriginalPrecision 

Member Function Documentation

geom::Geometry* geos::precision::CommonBitsOp::buffer ( const geom::Geometry geom0,
double  distance 
)

Computes the buffer a geometry, using enhanced precision.

Parameters:
geom0 the Geometry to buffer
distance the buffer distance
Returns:
the Geometry representing the buffer of the input Geometry.
geom::Geometry* geos::precision::CommonBitsOp::computeResultPrecision ( geom::Geometry result  ) 

If required, returning the result to the orginal precision if required.

In this current implementation, no rounding is performed on the reshifted result geometry, which means that it is possible that the returned Geometry is invalid.

Parameters:
result the result Geometry to modify
Returns:
the result Geometry with the required precision
geom::Geometry* geos::precision::CommonBitsOp::difference ( const geom::Geometry geom0,
const geom::Geometry geom1 
)

Computes the set-theoretic difference of two Geometry, using enhanced precision.

Parameters:
geom0 the first Geometry
geom1 the second Geometry, to be subtracted from the first
Returns:
the Geometry representing the set-theoretic difference of the input Geometries.
geom::Geometry* geos::precision::CommonBitsOp::intersection ( const geom::Geometry geom0,
const geom::Geometry geom1 
)

Computes the set-theoretic intersection of two Geometry, using enhanced precision.

Parameters:
geom0 the first Geometry
geom1 the second Geometry
Returns:
the Geometry representing the set-theoretic intersection of the input Geometries.
geom::Geometry* geos::precision::CommonBitsOp::symDifference ( const geom::Geometry geom0,
const geom::Geometry geom1 
)

Computes the set-theoretic symmetric difference of two geometries, using enhanced precision.

Parameters:
geom0 the first Geometry
geom1 the second Geometry
Returns:
the Geometry representing the set-theoretic symmetric difference of the input Geometries.
geom::Geometry* geos::precision::CommonBitsOp::Union ( const geom::Geometry geom0,
const geom::Geometry geom1 
)

Computes the set-theoretic union of two Geometry, using enhanced precision.

Parameters:
geom0 the first Geometry
geom1 the second Geometry
Returns:
the Geometry representing the set-theoretic union of the input Geometries.

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