GEOS  3.9.1dev
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
geos::geomgraph::EdgeEndStar Class Referenceabstract

A EdgeEndStar is an ordered list of EdgeEnds around a node. More...

#include <EdgeEndStar.h>

Inheritance diagram for geos::geomgraph::EdgeEndStar:
[legend]

Public Types

typedef std::set< EdgeEnd *, EdgeEndLTcontainer
 
typedef container::iterator iterator
 
typedef container::const_iterator const_iterator
 
typedef container::reverse_iterator reverse_iterator
 

Public Member Functions

 EdgeEndStar ()
 
virtual ~EdgeEndStar ()
 
virtual void insert (EdgeEnd *e)=0
 Insert a EdgeEnd into this EdgeEndStar. More...
 
virtual geom::CoordinategetCoordinate ()
 
const geom::CoordinategetCoordinate () const
 
virtual std::size_t getDegree ()
 
virtual iterator begin ()
 
virtual iterator end ()
 
virtual reverse_iterator rbegin ()
 
virtual reverse_iterator rend ()
 
virtual const_iterator begin () const
 
virtual const_iterator end () const
 
virtual containergetEdges ()
 
virtual EdgeEndgetNextCW (EdgeEnd *ee)
 
virtual void computeLabelling (std::vector< GeometryGraph * > *geomGraph)
 
virtual bool isAreaLabelsConsistent (const GeometryGraph &geomGraph)
 
virtual void propagateSideLabels (uint32_t geomIndex)
 
virtual iterator find (EdgeEnd *eSearch)
 
virtual std::string print () const
 

Protected Member Functions

virtual void insertEdgeEnd (EdgeEnd *e)
 Insert an EdgeEnd into the map. More...
 

Protected Attributes

EdgeEndStar::container edgeMap
 A map which maintains the edges in sorted order around the node. More...
 

Private Member Functions

virtual geom::Location getLocation (uint32_t geomIndex, const geom::Coordinate &p, std::vector< GeometryGraph * > *geom)
 
virtual void computeEdgeEndLabels (const algorithm::BoundaryNodeRule &)
 
virtual bool checkAreaLabelsConsistent (uint32_t geomIndex)
 

Private Attributes

std::array< geom::Location, 2 > ptInAreaLocation
 The location of the point for this star in Geometry i Areas. More...
 

Detailed Description

A EdgeEndStar is an ordered list of EdgeEnds around a node.

They are maintained in CCW order (starting with the positive x-axis) around the node for efficient lookup and topology building.

Version
1.4

Definition at line 65 of file EdgeEndStar.h.

Member Typedef Documentation

typedef container::const_iterator geos::geomgraph::EdgeEndStar::const_iterator

Definition at line 71 of file EdgeEndStar.h.

Definition at line 68 of file EdgeEndStar.h.

typedef container::iterator geos::geomgraph::EdgeEndStar::iterator

Definition at line 70 of file EdgeEndStar.h.

typedef container::reverse_iterator geos::geomgraph::EdgeEndStar::reverse_iterator

Definition at line 72 of file EdgeEndStar.h.

Constructor & Destructor Documentation

geos::geomgraph::EdgeEndStar::EdgeEndStar ( )
virtual geos::geomgraph::EdgeEndStar::~EdgeEndStar ( )
inlinevirtual

Definition at line 77 of file EdgeEndStar.h.

Member Function Documentation

EdgeEndStar::iterator geos::geomgraph::EdgeEndStar::begin ( )
inlinevirtual

Definition at line 176 of file EdgeEndStar.h.

virtual const_iterator geos::geomgraph::EdgeEndStar::begin ( ) const
inlinevirtual

Definition at line 106 of file EdgeEndStar.h.

virtual bool geos::geomgraph::EdgeEndStar::checkAreaLabelsConsistent ( uint32_t  geomIndex)
privatevirtual
virtual void geos::geomgraph::EdgeEndStar::computeEdgeEndLabels ( const algorithm::BoundaryNodeRule )
privatevirtual
virtual void geos::geomgraph::EdgeEndStar::computeLabelling ( std::vector< GeometryGraph * > *  geomGraph)
virtual
EdgeEndStar::iterator geos::geomgraph::EdgeEndStar::end ( )
inlinevirtual

Definition at line 194 of file EdgeEndStar.h.

virtual const_iterator geos::geomgraph::EdgeEndStar::end ( ) const
inlinevirtual

Definition at line 112 of file EdgeEndStar.h.

EdgeEndStar::iterator geos::geomgraph::EdgeEndStar::find ( EdgeEnd eSearch)
inlinevirtual

Definition at line 206 of file EdgeEndStar.h.

References geos::algorithm::operator<<().

Here is the call graph for this function:

virtual geom::Coordinate& geos::geomgraph::EdgeEndStar::getCoordinate ( )
virtual
Returns
the coordinate for the node this star is based at or NULL if this is still an unbound star. Be aware that the returned pointer will point to a Coordinate owned by the specific EdgeEnd happening to be the first in the star (ordered CCW)
const geom::Coordinate& geos::geomgraph::EdgeEndStar::getCoordinate ( ) const
std::size_t geos::geomgraph::EdgeEndStar::getDegree ( )
inlinevirtual

Definition at line 170 of file EdgeEndStar.h.

EdgeEndStar::container & geos::geomgraph::EdgeEndStar::getEdges ( )
inlinevirtual

Definition at line 182 of file EdgeEndStar.h.

virtual geom::Location geos::geomgraph::EdgeEndStar::getLocation ( uint32_t  geomIndex,
const geom::Coordinate p,
std::vector< GeometryGraph * > *  geom 
)
privatevirtual
virtual EdgeEnd* geos::geomgraph::EdgeEndStar::getNextCW ( EdgeEnd ee)
virtual
virtual void geos::geomgraph::EdgeEndStar::insert ( EdgeEnd e)
pure virtual
virtual void geos::geomgraph::EdgeEndStar::insertEdgeEnd ( EdgeEnd e)
inlineprotectedvirtual

Insert an EdgeEnd into the map.

Definition at line 146 of file EdgeEndStar.h.

virtual bool geos::geomgraph::EdgeEndStar::isAreaLabelsConsistent ( const GeometryGraph geomGraph)
virtual
virtual std::string geos::geomgraph::EdgeEndStar::print ( ) const
virtual
virtual void geos::geomgraph::EdgeEndStar::propagateSideLabels ( uint32_t  geomIndex)
virtual
EdgeEndStar::reverse_iterator geos::geomgraph::EdgeEndStar::rbegin ( )
inlinevirtual

Definition at line 200 of file EdgeEndStar.h.

EdgeEndStar::reverse_iterator geos::geomgraph::EdgeEndStar::rend ( )
inlinevirtual

Definition at line 188 of file EdgeEndStar.h.

Member Data Documentation

EdgeEndStar::container geos::geomgraph::EdgeEndStar::edgeMap
protected

A map which maintains the edges in sorted order around the node.

Definition at line 140 of file EdgeEndStar.h.

std::array<geom::Location, 2> geos::geomgraph::EdgeEndStar::ptInAreaLocation
private

The location of the point for this star in Geometry i Areas.

Definition at line 161 of file EdgeEndStar.h.


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