21#include <geos/export.h>
23#include <geos/operation/buffer/RightmostEdgeFinder.h>
30#pragma warning(disable: 4251)
64 std::vector<geomgraph::DirectedEdge*> dirEdgeList;
66 std::vector<geomgraph::Node*> nodes;
86 void add(
geomgraph::Node* node, std::vector<geomgraph::Node*>* nodeStack);
88 void clearVisitedEdges();
103 bool contains(std::set<geomgraph::Node*>& nodes,
geomgraph::Node* node);
107 friend std::ostream& operator<< (std::ostream& os,
const BufferSubgraph& bs);
113 std::vector<geomgraph::DirectedEdge*>* getDirectedEdges();
115 std::vector<geomgraph::Node*>* getNodes();
132 void computeDepth(
int outsideDepth);
172std::ostream& operator<< (std::ostream& os,
const BufferSubgraph& bs);
178 return rightMostCoord;
181inline std::vector<geomgraph::Node*>*
182BufferSubgraph::getNodes()
187inline std::vector<geomgraph::DirectedEdge*>*
188BufferSubgraph::getDirectedEdges()
193bool BufferSubgraphGT(BufferSubgraph* first, BufferSubgraph* second);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
A directed EdgeEnd.
Definition: geomgraph/DirectedEdge.h:42
The node component of a geometry graph.
Definition: geomgraph/Node.h:59
A connected subset of the graph of DirectedEdge and geomgraph::Node.
Definition: BufferSubgraph.h:60
geom::Envelope * getEnvelope()
Computes the envelope of the edges in the subgraph. The envelope is cached after being computed.
void findResultEdges()
Find all edges whose depths indicates that they are in the result area(s).
int compareTo(BufferSubgraph *)
BufferSubgraphs are compared on the x-value of their rightmost Coordinate.
void create(geomgraph::Node *node)
Creates the subgraph consisting of all edges reachable from this node.
geom::Coordinate * getRightmostCoordinate()
Gets the rightmost coordinate in the edges of the subgraph.
Definition: BufferSubgraph.h:176
A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate,...
Definition: RightmostEdgeFinder.h:46
Basic namespace for all GEOS functionalities.
Definition: geos.h:39