intersect method

  1. @override
List<Vector2> intersect(
  1. PathComponent path,
  2. PolygonComponent polygon, {
  3. Rect? overlappingRect,
})
override

Returns the intersection points of the edges of all the polygons of path and the edges of polygon.

Implementation

@override
List<Vector2> intersect(
  PathComponent path,
  PolygonComponent polygon, {
  Rect? overlappingRect,
}) {
  final intersectionPoints = _edgeIntersections(
    path.possibleIntersectionVertices(overlappingRect),
    polygon.possibleIntersectionVertices(overlappingRect),
  );
  if (intersectionPoints.isEmpty) {
    return _enclosedCenter(
      path,
      _vertexOf(path),
      polygon,
      polygon.globalVertices().first,
    );
  }
  return intersectionPoints;
}