#include <NodedSegmentString.h>

Public Member Functions | |
| NodedSegmentString (geom::CoordinateSequence *newPts, const void *newContext) | |
| SegmentNode * | addIntersectionNode (geom::Coordinate *intPt, size_t segmentIndex) |
| SegmentNodeList & | getNodeList () |
| const SegmentNodeList & | getNodeList () const |
| virtual unsigned int | size () const |
| virtual const geom::Coordinate & | getCoordinate (unsigned int i) const |
| virtual geom::CoordinateSequence * | getCoordinates () const |
| Return a pointer to the CoordinateSequence associated with this SegmentString. | |
| virtual bool | isClosed () const |
| virtual std::ostream & | print (std::ostream &os) const |
| int | getSegmentOctant (unsigned int index) const |
| Gets the octant of the segment starting at vertex index. | |
| void | addIntersections (algorithm::LineIntersector *li, unsigned int segmentIndex, int 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, unsigned int segmentIndex, int geomIndex, int intIndex) |
| Add an SegmentNode for intersection intIndex. | |
| void | addIntersection (const geom::Coordinate &intPt, unsigned int segmentIndex) |
| Add an SegmentNode for intersection intIndex. | |
Static Public Member Functions | |
| static void | getNodedSubstrings (SegmentString::ConstVect *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. | |
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.
| geos::noding::NodedSegmentString::NodedSegmentString | ( | geom::CoordinateSequence * | newPts, | |
| const void * | newContext | |||
| ) | [inline] |
Creates a new segment string from a list of vertices.
| newPts | CoordinateSequence representing the string, externally owned | |
| data | the user-defined data of this segment string (may be null) |
| SegmentNode* geos::noding::NodedSegmentString::addIntersectionNode | ( | geom::Coordinate * | intPt, | |
| size_t | segmentIndex | |||
| ) | [inline] |
Adds an intersection node for a given point and segment to this segment string. If an intersection already exists for this exact location, the existing node will be returned.
| intPt | the location of the intersection | |
| segmentIndex | the index of the segment containing the intersection |
| virtual geom::CoordinateSequence* geos::noding::NodedSegmentString::getCoordinates | ( | ) | const [virtual] |
Return a pointer to the CoordinateSequence associated with this SegmentString.
Note that the CoordinateSequence is not owned by this SegmentString!
Implements geos::noding::SegmentString.
| int geos::noding::NodedSegmentString::getSegmentOctant | ( | unsigned int | index | ) | const |
| void geos::noding::NodedSegmentString::addIntersection | ( | algorithm::LineIntersector * | li, | |
| unsigned int | segmentIndex, | |||
| int | geomIndex, | |||
| int | intIndex | |||
| ) |
Add an SegmentNode for intersection intIndex.
An intersection that falls exactly on a vertex of the SegmentString is normalized to use the higher of the two possible segmentIndexes
| void geos::noding::NodedSegmentString::addIntersection | ( | const geom::Coordinate & | intPt, | |
| unsigned int | segmentIndex | |||
| ) |
Add an SegmentNode for intersection intIndex.
An intersection that falls exactly on a vertex of the edge is normalized to use the higher of the two possible segmentIndexes
1.5.4