18#include <geos/export.h>
19#include <geos/planargraph/GraphComponent.h>
20#include <geos/geom/Coordinate.h>
27namespace planargraph {
34namespace planargraph {
49 friend std::ostream& operator << (std::ostream&,
const DirectedEdge&);
51 typedef std::list<DirectedEdge*> NonConstList;
52 typedef std::list<const DirectedEdge*> ConstList;
53 typedef std::vector<DirectedEdge*> NonConstVect;
66 typedef std::vector<const DirectedEdge*> ConstVect;
67 typedef std::vector<DirectedEdge*> Vect;
79 std::vector<DirectedEdge*>& dirEdges);
89 static void toEdges(std::vector<DirectedEdge*>& dirEdges,
90 std::vector<Edge*>& parentEdges);
108 bool newEdgeDirection);
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Represents a directed edge in a PlanarGraph.
Definition planargraph/DirectedEdge.h:45
Node * getToNode() const
Returns the node to which this DirectedEdge goes.
Node * getFromNode() const
Returns the node from which this DirectedEdge leaves.
int compareTo(const DirectedEdge *obj) const
Returns 1 if this DirectedEdge has a greater angle with the positive x-axis than b",...
DirectedEdge(Node *newFrom, Node *newTo, const geom::Coordinate &directionPt, bool newEdgeDirection)
Constructs a DirectedEdge connecting the from node to the to node.
const geom::Coordinate & getDirectionPt() const
Returns a point to which an imaginary line is drawn from the from-node to specify this DirectedEdge's...
Edge * getEdge() const
Returns this DirectedEdge's parent Edge, or null if it has none.
int getQuadrant() const
Returns 0, 1, 2, or 3, indicating the quadrant in which this DirectedEdge's orientation lies.
void setEdge(Edge *newParentEdge)
Associates this DirectedEdge with an Edge (possibly null, indicating no associated Edge).
static std::vector< Edge * > * toEdges(std::vector< DirectedEdge * > &dirEdges)
Returns a List containing the parent Edge (possibly null) for each of the given DirectedEdges.
DirectedEdge * getSym() const
Returns the symmetric DirectedEdge – the other DirectedEdge associated with this DirectedEdge's paren...
double getAngle() const
Returns the angle that the start of this DirectedEdge makes with the positive x-axis,...
void setSym(DirectedEdge *newSym)
Sets this DirectedEdge's symmetric DirectedEdge, which runs in the opposite direction.
bool getEdgeDirection() const
Returns whether the direction of the parent Edge (if any) is the same as that of this Directed Edge.
geom::Coordinate & getCoordinate() const
Returns the coordinate of the from-node.
static void toEdges(std::vector< DirectedEdge * > &dirEdges, std::vector< Edge * > &parentEdges)
Add parent Edge (possibly null) of each of the given DirectedEdges to the given parentEdges vector.
std::string print() const
Prints a detailed string representation of this DirectedEdge to the given PrintStream.
int compareDirection(const DirectedEdge *e) const
Returns 1 if this DirectedEdge has a greater angle with the positive x-axis than b",...
Represents an undirected edge of a PlanarGraph.
Definition planargraph/Edge.h:54
The base class for all graph component classes.
Definition planargraph/GraphComponent.h:45
A node in a PlanarGraph is a location where 0 or more Edge meet.
Definition planargraph/Node.h:44
bool pdeLessThan(DirectedEdge *first, DirectedEdge *second)
Strict Weak comparator function for containers.
std::ostream & operator<<(std::ostream &, const DirectedEdge &)
Output operator.
Basic namespace for all GEOS functionalities.
Definition geos.h:39