24#include <geos/export.h>
25#include <geos/geom/Coordinate.h>
26#include <geos/geomgraph/Label.h>
33class BoundaryNodeRule;
58 friend std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
74 const Label& newLabel);
104 virtual geom::Coordinate& getCoordinate() {
108 const geom::Coordinate&
109 getCoordinate()
const
114 virtual geom::Coordinate& getDirectedCoordinate();
116 virtual int getQuadrant();
118 virtual double getDx();
120 virtual double getDy();
122 virtual void setNode(Node* newNode);
124 virtual Node* getNode();
126 virtual int compareTo(
const EdgeEnd* e)
const;
148 virtual std::string print()
const;
175std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
177struct GEOS_DLL EdgeEndLT {
181 return s1->compareTo(s2) < 0;
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition: BoundaryNodeRule.h:50
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:54
EdgeEnd(Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1, const Label &newLabel)
virtual int compareDirection(const EdgeEnd *e) const
EdgeEnd(Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1)
Definition: geomgraph/Edge.h:63
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:57
The node component of a geometry graph.
Definition: geomgraph/Node.h:59
Basic namespace for all GEOS functionalities.
Definition: geos.h:39