Represents a list of contiguous line segments, and supports noding the segments.
More...
|
std::unique_ptr< geom::CoordinateSequence > | getNodedCoordinates () |
|
bool | hasNodes () const |
|
| NodedSegmentString (geom::CoordinateSequence *newPts, bool constructZ, bool constructM, const void *newContext) |
| Creates a new segment string from a list of vertices.
|
|
| NodedSegmentString (SegmentString *ss, bool constructZ, bool constructM) |
|
SegmentNodeList & | getNodeList () |
|
const SegmentNodeList & | getNodeList () const |
|
std::unique_ptr< geom::CoordinateSequence > | releaseCoordinates () |
|
std::ostream & | print (std::ostream &os) const override |
|
void | addIntersections (algorithm::LineIntersector *li, std::size_t segmentIndex, std::size_t geomIndex) |
| Add SegmentNode s for one or both intersections found for a segment of an edge to the edge intersection list.
|
|
void | addIntersection (algorithm::LineIntersector *li, std::size_t segmentIndex, std::size_t geomIndex, std::size_t intIndex) |
| Add an SegmentNode for intersection intIndex.
|
|
template<typename CoordType > |
void | addIntersection (const CoordType &intPt, std::size_t segmentIndex) |
| Add an SegmentNode for intersection intIndex.
|
|
| NodableSegmentString (const void *newContext, geom::CoordinateSequence *newSeq) |
|
| SegmentString (const void *newContext, geom::CoordinateSequence *newSeq) |
| Construct a SegmentString.
|
|
const void * | getData () const |
| Gets the user-defined data for this segment string.
|
|
void | setData (const void *data) |
| Sets the user-defined data for this segment string.
|
|
std::size_t | size () const |
|
template<typename CoordType = geom::Coordinate> |
const CoordType & | getCoordinate (std::size_t i) const |
|
const geom::CoordinateSequence * | getCoordinates () const |
| Return a pointer to the CoordinateSequence associated with this SegmentString.
|
|
geom::CoordinateSequence * | getCoordinates () |
|
int | getSegmentOctant (std::size_t index) const |
| Gets the octant of the segment starting at vertex index.
|
|
const geom::CoordinateXY & | nextInRing (std::size_t index) const |
|
const geom::CoordinateXY & | prevInRing (std::size_t index) const |
|
bool | isClosed () const |
|
|
template<class II > |
static void | getNodedSubstrings (II from, II too_far, SegmentString::NonConstVect *resultEdgelist) |
|
template<class C > |
static void | getNodedSubstrings (C *segStrings, SegmentString::NonConstVect *resultEdgelist) |
|
static void | getNodedSubstrings (const SegmentString::NonConstVect &segStrings, SegmentString::NonConstVect *resultEdgeList) |
|
static SegmentString::NonConstVect * | getNodedSubstrings (const SegmentString::NonConstVect &segStrings) |
| Returns allocated object.
|
|
static int | getSegmentOctant (const SegmentString &ss, std::size_t index) |
|
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.