geos::geom::util::GeometryCombiner Class Reference

Combines Geometrys to produce a GeometryCollection of the most appropriate type. More...

`#include <GeometryCombiner.h>`

## Public Member Functions

| GeometryCombiner (std::vector< const Geometry * > const &geoms)
| Creates a new combiner for a collection of geometries.
| GeometryCombiner (std::vector< std::unique_ptr< Geometry > > &&geoms)
GeometryFactory const * | extractFactory () const
| Extracts the GeometryFactory used by the geometries in a collection.
std::unique_ptr< Geometry > | combine ()
| Computes the combination of the input geometries to produce the most appropriate Geometry or GeometryCollection.
void | setSkipEmpty (bool)
| Set a flag indicating that empty geometries should be omitted from the result.
| GeometryCombiner (const GeometryCombiner &other)=delete
GeometryCombiner & | operator= (const GeometryCombiner &rhs)=delete

## Static Public Member Functions

static std::unique_ptr< Geometry > | combine (std::vector< const Geometry * > const &geoms)
| Copies a collection of geometries and combines the result.
static std::unique_ptr< Geometry > | combine (std::vector< std::unique_ptr< Geometry > > &&geoms)
| Combines a collection of geometries.
static std::unique_ptr< Geometry > | combine (const Geometry *g0, const Geometry *g1)
| Copies two geometries and combines the result.
static std::unique_ptr< Geometry > | combine (std::unique_ptr< Geometry > &&g0, std::unique_ptr< Geometry > &&g1)
| Combines two geometries.
static std::unique_ptr< Geometry > | combine (const Geometry *g0, const Geometry *g1, const Geometry *g2)
| Copies three geometries and combines the result.
static std::unique_ptr< Geometry > | combine (std::unique_ptr< Geometry > &&g0, std::unique_ptr< Geometry > &&g1, std::unique_ptr< Geometry > &&g2)
| Combines three geometries.

## Detailed Description

Combines Geometrys to produce a GeometryCollection of the most appropriate type.

Input geometries which are already collections will have their elements extracted first. No validation of the result geometry is performed. (The only case where invalidity is possible is where polygonal geometries are combined and result in a self-intersection).

See also
  GeometryFactory::buildGeometry

## Constructor & Destructor Documentation

## GeometryCombiner()

geos::geom::util::GeometryCombiner::GeometryCombiner | ( | std::vector< const Geometry * > const & | geoms | ) |

explicit

Creates a new combiner for a collection of geometries.

Parameters

  geoms | the geometries to combine

References GeometryCombiner().

Referenced by GeometryCombiner(), and setSkipEmpty().

## Member Function Documentation

## combine() [1/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( |  | ) |

Computes the combination of the input geometries to produce the most appropriate Geometry or GeometryCollection.

Returns
  a Geometry which is the combination of the inputs

## combine() [2/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | const Geometry * | g0,
|  | const Geometry * | g1 )

static

Copies two geometries and combines the result.

Parameters

  g0 | a geometry to combine (ownership left to caller)
  g1 | a geometry to combine (ownership left to caller)

Returns
  the combined geometry

## combine() [3/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | const Geometry * | g0,
|  | const Geometry * | g1,
|  | const Geometry * | g2 )

static

Copies three geometries and combines the result.

Parameters

  g0 | a geometry to combine (ownership left to caller)
  g1 | a geometry to combine (ownership left to caller)
  g2 | a geometry to combine (ownership left to caller)

Returns
  the combined geometry

## combine() [4/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | std::unique_ptr< Geometry > && | g0,
|  | std::unique_ptr< Geometry > && | g1 )

static

Combines two geometries.

Parameters

  g0 | a geometry to combine (ownership transferred to combined geometry)
  g1 | a geometry to combine (ownership transferred to combined geometry)

Returns
  the combined geometry

## combine() [5/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | std::unique_ptr< Geometry > && | g0,
|  | std::unique_ptr< Geometry > && | g1,
|  | std::unique_ptr< Geometry > && | g2 )

static

Combines three geometries.

Parameters

  g0 | a geometry to combine (ownership transferred to combined geometry)
  g1 | a geometry to combine (ownership transferred to combined geometry)
  g2 | a geometry to combine (ownership transferred to combined geometry)

Returns
  the combined geometry

## combine() [6/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | std::vector< const Geometry * > const & | geoms | ) |

static

Copies a collection of geometries and combines the result.

Parameters

  geoms | the geometries to combine (ownership left to caller)

Returns
  the combined geometry

## combine() [7/7]

std::unique_ptr< Geometry > geos::geom::util::GeometryCombiner::combine | ( | std::vector< std::unique_ptr< Geometry > > && | geoms | ) |

static

Combines a collection of geometries.

Parameters

  geoms | the geometries to combine (ownership transferred to combined geometry)

Returns
  the combined geometry

## extractFactory()

GeometryFactory const * geos::geom::util::GeometryCombiner::extractFactory | ( |  | ) | const

Extracts the GeometryFactory used by the geometries in a collection.

Returns
  a GeometryFactory

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

- GeometryCombiner.h