136 psPath::PathPointArray::Iterator pointIterator;
140 pointIterator(edge->path->points.GetIterator())
146 return pointIterator.HasNext();
151 return pointIterator.Next();
160 psPath::PathPointArray::ReverseIterator pointIterator;
164 pointIterator(edge->path->points.GetReverseIterator())
170 return pointIterator.HasNext();
175 return pointIterator.Next();
psPath * GetPath()
Return the path.
bool NoWander() const
Check if wander is allowed.
virtual bool HasNext()
Check if there is more elements.
psPathPoint * GetStartPoint()
Return the first point in this edge.
virtual psPathPoint * Next()=0
Return next element.
virtual bool HasNext()
Check if there is more elements.
virtual ~Edge()
Destructor.
ForwardIterator(Edge *edge)
psPathPoint * GetEndPoint()
Return the end point in this edge.
Represents the Edge in a PathNetwork.
A waypoint is a specified circle on the map with a name, location, and a list of waypoints it is conn...
Implementation of Iterator for REVERSE direction.
psPath::Direction GetDirection()
Return the direction of path this edge is going.
bool IsTeleport() const
Check if this edge a teleport edge.
virtual ~Iterator()
Destructor.
Iterator * GetIterator()
Return the iterator for this edge.
Implementation of Iterator for FORWARD direction.
Iterator base class for Forward and Reverse Iterators.
Waypoint * GetStartWaypoint()
Return the first waypoint in the edge.
virtual psPathPoint * Next()
Return next element.
Waypoint * GetEndWaypoint()
Return the last waypoint in the edge.
Edge * GetRandomEdge(const psPathNetwork::RouteFilter *routeFilter)
Get a random edge from this.
Template class for implementing waypoint filtering when calculating routes.
virtual bool HasNext()=0
Check if there is more elements.
Edge(psPath *path, psPath::Direction direction)
Create a new Edge for a path in the given direction.
ReverseIterator(Edge *edge)
Represents a point on a path between two waypoints.
virtual psPathPoint * Next()
Return next element.