18 #include <geos/export.h>
19 #include <geos/planargraph/GraphComponent.h>
20 #include <geos/geom/Coordinate.h>
27 namespace planargraph {
34 namespace planargraph {
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 * getFromNode() const
Returns the node from which this DirectedEdge leaves.
static std::vector< Edge * > * toEdges(std::vector< DirectedEdge * > &dirEdges)
Returns a List containing the parent Edge (possibly null) for each of the given DirectedEdges.
geom::Coordinate & getCoordinate() const
Returns the coordinate of the from-node.
Edge * getEdge() const
Returns this DirectedEdge's parent Edge, or null if it has none.
int compareTo(const DirectedEdge *obj) const
Returns 1 if this DirectedEdge has a greater angle with the positive x-axis than b",...
DirectedEdge * getSym() const
Returns the symmetric DirectedEdge – the other DirectedEdge associated with this DirectedEdge's paren...
DirectedEdge(Node *newFrom, Node *newTo, const geom::Coordinate &directionPt, bool newEdgeDirection)
Constructs a DirectedEdge connecting the from node to the to node.
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).
const geom::Coordinate & getDirectionPt() const
Returns a point to which an imaginary line is drawn from the from-node to specify this DirectedEdge's...
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.
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",...
Node * getToNode() const
Returns the node to which this DirectedEdge goes.
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
std::ostream & operator<<(std::ostream &, const DirectedEdge &)
Output operator.
bool pdeLessThan(DirectedEdge *first, DirectedEdge *second)
Strict Weak comparator function for containers.
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25