22 #ifndef GEOS_GEOMGRAPH_EDGEEND_H
23 #define GEOS_GEOMGRAPH_EDGEEND_H
25 #include <geos/export.h>
26 #include <geos/geom/Coordinate.h>
27 #include <geos/geomgraph/Label.h>
28 #include <geos/inline.h>
35 class BoundaryNodeRule;
60 friend std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
76 const Label& newLabel);
106 virtual geom::Coordinate& getCoordinate() {
110 const geom::Coordinate&
111 getCoordinate()
const
116 virtual geom::Coordinate& getDirectedCoordinate();
118 virtual int getQuadrant();
120 virtual double getDx();
122 virtual double getDy();
124 virtual void setNode(Node* newNode);
126 virtual Node* getNode();
128 virtual int compareTo(
const EdgeEnd* e)
const;
150 virtual std::string print()
const;
177 std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
179 struct GEOS_DLL EdgeEndLT {
183 return s1->compareTo(s2) < 0;
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition: BoundaryNodeRule.h:51
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:56
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:66
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:59
The node component of a geometry graph.
Definition: geomgraph/Node.h:62
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26