GEOS 3.14.0dev
|
#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) |
Builds a set of noded, unique, labelled Edges from the edges of the two input geometries.
It performs the following steps:
noding::Noder
based on provided precision model, unless a custom one is suppliedEdge
s and merges them
|
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.
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.
geom0 | the first geometry |
geom1 | the second geometry |
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).
geomIndex | index of input geometry |