UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

25 lines (23 loc) 875 B
import {Camera} from 'three'; import {isNumber} from '../../Type'; import {CameraAttribute} from '../CoreCamera'; import {CameraFrameMode, CAMERA_FRAME_MODES} from '../CoreCameraFrameMode'; import {coreObjectClassFactory} from '../../geometry/CoreObjectFactory'; export class BaseCoreCameraFrameMode { static frameMode(camera: Camera) { return this._getFrameMode(camera) || CameraFrameMode.DEFAULT; } static expectedAspectRatio(camera: Camera) { return coreObjectClassFactory(camera).attribValue(camera, CameraAttribute.FRAME_MODE_EXPECTED_ASPECT_RATIO); } private static _getFrameMode(camera: Camera) { const frameModeAttribVal = coreObjectClassFactory(camera).attribValue(camera, CameraAttribute.FRAME_MODE); if (!frameModeAttribVal) { return; } if (!isNumber(frameModeAttribVal)) { return; } return CAMERA_FRAME_MODES[frameModeAttribVal]; } }