#include <EdgeNodingBuilder.h>
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
Edges and merges them
- Author
- mdavis
◆ 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.
◆ 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: