brepjs API Reference
    Preparing search index...

    Interface ShapeFinder<T>

    interface ShapeFinder<T extends AnyShape> {
        _filters: readonly Predicate<T>[];
        _topoKind: "vertex" | "edge" | "wire" | "face";
        either: (fns: ((f: ShapeFinder<T>) => ShapeFinder<T>)[]) => ShapeFinder<T>;
        findAll: (shape: AnyShape) => T[];
        findUnique: (shape: AnyShape) => Result<T>;
        inList: (elements: T[]) => ShapeFinder<T>;
        not: (builderFn: (f: ShapeFinder<T>) => 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: "vertex" | "edge" | "wire" | "face"
    either: (fns: ((f: ShapeFinder<T>) => ShapeFinder<T>)[]) => ShapeFinder<T>

    Combine filters with OR. Returns new finder.

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

    Find all matching elements from a shape.

    findUnique: (shape: AnyShape) => 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.

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

    Invert a filter. Returns new finder.

    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.