@pmndrs/bvh
    Preparing search index...

    Interface BvhSceneRaycasterOptions

    interface BvhSceneRaycasterOptions {
        builder?: TinyBvhBuilder;
        filter?: (mesh: Mesh) => boolean;
        includeHidden?: boolean;
        layers?: boolean;
        material?: (mesh: Mesh, info: BvhThreeMaterialInfo) => number | undefined;
        multiMaterial?: "triangles" | "groups";
        static?: boolean | ((object: Mesh, instanceId: number) => boolean);
    }

    Hierarchy (View Summary)

    Index
    builder?: TinyBvhBuilder

    The tinybvh builder; default the one prepareBoundsTrees loaded.

    filter?: (mesh: Mesh) => boolean

    Which meshes to include. Default: every mesh.

    includeHidden?: boolean

    Hit hidden objects too, as three's Raycaster does. Default true; false skips objects that aren't visible with every ancestor.

    layers?: boolean

    Map three's layers 0-7 to the instance mask (see the file comment). Default true; false: every instance 0xff.

    material?: (mesh: Mesh, info: BvhThreeMaterialInfo) => number | undefined

    The material index (0-65534) of an instance's triangles, reported as BvhHit.material. Default: none.

    multiMaterial?: "triangles" | "groups"

    How a multi-material mesh (an array of materials, with groups) becomes meshes, the same in bvhSceneFromObject3D, SceneTreesObject3DSync and BvhSceneRaycaster. 'triangles' (the default): one mesh and instance holding every group, each triangle with its group's material (triangleMaterials); its source's group and materialIndex are -1 (threeGroupOf and threeMaterialOf give a hit's). An object whose instances give a group different materials falls back to 'groups'. 'groups': one mesh and instance per group, with the group's material on the instance.

    static?: boolean | ((object: Mesh, instanceId: number) => boolean)

    Instances that never move (TraceSceneInstance.static, for mergeStaticInstances). true for all, or a function of the object and instance (-1 for a plain mesh). Default false.