GEOS  3.9.1dev
Public Member Functions | Private Attributes | List of all members
geos::noding::BasicSegmentString Class Reference

Represents a list of contiguous line segments, and supports noding the segments. More...

#include <BasicSegmentString.h>

Inheritance diagram for geos::noding::BasicSegmentString:
[legend]
Collaboration diagram for geos::noding::BasicSegmentString:
[legend]

Public Member Functions

 BasicSegmentString (geom::CoordinateSequence *newPts, const void *newContext)
 Construct a BasicSegmentString. More...
 
 ~BasicSegmentString () override
 
size_t size () const override
 
const geom::CoordinategetCoordinate (size_t i) const override
 
geom::CoordinateSequencegetCoordinates () const override
 
bool isClosed () const override
 
std::ostream & print (std::ostream &os) const override
 
int getSegmentOctant (size_t index) const
 Gets the octant of the segment starting at vertex index. More...
 
- Public Member Functions inherited from geos::noding::SegmentString
 SegmentString (const void *newContext)
 Construct a SegmentString. More...
 
virtual ~SegmentString ()
 
const void * getData () const
 Gets the user-defined data for this segment string. More...
 
void setData (const void *data)
 Sets the user-defined data for this segment string. More...
 

Private Attributes

geom::CoordinateSequencepts
 

Additional Inherited Members

- Public Types inherited from geos::noding::SegmentString
typedef std::vector< const SegmentString * > ConstVect
 
typedef std::vector< SegmentString * > NonConstVect
 

Detailed Description

Represents a list of contiguous line segments, and supports noding the segments.

The line segments are represented by an array of Coordinates. Intended to optimize the noding of contiguous segments by reducing the number of allocated objects. SegmentStrings can carry a context object, which is useful for preserving topological or parentage information. All noded substrings are initialized with the same context object.

Definition at line 44 of file BasicSegmentString.h.

Constructor & Destructor Documentation

geos::noding::BasicSegmentString::BasicSegmentString ( geom::CoordinateSequence newPts,
const void *  newContext 
)
inline

Construct a BasicSegmentString.

Parameters
newPtsCoordinateSequence representing the string, externally owned
newContextthe context associated to this SegmentString

Definition at line 53 of file BasicSegmentString.h.

geos::noding::BasicSegmentString::~BasicSegmentString ( )
inlineoverride

Definition at line 60 of file BasicSegmentString.h.

Member Function Documentation

const geom::Coordinate& geos::noding::BasicSegmentString::getCoordinate ( size_t  i) const
overridevirtual
geom::CoordinateSequence* geos::noding::BasicSegmentString::getCoordinates ( ) const
overridevirtual
int geos::noding::BasicSegmentString::getSegmentOctant ( size_t  index) const

Gets the octant of the segment starting at vertex index.

Parameters
indexthe index of the vertex starting the segment. Must not be the last index in the vertex list
Returns
the octant of the segment at the vertex
bool geos::noding::BasicSegmentString::isClosed ( ) const
overridevirtual
std::ostream& geos::noding::BasicSegmentString::print ( std::ostream &  os) const
overridevirtual

Reimplemented from geos::noding::SegmentString.

size_t geos::noding::BasicSegmentString::size ( ) const
inlineoverridevirtual

Implements geos::noding::SegmentString.

Definition at line 65 of file BasicSegmentString.h.

Member Data Documentation

geom::CoordinateSequence* geos::noding::BasicSegmentString::pts
private

Definition at line 93 of file BasicSegmentString.h.


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