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; }
99 virtual int getQuadrant();
101 virtual double getDx();
103 virtual double getDy();
105 virtual void setNode(
Node* newNode);
107 virtual Node* getNode();
109 virtual int compareTo(
const EdgeEnd *e)
const;
127 virtual int compareDirection(
const EdgeEnd *e)
const;
131 virtual std::string print()
const;
158 std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
160 struct GEOS_DLL EdgeEndLT {
162 return s1->compareTo(s2)<0;
173 #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
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
Definition: geomgraph/Node.h:62
Definition: geomgraph/Edge.h:66