GEOS 3.6.2
geos::geomgraph::Node Class Reference

#include <Node.h>

Inheritance diagram for geos::geomgraph::Node:
geos::geomgraph::GraphComponent geos::operation::relate::RelateNode

Public Member Functions

 Node (const geom::Coordinate &newCoord, EdgeEndStar *newEdges)
virtual const geom::CoordinategetCoordinate () const
virtual EdgeEndStargetEdges ()
virtual bool isIsolated () const
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.
virtual void setLabel (int argIndex, int onLocation)
virtual void setLabelBoundary (int argIndex)
 Updates the label of a node to BOUNDARY, obeying the mod-2 boundaryDetermination rule.
virtual int computeMergedLocation (const Label &label2, int 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.
Public Member Functions inherited from geos::geomgraph::GraphComponent
 GraphComponent (const Label &newLabel)
LabelgetLabel ()
const LabelgetLabel () const
void setLabel (const Label &newLabel)
virtual void setInResult (bool 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 isVisited)
virtual void updateIM (geom::IntersectionMatrix &im)

Protected Member Functions

void testInvariant () const
virtual void computeIM (geom::IntersectionMatrix &)
 Basic nodes do not compute IMs.

Protected Attributes

geom::Coordinate coord
EdgeEndStaredges
Protected Attributes inherited from geos::geomgraph::GraphComponent
Label label

Friends

std::ostream & operator<< (std::ostream &os, const Node &node)

Detailed Description

The node component of a geometry graph

Member Function Documentation

◆ computeIM()

virtual void geos::geomgraph::Node::computeIM ( geom::IntersectionMatrix & )
inlineprotectedvirtual

Basic nodes do not compute IMs.

Implements geos::geomgraph::GraphComponent.

Reimplemented in geos::operation::relate::RelateNode.

◆ computeMergedLocation()

virtual int geos::geomgraph::Node::computeMergedLocation ( const Label & label2,
int eltIndex )
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.

◆ isIncidentEdgeInResult()

virtual bool geos::geomgraph::Node::isIncidentEdgeInResult ( ) const
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.

Returns
true if any indicident edge in the in the result

◆ isIsolated()

virtual bool geos::geomgraph::Node::isIsolated ( ) const
virtual

◆ mergeLabel()

virtual void geos::geomgraph::Node::mergeLabel ( const Label & label2)
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.


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