import { Box } from "./Box"; import { Frustum } from "./Frustum"; import { Mat34, Mat44 } from "./Matrix"; import { Quat } from "./Quaternion"; import { Vec3, Vec4 } from "./Vector"; export declare enum ProjectionType { Perspective = 0, Orthographic = 1, Customization = 2 } export interface ICamera { new (): ICamera; CopyFrom(r: ICamera): void; SetProjectionType(r: ProjectionType): void; GetProjectionType(): ProjectionType; SetPosition(v: Vec3): void; GetPosition(): Vec3; SetRotation(v: Quat): void; GetRotation(): Quat; SetZNear(f: number): void; GetZNear(): number; SetZFar(f: number): void; GetZFar(): number; SetDirection(v: Vec3): void; GetDirection(): Vec3; SetTarget(v: Vec3): void; Roll(f: number): void; Yaw(f: number): void; Pitch(f: number): void; RotateAngle(v: Vec3, f: number): void; SetFovY(f: number): void; GetFovY(): number; SetAspect(f: number): void; GetAspect(): number; GetFrustum(): Frustum; SetOrthoRange(vLRBT: Vec4): void; GetOrthoRange(): Vec4; GetOrthoBox(): Box; SetCustomProjection(mProj: Mat44): void; GetViewUp(): Vec3; GetViewRight(): Vec3; GetView(): Mat44; GetView33(): Mat34; GetView33_4(): Mat44; GetViewT(): Mat44; GetViewT33(): Mat34; GetViewT33_4(): Mat44; GetProjection(): Mat44; GetProjectionT(): Mat44; GetViewProjection(): Mat44; GetViewProjectionT(): Mat44; } declare const Camera_base: ICamera; export declare class Camera extends Camera_base { GetPosition(): Vec3; GetDirection(): Vec3; GetOrthoRange(): Vec4; GetViewUp(): Vec3; GetViewRight(): Vec3; } export {};