@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
24 lines (23 loc) • 862 B
JavaScript
;
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) {
return this._getFrameMode(camera) || CameraFrameMode.DEFAULT;
}
static expectedAspectRatio(camera) {
return coreObjectClassFactory(camera).attribValue(camera, CameraAttribute.FRAME_MODE_EXPECTED_ASPECT_RATIO);
}
static _getFrameMode(camera) {
const frameModeAttribVal = coreObjectClassFactory(camera).attribValue(camera, CameraAttribute.FRAME_MODE);
if (!frameModeAttribVal) {
return;
}
if (!isNumber(frameModeAttribVal)) {
return;
}
return CAMERA_FRAME_MODES[frameModeAttribVal];
}
}