GEOS 3.14.0dev
Public Member Functions | Static Public Member Functions | Friends | List of all members
geos::operation::relateng::NodeSection Class Reference

#include <NodeSection.h>

Public Member Functions

 NodeSection (bool isA, int dim, int id, int ringId, const Geometry *poly, bool isNodeAtVertex, const CoordinateXY *v0, const CoordinateXY nodePt, const CoordinateXY *v1)
 
 NodeSection (const NodeSection *ns)
 
const CoordinateXY * getVertex (int i) const
 
const CoordinateXY & nodePt () const
 
int dimension () const
 
int id () const
 
int ringId () const
 
const GeometrygetPolygonal () const
 
bool isShell () const
 
bool isArea () const
 
bool isA () const
 
bool isSameGeometry (const NodeSection &ns) const
 
bool isSamePolygon (const NodeSection &ns) const
 
bool isNodeAtVertex () const
 
bool isProper () const
 
std::string toString () const
 
int compareTo (const NodeSection &o) const
 

Static Public Member Functions

static bool isAreaArea (const NodeSection &a, const NodeSection &b)
 
static bool isProper (const NodeSection &a, const NodeSection &b)
 
static std::string edgeRep (const CoordinateXY *p0, const CoordinateXY *p1)
 

Friends

std::ostream & operator<< (std::ostream &os, const NodeSection &ns)
 

Detailed Description

Represents a computed node along with the incident edges on either side of it (if they exist). This captures the information about a node in a geometry component required to determine the component's contribution to the node topology. A node in an area geometry always has edges on both sides of the node. A node in a linear geometry may have one or other incident edge missing, if the node occurs at an endpoint of the line. The edges of an area node are assumed to be provided with CW-shell orientation (as per JTS norm). This must be enforced by the caller.

Author
Martin Davis

Member Function Documentation

◆ compareTo()

int geos::operation::relateng::NodeSection::compareTo ( const NodeSection o) const

Compare node sections by parent geometry, dimension, element id and ring id, and edge vertices. Sections are assumed to be at the same node point.

◆ getPolygonal()

const Geometry * geos::operation::relateng::NodeSection::getPolygonal ( ) const

Gets the polygon this section is part of. Will be null if section is not on a polygon boundary.

Returns
the associated polygon, or null

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