calculateXD method

SegmentList calculateXD(
  1. SegmentList segments1,
  2. bool inverted1,
  3. SegmentList segments2,
  4. bool inverted2,
)

Implementation

SegmentList calculateXD(SegmentList segments1, bool inverted1,
    SegmentList segments2, bool inverted2) {
  if (selfIntersection) {
    throw new Exception(
        "This function is only intended to be called when selfIntersection = false");
  }

  // segmentsX come from the self-intersection API, or this API
  // invertedX is whether we treat that list of segments as an inverted polygon or not
  // returns segments that can be used for further operations
  for (int i = 0; i < segments1.length; i++) {
    eventAddSegment(segments1[i], true);
  }
  for (int i = 0; i < segments2.length; i++) {
    eventAddSegment(segments2[i], false);
  }

  return calculate_INTERNAL(inverted1, inverted2);
}