GEOS  3.6.2
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
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

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.

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

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.

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: