# 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::Geometry * | intersection (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometry * | Union (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometry * | difference (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometry * | symDifference (const geom::Geometry *geom0, const geom::Geometry *geom1)
geom::Geometry * | buffer (const geom::Geometry *geom0, double distance)
geom::Geometry * | computeResultPrecision (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:

- CommonBitsOp.h