insertBoundaryPoint method

void insertBoundaryPoint(
  1. int argIndex,
  2. Coordinate coord
)

Adds candidate boundary points using the current {@link BoundaryNodeRule}. This is used to add the boundary points of dim-1 geometries (Curves/MultiCurves).

Implementation

void insertBoundaryPoint(int argIndex, Coordinate coord) {
  Node n = nodes.addNodeFromCoordinate(coord);
  // nodes always have labels
  Label? lbl = n.getLabel();
  // the new point to insert is on a boundary
  int boundaryCount = 1;
  // determine the current location for the point (if any)
  int loc = Location.NONE;
  loc = lbl!.getLocationWithPosIndex(argIndex, Position.ON);
  if (loc == Location.BOUNDARY) boundaryCount++;

  // determine the boundary status of the point according to the Boundary Determination Rule
  int newLoc = determineBoundary(boundaryNodeRule, boundaryCount);
  lbl.setLocationWithIndex(argIndex, newLoc);
}