import { Plane } from './Plane'; import { Vec3 } from '../../math/Vec3'; import { Mat4 } from '../../math/Mat4'; import { BufferGeometry } from '../../render/geometry'; import { Sphere } from './Sphere'; import { Segment } from './Segment'; /** * 视锥体 */ export declare class Frustum { planes: Plane[]; constructor(); get front(): Plane; get back(): Plane; get top(): Plane; get bottom(): Plane; get left(): Plane; get right(): Plane; /** * 从投影矩阵计算视锥体 * @param m * @returns */ setFromProjectionMatrix(m: Mat4): this; static fromProjectionMatrix(m: Mat4): Frustum; setFromPerspective(position: Vec3, target: Vec3, up: Vec3, fov: number, aspect: number, near: number, far: number): void; intersectsObject(geometry: BufferGeometry, mat: Mat4): boolean; intersectsSphere(sphere: Sphere): boolean; containsPoint(point: Vec3): boolean; intersectSegment(segment: Segment | Vec3[]): Vec3 | Vec3[] | Segment | null; simpleIntersectVS(vs: Vec3[]): (boolean | (boolean | Vec3)[])[]; copy(frustum: Frustum): void; clone(): any; }