geos::operation::overlayng::OverlayEdge Class Reference

`#include <OverlayEdge.h>`

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

## 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
OverlayLabel * | getLabel () const
Location | getLocation (uint8_t index, int position) const
const CoordinateXYZM & | getCoordinate () const
const CoordinateSequence * | getCoordinatesRO () const
std::unique_ptr< CoordinateSequence > | getCoordinates ()
std::unique_ptr< CoordinateSequence > | getCoordinatesOriented ()
void | addCoordinates (CoordinateSequence *coords) const
OverlayEdge * | symOE () const
OverlayEdge * | oNextOE () 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)
OverlayEdge * | nextResult () const
bool | isResultLinked () const
void | setNextResultMax (OverlayEdge *e)
OverlayEdge * | nextResultMax () 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
HalfEdge * | sym () const
HalfEdge * | next () const
HalfEdge * | prev () const
HalfEdge * | oNext () const
void | setNext (HalfEdge *e)
HalfEdge * | find (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 ()
HalfEdge * | prevNode ()

## Friends

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

## Additional Inherited Members

Static Public Member Functions inherited from geos::edgegraph::HalfEdge
static HalfEdge * | create (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

  coords | the coordinate list to add to

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

## directionPt()

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

inline override virtual

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:

- OverlayEdge.h