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&);
75 const Label& newLabel);
86 Edge* getEdge() {
return edge; }
89 Label& getLabel() {
return label; }
91 const Label& getLabel()
const {
return label; }
97 virtual int getQuadrant();
99 virtual double getDx();
101 virtual double getDy();
103 virtual void setNode(
Node* newNode);
105 virtual Node* getNode();
107 virtual int compareTo(
const EdgeEnd *e)
const;
125 virtual int compareDirection(
const EdgeEnd *e)
const;
129 virtual std::string print();
156 std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
158 struct GEOS_DLL EdgeEndLT {
160 return s1->compareTo(s2)<0;
171 #endif // ifndef GEOS_GEOMGRAPH_EDGEEND_H
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
Definition: BoundaryNodeRule.h:50
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:57
Definition: geomgraph/Node.h:62
Definition: geomgraph/Edge.h:66