GEOS 3.13.1
geos::operation::overlayng::OverlayEdge Class Reference

#include <OverlayEdge.h>

Inheritance diagram for geos::operation::overlayng::OverlayEdge:
geos::edgegraph::HalfEdge

Public Member Functions

 OverlayEdge (const CoordinateXYZM &p_orig, const CoordinateXYZM &p_dirPt, bool p_direction, OverlayLabel *p_label, const CoordinateSequence *p_pts)
bool isForward () const
const CoordinateXYZM & directionPt () const override
OverlayLabelgetLabel () const
Location getLocation (uint8_t index, int position) const
const CoordinateXYZM & getCoordinate () const
const CoordinateSequencegetCoordinatesRO () const
std::unique_ptr< CoordinateSequencegetCoordinates ()
std::unique_ptr< CoordinateSequencegetCoordinatesOriented ()
void addCoordinates (CoordinateSequence *coords) const
OverlayEdgesymOE () const
OverlayEdgeoNextOE () const
bool isInResultArea () const
bool isInResultAreaBoth () const
bool isInResultEither () const
void unmarkFromResultAreaBoth ()
void markInResultArea ()
void markInResultAreaBoth ()
bool isInResultLine () const
void markInResultLine ()
bool isInResult () const
void setNextResult (OverlayEdge *e)
OverlayEdgenextResult () const
bool isResultLinked () const
void setNextResultMax (OverlayEdge *e)
OverlayEdgenextResultMax () const
bool isResultMaxLinked () const
bool isVisited () const
void markVisitedBoth ()
void setEdgeRing (const OverlayEdgeRing *p_edgeRing)
const OverlayEdgeRing * getEdgeRing () const
const MaximalEdgeRing * getEdgeRingMax () const
void setEdgeRingMax (const MaximalEdgeRing *p_maximalEdgeRing)
std::string resultSymbol () const
Public Member Functions inherited from geos::edgegraph::HalfEdge
 HalfEdge (const geom::CoordinateXYZM &p_orig)
void link (HalfEdge *p_sym)
const geom::CoordinateXYZM & orig () const
const geom::CoordinateXYZM & dest () const
double directionX () const
double directionY () const
HalfEdgesym () const
HalfEdgenext () const
HalfEdgeprev () const
HalfEdgeoNext () const
void setNext (HalfEdge *e)
HalfEdgefind (const geom::CoordinateXY &dest)
bool equals (const geom::CoordinateXY &p0, const geom::CoordinateXY &p1) const
void insert (HalfEdge *eAdd)
bool isEdgesSorted () const
int compareAngularDirection (const HalfEdge *e) const
int compareTo (const HalfEdge *e) const
int degree ()
HalfEdgeprevNode ()

Friends

std::ostream & operator<< (std::ostream &os, const OverlayEdge &oe)

Additional Inherited Members

Static Public Member Functions inherited from geos::edgegraph::HalfEdge
static HalfEdgecreate (const geom::CoordinateXYZM &p0, const geom::CoordinateXYZM &p1)
static void toStringNode (const HalfEdge *he, std::ostream &os)

Detailed Description

Creates a single OverlayEdge.

Member Function Documentation

◆ addCoordinates()

void geos::operation::overlayng::OverlayEdge::addCoordinates ( CoordinateSequence * coords) const

Adds the coordinates of this edge to the given list, in the direction of the edge. Duplicate coordinates are removed (which means that this is safe to use for a path of connected edges in the topology graph).

Parameters
coordsthe coordinate list to add to

References geos::edgegraph::HalfEdge::sym().

◆ directionPt()

const CoordinateXYZM & geos::operation::overlayng::OverlayEdge::directionPt ( ) const
inlineoverridevirtual

Gets the direction point of this edge. In the base case this is the dest coordinate of the edge. Subclasses may override to allow a HalfEdge to represent an edge with more than two coordinates.

Returns
the direction point for the edge

Reimplemented from geos::edgegraph::HalfEdge.


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