19 #ifndef GEOS_OP_BUFFER_BUFFERSUBGRAPH_H
20 #define GEOS_OP_BUFFER_BUFFERSUBGRAPH_H
22 #include <geos/export.h>
24 #include <geos/operation/buffer/RightmostEdgeFinder.h>
31 #pragma warning(disable: 4251)
65 std::vector<geomgraph::DirectedEdge*> dirEdgeList;
67 std::vector<geomgraph::Node*> nodes;
87 void add(
geomgraph::Node* node, std::vector<geomgraph::Node*>* nodeStack);
89 void clearVisitedEdges();
104 bool contains(std::set<geomgraph::Node*>& nodes,
geomgraph::Node* node);
108 friend std::ostream& operator<< (std::ostream& os,
const BufferSubgraph& bs);
114 std::vector<geomgraph::DirectedEdge*>* getDirectedEdges();
116 std::vector<geomgraph::Node*>* getNodes();
133 void computeDepth(
int outsideDepth);
173 std::ostream& operator<< (std::ostream& os,
const BufferSubgraph& bs);
179 return rightMostCoord;
182 inline std::vector<geomgraph::Node*>*
183 BufferSubgraph::getNodes()
188 inline std::vector<geomgraph::DirectedEdge*>*
189 BufferSubgraph::getDirectedEdges()
194 bool BufferSubgraphGT(BufferSubgraph* first, BufferSubgraph* second);
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition: Envelope.h:58
A directed EdgeEnd.
Definition: geomgraph/DirectedEdge.h:45
The node component of a geometry graph.
Definition: geomgraph/Node.h:62
A connected subset of the graph of DirectedEdge and geomgraph::Node.
Definition: BufferSubgraph.h:61
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::Envelope * getEnvelope()
Computes the envelope of the edges in the subgraph. The envelope is cached after being computed.
geom::Coordinate * getRightmostCoordinate()
Gets the rightmost coordinate in the edges of the subgraph.
Definition: BufferSubgraph.h:177
A RightmostEdgeFinder find the geomgraph::DirectedEdge in a list which has the highest coordinate,...
Definition: RightmostEdgeFinder.h:47
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26