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>
56class GEOS_DLL EdgeEnd {
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; }
93 virtual geom::Coordinate& getCoordinate();
95 const geom::Coordinate& getCoordinate()
const {
return p0; }
97 virtual geom::Coordinate& getDirectedCoordinate();
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;
131 virtual std::string print()
const;
139 EdgeEnd(
Edge* newEdge);
158std::ostream& operator<< (std::ostream&,
const EdgeEnd&);
160struct GEOS_DLL EdgeEndLT {
162 return s1->compareTo(s2)<0;
Definition BoundaryNodeRule.h:50
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:57
Definition geomgraph/Node.h:62
Contains classes and interfaces implementing fundamental computational geometry algorithms.
Definition Angle.h:33
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25