brepjs API Reference
    Preparing search index...

    Interface EdgeFinderFn

    interface EdgeFinderFn {
        _filters: readonly Predicate<Edge>[];
        _topoKind: "vertex" | "edge" | "wire" | "face";
        atDistance: (distance: number, point?: Vec3) => EdgeFinderFn;
        either: (
            fns: ((f: ShapeFinder<Edge>) => ShapeFinder<Edge>)[],
        ) => ShapeFinder<Edge>;
        findAll: (shape: AnyShape) => Edge[];
        findUnique: (shape: AnyShape) => Result<Edge>;
        inDirection: (dir?: Vec3 | "X" | "Y" | "Z", angle?: number) => EdgeFinderFn;
        inList: (elements: Edge[]) => ShapeFinder<Edge>;
        not: (
            builderFn: (f: ShapeFinder<Edge>) => ShapeFinder<Edge>,
        ) => ShapeFinder<Edge>;
        ofCurveType: (curveType: CurveType) => EdgeFinderFn;
        ofLength: (length: number, tolerance?: number) => EdgeFinderFn;
        parallelTo: (dir?: Vec3 | "X" | "Y" | "Z") => EdgeFinderFn;
        shouldKeep: (element: Edge) => boolean;
        when: (predicate: Predicate<Edge>) => ShapeFinder<Edge>;
    }

    Hierarchy (View Summary)

    Index

    Properties

    _filters: readonly Predicate<Edge>[]
    _topoKind: "vertex" | "edge" | "wire" | "face"
    atDistance: (distance: number, point?: Vec3) => EdgeFinderFn
    either: (
        fns: ((f: ShapeFinder<Edge>) => ShapeFinder<Edge>)[],
    ) => ShapeFinder<Edge>

    Combine filters with OR. Returns new finder.

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

    Find all matching elements from a shape.

    findUnique: (shape: AnyShape) => Result<Edge>

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

    inDirection: (dir?: Vec3 | "X" | "Y" | "Z", angle?: number) => EdgeFinderFn
    inList: (elements: Edge[]) => ShapeFinder<Edge>

    Filter to elements in a list. Returns new finder.

    not: (
        builderFn: (f: ShapeFinder<Edge>) => ShapeFinder<Edge>,
    ) => ShapeFinder<Edge>

    Invert a filter. Returns new finder.

    ofCurveType: (curveType: CurveType) => EdgeFinderFn
    ofLength: (length: number, tolerance?: number) => EdgeFinderFn
    parallelTo: (dir?: Vec3 | "X" | "Y" | "Z") => EdgeFinderFn
    shouldKeep: (element: Edge) => boolean

    Check if an element passes all filters.

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

    Add a custom predicate filter. Returns new finder.