@realsee/five
Version:
Realsee Renderer SDK
19 lines (18 loc) • 825 B
TypeScript
import type { BVHVector3, BVHIntersect } from './bvhMath';
export type BVHAttr = {
array: ArrayLike<number>;
stride?: number;
offset?: number;
};
export declare class BVHObject {
position: BVHAttr;
indices?: BVHAttr | undefined;
rootNodePacked?: ArrayBuffer;
offsetArray?: ArrayLike<number>;
constructor(position: BVHAttr, indices?: BVHAttr | undefined);
getPositionCount(): number;
getPositionByIndex(index: number, target: BVHVector3): BVHVector3;
createTree(maxTrianglesPerNode: number, maxDepth: number, extents?: number[]): this;
trianglesInSphere(center: BVHVector3, radius: number): Float32Array;
intersectRay(rayOrigin: BVHVector3, rayDirection: BVHVector3, threshold?: number, onlyFirst?: boolean, filter?: (intersect: BVHIntersect) => boolean): BVHIntersect[];
}