UNPKG

whs

Version:

Super-fast 3D framework for Web Applications & Games. Based on Three.js

70 lines (64 loc) 1.7 kB
import {OrthographicCamera as OrthographicCameraNative} from 'three'; import {CameraComponent} from '../../core/CameraComponent'; import {system} from '../../polyfill'; /** * @class OrthographicCamera * @category components/cameras * @description Camera with orthographic projection. * @param {Object} [params] - The parameters object. * @memberof module:components/cameras * @extends module:core.CameraComponent * @example <caption>Create an OrthographicCamera and set it as app's camera</caption> * const camera = new OrthographicCamera({ * camera: { * far: 10000 * }, * * position: { * y: 50 * } * }); * * app.camera = camera; */ class OrthographicCamera extends CameraComponent { /** * Default values for parameters * @member {Object} module:components/cameras.OrthographicCamera#defaults * @static * @default <pre> * { * near: 1, * far: 1000, * left: system.window.innerWidth / -2, * right: system.window.innerWidth / 2, * top: system.window.innerHeight / 2, * bottom: system.window.innerHeight / -2 * }</pre> */ static defaults = { ...CameraComponent.defaults, near: 1, far: 1000, left: system.window.innerWidth / -2, right: system.window.innerWidth / 2, top: system.window.innerHeight / 2, bottom: system.window.innerHeight / -2 }; constructor(params = {}) { super(params, OrthographicCamera.defaults); } build(params = {}) { return this.applyBridge({camera: new OrthographicCameraNative( params.left, params.right, params.top, params.bottom, params.near, params.far )}).camera; } } export { OrthographicCamera };