GEOS 3.11.1
|
The node component of a geometry graph. More...
#include <Node.h>
Public Member Functions | |
Node (const geom::Coordinate &newCoord, EdgeEndStar *newEdges) | |
virtual const geom::Coordinate & | getCoordinate () const |
virtual EdgeEndStar * | getEdges () |
bool | isIsolated () const override |
virtual void | add (EdgeEnd *e) |
Add the edge to the list of edges at this node. | |
virtual void | mergeLabel (const Node &n) |
virtual void | mergeLabel (const Label &label2) |
To merge labels for two nodes, the merged location for each LabelElement is computed. More... | |
virtual void | setLabel (uint8_t argIndex, geom::Location onLocation) |
virtual void | setLabelBoundary (uint8_t argIndex) |
Updates the label of a node to BOUNDARY, obeying the mod-2 boundaryDetermination rule. | |
virtual geom::Location | computeMergedLocation (const Label &label2, uint8_t eltIndex) |
virtual std::string | print () |
virtual const std::vector< double > & | getZ () const |
virtual void | addZ (double) |
virtual bool | isIncidentEdgeInResult () const |
Tests whether any incident edge is flagged as being in the result. More... | |
Public Member Functions inherited from geos::geomgraph::GraphComponent | |
GraphComponent (const Label &newLabel) | |
Label & | getLabel () |
const Label & | getLabel () const |
void | setLabel (const Label &newLabel) |
virtual void | setInResult (bool p_isInResult) |
virtual bool | isInResult () const |
virtual void | setCovered (bool isCovered) |
virtual bool | isCovered () const |
virtual bool | isCoveredSet () const |
virtual bool | isVisited () const |
virtual void | setVisited (bool p_isVisited) |
virtual bool | isIsolated () const =0 |
virtual void | updateIM (geom::IntersectionMatrix &im) |
Protected Member Functions | |
void | testInvariant () const |
void | computeIM (geom::IntersectionMatrix &) override |
Basic nodes do not compute IMs. More... | |
virtual void | computeIM (geom::IntersectionMatrix &im)=0 |
Protected Attributes | |
geom::Coordinate | coord |
EdgeEndStar * | edges |
Protected Attributes inherited from geos::geomgraph::GraphComponent | |
Label | label |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Node &node) |
The node component of a geometry graph.
|
inlineoverrideprotectedvirtual |
Basic nodes do not compute IMs.
Implements geos::geomgraph::GraphComponent.
Reimplemented in geos::operation::relate::RelateNode.
|
virtual |
The location for a given eltIndex for a node will be one of { null, INTERIOR, BOUNDARY }. A node may be on both the boundary and the interior of a geometry; in this case, the rule is that the node is considered to be in the boundary. The merged location is the maximum of the two input values.
|
virtual |
Tests whether any incident edge is flagged as being in the result.
This test can be used to determine if the node is in the result, since if any incident edge is in the result, the node must be in the result as well.
true
if any indicident edge in the in the result
|
overridevirtual |
Implements geos::geomgraph::GraphComponent.
|
virtual |
To merge labels for two nodes, the merged location for each LabelElement is computed.
The location for the corresponding node LabelElement is set to the result, as long as the location is non-null.