GEOS  3.9.1dev
Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::operation::buffer::SubgraphDepthLocater Class Reference

Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph. More...

#include <SubgraphDepthLocater.h>

Collaboration diagram for geos::operation::buffer::SubgraphDepthLocater:
[legend]

Public Member Functions

 SubgraphDepthLocater (std::vector< BufferSubgraph * > *newSubgraphs)
 
 ~SubgraphDepthLocater ()
 
int getDepth (const geom::Coordinate &p)
 

Private Member Functions

void findStabbedSegments (const geom::Coordinate &stabbingRayLeftPt, std::vector< DepthSegment * > &stabbedSegments)
 
void findStabbedSegments (const geom::Coordinate &stabbingRayLeftPt, std::vector< geomgraph::DirectedEdge * > *dirEdges, std::vector< DepthSegment * > &stabbedSegments)
 
void findStabbedSegments (const geom::Coordinate &stabbingRayLeftPt, geomgraph::DirectedEdge *dirEdge, std::vector< DepthSegment * > &stabbedSegments)
 

Private Attributes

std::vector< BufferSubgraph * > * subgraphs
 
geom::LineSegment seg
 

Detailed Description

Locates a subgraph inside a set of subgraphs, in order to determine the outside depth of the subgraph.

The input subgraphs are assumed to have had depths already calculated for their edges.

Definition at line 59 of file SubgraphDepthLocater.h.

Constructor & Destructor Documentation

geos::operation::buffer::SubgraphDepthLocater::SubgraphDepthLocater ( std::vector< BufferSubgraph * > *  newSubgraphs)
inline

Definition at line 63 of file SubgraphDepthLocater.h.

geos::operation::buffer::SubgraphDepthLocater::~SubgraphDepthLocater ( )
inline

Definition at line 68 of file SubgraphDepthLocater.h.

Member Function Documentation

void geos::operation::buffer::SubgraphDepthLocater::findStabbedSegments ( const geom::Coordinate stabbingRayLeftPt,
std::vector< DepthSegment * > &  stabbedSegments 
)
private

Finds all non-horizontal segments intersecting the stabbing line. The stabbing line is the ray to the right of stabbingRayLeftPt.

Parameters
stabbingRayLeftPtthe left-hand origin of the stabbing line
stabbedSegmentsa vector to which DepthSegments intersecting the stabbing line will be added.
void geos::operation::buffer::SubgraphDepthLocater::findStabbedSegments ( const geom::Coordinate stabbingRayLeftPt,
std::vector< geomgraph::DirectedEdge * > *  dirEdges,
std::vector< DepthSegment * > &  stabbedSegments 
)
private

Finds all non-horizontal segments intersecting the stabbing line in the list of dirEdges. The stabbing line is the ray to the right of stabbingRayLeftPt.

Parameters
stabbingRayLeftPtthe left-hand origin of the stabbing line
stabbedSegmentsthe current vector of DepthSegments intersecting the stabbing line will be added.
void geos::operation::buffer::SubgraphDepthLocater::findStabbedSegments ( const geom::Coordinate stabbingRayLeftPt,
geomgraph::DirectedEdge dirEdge,
std::vector< DepthSegment * > &  stabbedSegments 
)
private

Finds all non-horizontal segments intersecting the stabbing line in the input dirEdge. The stabbing line is the ray to the right of stabbingRayLeftPt.

Parameters
stabbingRayLeftPtthe left-hand origin of the stabbing line
stabbedSegmentsthe current list of DepthSegments intersecting the stabbing line
int geos::operation::buffer::SubgraphDepthLocater::getDepth ( const geom::Coordinate p)

Member Data Documentation

geom::LineSegment geos::operation::buffer::SubgraphDepthLocater::seg
private

Definition at line 76 of file SubgraphDepthLocater.h.

std::vector<BufferSubgraph*>* geos::operation::buffer::SubgraphDepthLocater::subgraphs
private

Definition at line 74 of file SubgraphDepthLocater.h.


The documentation for this class was generated from the following file: