Class NodedSegmentString

Hierarchy: Object , NodedSegmentString
All Implemented Interfaces: SegmentString, NodableSegmentString
public class NodedSegmentString
implements NodableSegmentString
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.

Other

  • version: 1.7
public NodedSegmentString(Coordinate[] pts, Object data)
Creates a new segment string from a list of vertices.
Parameters:
pts - pts the vertices of the segment string
data - data the user-defined data of this segment string (may be null)
public static List getNodedSubstrings(Collection segStrings)
Gets the SegmentStrings which result from splitting this string at node points.
Parameters:
segStrings - segStrings a Collection of NodedSegmentStrings
Returns:
a Collection of NodedSegmentStrings representing the substrings
public static void getNodedSubstrings(Collection segStrings, Collection resultEdgelist)
Adds the noded SegmentStrings which result from splitting this string at node points.
Parameters:
segStrings - segStrings a Collection of NodedSegmentStrings
resultEdgelist - resultEdgelist a List which will collect the NodedSegmentStrings representing the substrings
public Object getData()
Gets the user-defined data for this segment string.
Returns:
the user-defined data
public void setData(Object data)
Sets the user-defined data for this segment string.
Parameters:
data - data an Object containing user-defined data
public SegmentNodeList getNodeList()
public int size()
public Coordinate getCoordinate(int i)
public Coordinate[] getCoordinates()
public boolean isClosed()
public int getSegmentOctant(int index)
Gets the octant of the segment starting at vertex index.
Parameters:
index - index the 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
public void addIntersections(LineIntersector li, int segmentIndex, int geomIndex)
Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
public void addIntersection(LineIntersector li, 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
public void addIntersection(Coordinate intPt, int segmentIndex)
Adds an intersection node for a given point and segment to this segment string.
Parameters:
intPt - intPt the location of the intersection
segmentIndex - segmentIndex the index of the segment containing the intersection
public SegmentNode addIntersectionNode(Coordinate intPt, int segmentIndex)
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.
Parameters:
intPt - intPt the location of the intersection
segmentIndex - segmentIndex the index of the segment containing the intersection
Returns:
the intersection node for the point
public String toString()