findObjectsAt<T extends GraphObject, S extends Iterable<T>> method

S findObjectsAt<T extends GraphObject, S extends Iterable<T>>(
  1. Point p, [
  2. T? navig(
    1. GraphObject
    )?,
  3. bool pred(
    1. T
    )?,
  4. S? coll,
])

Return a collection of the GraphObjects at the given point in document coordinates.

If Layer#visible is false, this method will not find any objects in that layer. However, Layer#opacity does not affect this method.

Example usage:

// Returns the Nodes that are at a given point, overlapping each other
myDiagram.findObjectsAt(somePoint,
  // Navigation function -- only return Nodes
  x => { const p = x.part; return (p instanceof go.Node) ? p : null; }
);

@param {Point} p A Point in document coordinates. @param {function(GraphObject):GraphObject | null=} navig A function taking a GraphObject and returning a GraphObject, defaulting to the identity. If this function returns null, the given GraphObject will not be included in the results. @param {function(GraphObject):boolean | null=} pred A function taking the GraphObject returned by navig and returning true if that object should be returned, defaulting to a predicate that always returns true. @param {List.

Implementation

S findObjectsAt<T extends _i3.GraphObject, S extends _i3.Iterable<T>>(
  _i3.Point p, [
  T? Function(_i3.GraphObject)? navig,
  _i2.bool Function(T)? pred,
  S? coll,
]) =>
    _i4.callMethod(
      this,
      'findObjectsAt',
      [
        p,
        navig == null
            ? _i5.undefined
            : _i4.allowInterop((p0) => () => navig(p0) ?? _i5.undefined),
        pred == null ? _i5.undefined : _i4.allowInterop(pred),
        coll ?? _i5.undefined,
      ],
    );