geos::geomgraph::EdgeRing Class Reference

#include <EdgeRing.h>

Inheritance diagram for geos::geomgraph::EdgeRing:
geos::operation::overlay::MaximalEdgeRing geos::operation::overlay::MinimalEdgeRing

List of all members.

Public Member Functions

 EdgeRing (DirectedEdge *newStart, const geom::GeometryFactory *newGeometryFactory)
bool isIsolated ()
bool isHole ()
geom::LinearRinggetLinearRing ()
LabelgetLabel ()
bool isShell ()
EdgeRinggetShell ()
void setShell (EdgeRing *newShell)
void addHole (EdgeRing *edgeRing)
geom::PolygontoPolygon (const geom::GeometryFactory *geometryFactory)
void computeRing ()
virtual DirectedEdgegetNext (DirectedEdge *de)=0
virtual void setEdgeRing (DirectedEdge *de, EdgeRing *er)=0
std::vector< DirectedEdge * > & getEdges ()
int getMaxNodeDegree ()
void setInResult ()
bool containsPoint (const geom::Coordinate &p)
void testInvariant ()

Protected Member Functions

void computePoints (DirectedEdge *newStart)
 throw(const TopologyException &)
void mergeLabel (const Label &deLabel)
void mergeLabel (const Label &deLabel, int geomIndex)
 Merge the RHS label from a DirectedEdge into the label for this EdgeRing.
void addPoints (Edge *edge, bool isForward, bool isFirstEdge)

Protected Attributes

DirectedEdgestartDe
const geom::GeometryFactorygeometryFactory
std::vector< EdgeRing * > holes
 a list of EdgeRings which are holes in this EdgeRing

Friends

std::ostream & operator<< (std::ostream &os, const EdgeRing &er)

Detailed Description

EdgeRing


Member Function Documentation

void geos::geomgraph::EdgeRing::computeRing (  ) 

Compute a LinearRing from the point list previously collected. Test if the ring is a hole (i.e. if it is CCW) and set the hole flag accordingly.

bool geos::geomgraph::EdgeRing::containsPoint ( const geom::Coordinate p  ) 

This method will use the computed ring. It will also check any holes, if they have been assigned.

std::vector<DirectedEdge*>& geos::geomgraph::EdgeRing::getEdges (  ) 

Returns the list of DirectedEdges that make up this EdgeRing

void geos::geomgraph::EdgeRing::mergeLabel ( const Label deLabel,
int  geomIndex 
) [protected]

Merge the RHS label from a DirectedEdge into the label for this EdgeRing.

The DirectedEdge label may be null. This is acceptable - it results from a node which is NOT an intersection node between the Geometries (e.g. the end node of a LinearRing). In this case the DirectedEdge label does not contribute any information to the overall labelling, and is simply skipped.

geom::Polygon* geos::geomgraph::EdgeRing::toPolygon ( const geom::GeometryFactory geometryFactory  ) 

Return a Polygon copying coordinates from this EdgeRing and its holes. Caller must remember to delete the result


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

Generated on 20 Dec 2013 for GEOS by  doxygen 1.6.1