import { ContextManager, Observable } from '@zcomponent/core'; import * as THREE from 'three'; import { Camera, CameraConstructorProps } from './Camera'; /** * The properties required to construct an OrthographicCamera. */ export interface OrthographicCameraConstructorProps extends CameraConstructorProps { /** * Camera frustum top plane. * @zprop * @zdefault 5 */ top: number; /** * Camera frustum left plane. * @zprop */ left: number; /** * Camera frustum bottom plane. * @zprop * @zdefault -5 */ bottom: number; /** * Camera frustum right plane. * @zprop */ right: number; } /** * * An orthographic camera component. * * In this projection mode, an object's size in the rendered image stays constant regardless of its distance from the camera. * This can be useful for rendering 2D scenes and UI elements, amongst other things. * * Root element: [THREE.OrthographicCamera](https://threejs.org/docs/index.html#api/en/cameras/OrthographicCamera) * * @zcomponent * @zgroup Cameras * @zicon camera * @ztag three/Object3D/Camera/OrthographicCamera * @zparents three/Object3D/Group/** */ export declare class OrthographicCamera extends Camera { /** * Constructs a new OrthographicCamera. * @param contextManager - The context manager. * @param props - The properties required to construct the OrthographicCamera. */ constructor(contextManager: ContextManager, props: OrthographicCameraConstructorProps); /** * Camera frustum far plane. * @zprop * @zgroup PerspectiveCamera * @zgrouppriority 20 * @zdefault 2000 */ far: Observable; /** * Camera frustum near plane. * @zprop * @zgroup PerspectiveCamera * @zgrouppriority 20 * @zdefault 0.1 */ near: Observable; /** * An observable for getting or setting the zoom factor of the camera. * * Default is 1. * @zprop * @zgroup PerspectiveCamera * @zgrouppriority 20 * @zdefault 1 */ zoom: Observable; }