@itwin/core-common
Version:
iTwin.js components common to frontend and backend
43 lines • 1.37 kB
TypeScript
/** @packageDocumentation
* @module Views
*/
import { Angle, AngleProps, Point3d, XYAndZ, XYZProps } from "@itwin/core-geometry";
/** JSON representation of a [[Camera]].
* @public
* @extensions
*/
export interface CameraProps {
lens: AngleProps;
focusDist: number;
eye: XYZProps;
}
/** The current position (eyepoint), lens angle, and focus distance of a camera.
* @see [Views]($docs/learning/frontend/Views.md)
* @public
*/
export declare class Camera implements CameraProps {
readonly lens: Angle;
focusDist: number;
readonly eye: Point3d;
static isValidLensAngle(val: Angle): boolean;
static validateLensAngle(val: Angle): void;
invalidateFocus(): void;
get isFocusValid(): boolean;
getFocusDistance(): number;
setFocusDistance(dist: number): void;
get isLensValid(): boolean;
validateLens(): void;
getLensAngle(): Angle;
setLensAngle(angle: Angle): void;
getEyePoint(): Point3d;
setEyePoint(pt: XYAndZ): void;
get isValid(): boolean;
equals(other: Camera): boolean;
clone(): Camera;
setFrom(rhs: Camera): void;
/** Construct a Camera
* @param props The properties of the new camera. If undefined, create a camera with eye at {0,0,0}, 90 degree lens, 1 meter focus distance.
*/
constructor(props?: CameraProps);
}
//# sourceMappingURL=Camera.d.ts.map