brepjs API Reference
    Preparing search index...

    Interface ShapeFinder<T>

    interface ShapeFinder<T extends AnyShape<Dimension>> {
        _filters: readonly Predicate<T>[];
        _topoKind: TopoKind;
        and: (other: ShapeFinder<T>) => ShapeFinder<T>;
        either: (fns: ((f: ShapeFinder<T>) => ShapeFinder<T>)[]) => ShapeFinder<T>;
        findAll: (shape: AnyShape<Dimension>) => T[];
        findUnique: (shape: AnyShape<Dimension>) => Result<T>;
        inList: (elements: T[]) => ShapeFinder<T>;
        negate: () => ShapeFinder<T>;
        not: (builderFn: (f: ShapeFinder<T>) => ShapeFinder<T>) => ShapeFinder<T>;
        or: (other: ShapeFinder<T>) => ShapeFinder<T>;
        shouldKeep: (element: T) => boolean;
        when: (predicate: Predicate<T>) => ShapeFinder<T>;
    }

    Type Parameters

    Hierarchy (View Summary)

    Index

    Properties

    _filters: readonly Predicate<T>[]
    _topoKind: TopoKind
    and: (other: ShapeFinder<T>) => ShapeFinder<T>

    Intersect: element must match both this finder AND other.

    either: (fns: ((f: ShapeFinder<T>) => ShapeFinder<T>)[]) => ShapeFinder<T>

    Combine filters with OR. Returns new finder.

    findAll: (shape: AnyShape<Dimension>) => T[]

    Find all matching elements from a shape.

    findUnique: (shape: AnyShape<Dimension>) => Result<T>

    Find exactly one matching element. Returns error if 0 or more than 1 match.

    inList: (elements: T[]) => ShapeFinder<T>

    Filter to elements in a list. Returns new finder.

    negate: () => ShapeFinder<T>

    Negate: invert all filters on this finder.

    not: (builderFn: (f: ShapeFinder<T>) => ShapeFinder<T>) => ShapeFinder<T>

    Invert a filter. Returns new finder.

    or: (other: ShapeFinder<T>) => ShapeFinder<T>

    Union: element must match this finder OR other.

    shouldKeep: (element: T) => boolean

    Check if an element passes all filters.

    when: (predicate: Predicate<T>) => ShapeFinder<T>

    Add a custom predicate filter. Returns new finder.