GEOS 3.14.0dev
|
#include <OverlayEdge.h>
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) |
Creates a single OverlayEdge.
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).
coords | the coordinate list to add to |
|
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.
Reimplemented from geos::edgegraph::HalfEdge.