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);
173std::ostream& operator<< (std::ostream& os,
const BufferSubgraph& bs);
179 return rightMostCoord;
182inline std::vector<geomgraph::Node*>*
183BufferSubgraph::getNodes()
188inline std::vector<geomgraph::DirectedEdge*>*
189BufferSubgraph::getDirectedEdges()
194bool 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
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: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