@pmndrs/bvh
    Preparing search index...

    Interface BvhQueryTriangle

    What a shapecast hands to intersectsTriangle: an extended triangle with three-mesh-bvh's queries. ExtendedTriangle is one, and so is the three-flavoured ExtendedTriangle of @pmndrs/bvh/three.

    interface BvhQueryTriangle {
        a: BvhVector3Like;
        b: BvhVector3Like;
        c: BvhVector3Like;
        degenerateSegment: BvhSegmentLike;
        isDegenerateIntoPoint: boolean;
        isDegenerateIntoSegment: boolean;
        isExtendedTriangle: true;
        needsUpdate: boolean;
        plane: BvhPlaneLike;
        points: readonly BvhVector3Like[];
        satAxes: readonly BvhVector3Like[];
        satBounds: readonly SeparatingAxisBounds[];
        closestPointToSegment(
            segment: BvhSegmentLike,
            target1?: BvhVector3Like | null,
            target2?: BvhVector3Like | null,
        ): number;
        distanceToPoint(point: BvhVector3Like): number;
        distanceToTriangle(
            other: BvhTriangleLike,
            target1?: BvhVector3Like | null,
            target2?: BvhVector3Like | null,
        ): number;
        intersectsSphere(sphere: BvhSphereLike): boolean;
        intersectsTriangle(
            other: BvhTriangleLike,
            target?: BvhSegmentLike | null,
            suppressLog?: boolean,
        ): boolean;
        update(): void;
    }

    Hierarchy (View Summary)

    Implemented by

    Index
    degenerateSegment: BvhSegmentLike
    isDegenerateIntoPoint: boolean
    isDegenerateIntoSegment: boolean
    isExtendedTriangle: true
    needsUpdate: boolean

    Set after moving a, b or c; the queries then call updateExtendedTriangle first.

    points: readonly BvhVector3Like[]

    [a, b, c].

    satAxes: readonly BvhVector3Like[]

    The face normal, then the edges a - b, b - c, c - a.

    satBounds: readonly SeparatingAxisBounds[]

    The corners' interval along each of satAxes.