GEOS  3.13.0dev
Public Member Functions | Friends | List of all members
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

◆ 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: