xtorcga
Version:
Xtor Compute Geometry Algorithm Libary 计算几何算法库
35 lines (34 loc) • 1.18 kB
TypeScript
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;
}