add method

SegmentNode add(
  1. Coordinate intPt,
  2. int segmentIndex
)

Adds an intersection into the list, if it isn't already there. The input segmentIndex and dist are expected to be normalized.

@return the SegmentIntersection found or added

Implementation

SegmentNode add(Coordinate intPt, int segmentIndex) {
  SegmentNode eiNew = new SegmentNode(
      edge, intPt, segmentIndex, edge.getSegmentOctant(segmentIndex));
  SegmentNode? ei = nodeMap[eiNew];
  if (ei != null) {
    // debugging sanity check
    Assert.isTrue(ei.coord.equals2D(intPt),
        "Found equal nodes with different coordinates");
//      if (! ei.coord.equals2D(intPt))
//        Debug.println("Found equal nodes with different coordinates");

    return ei;
  }
  // node does not exist, so create it
  nodeMap[eiNew] = eiNew;
  return eiNew;
}