geos::operation::overlayng::EdgeNodingBuilder Class Reference

`#include <EdgeNodingBuilder.h>`

## Public Member Functions

| EdgeNodingBuilder (const PrecisionModel *p_pm, noding::Noder *p_customNoder)
void | setClipEnvelope (const Envelope *clipEnv)
bool | hasEdgesFor (uint8_t geomIndex) const
std::vector< Edge * > | build (const Geometry *geom0, const Geometry *geom1)

## Detailed Description

Builds a set of noded, unique, labelled Edges from the edges of the two input geometries.

It performs the following steps:

- Extracts input edges, and attaches topological information
- if clipping is enabled, handles clipping or limiting input geometry
- chooses a `noding::Noder` based on provided precision model, unless a custom one is supplied
- calls the chosen noding::Noder, with precision model
- removes any fully collapsed noded edges
- builds `Edge`s and merges them

Author
  mdavis

## Constructor & Destructor Documentation

## EdgeNodingBuilder()

geos::operation::overlayng::EdgeNodingBuilder::EdgeNodingBuilder | ( | const PrecisionModel * | p_pm,
|  | noding::Noder * | p_customNoder )

inline

Creates a new builder, with an optional custom noder. If the noder is not provided, a suitable one will be used based on the supplied precision model.

## Member Function Documentation

## build()

std::vector< Edge * > geos::operation::overlayng::EdgeNodingBuilder::build | ( | const Geometry * | geom0,
|  | const Geometry * | geom1 )

Creates a set of labelled {Edge}s. representing the fully noded edges of the input geometries. Coincident edges (from the same or both geometries) are merged along with their labels into a single unique, fully labelled edge.

Parameters

  geom0 | the first geometry
  geom1 | the second geometry

Returns
  the noded, merged, labelled edges

## hasEdgesFor()

bool geos::operation::overlayng::EdgeNodingBuilder::hasEdgesFor | ( | uint8_t | geomIndex | ) | const

Reports whether there are noded edges for the given input geometry. If there are none, this indicates that either the geometry was empty, or has completely collapsed (because it is smaller than the noding precision).

Parameters

  geomIndex | index of input geometry

Returns
  true if there are edges for the geometry

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

- EdgeNodingBuilder.h