UNPKG

wonder.js

Version:
55 lines (49 loc) 3.95 kB
'use strict'; var Log$WonderLog = require("wonder-log/lib/js/src/Log.js"); var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js"); var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js"); var StateDataMain$Wonderjs = require("../../service/state/main/data/StateDataMain.js"); var GenerateCommon$Wonderjs = require("./GenerateCommon.js"); var IsDebugMainService$Wonderjs = require("../../service/state/main/state/IsDebugMainService.js"); var ActiveBasicCameraViewService$Wonderjs = require("../../service/record/main/basic_camera_view/ActiveBasicCameraViewService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); var FrustumPerspectiveCameraProjectionService$Wonderjs = require("../../service/record/main/perspective_camera_projection/FrustumPerspectiveCameraProjectionService.js"); function buildBasicCameraViewData(cameraDataMap, state) { var basicCameraViewRecord = state[/* basicCameraViewRecord */13]; Contract$WonderLog.requireCheck((function (param) { return GenerateCommon$Wonderjs.checkShouldHasNoSlot(cameraDataMap); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); return Contract$WonderLog.ensureCheck((function (cameraDataArr) { return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("has at most one active", "not"), (function (param) { return Contract$WonderLog.Operators[/* <= */11](cameraDataArr.filter((function (param) { return param[/* isActive */0] === true; })).length, 1); })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData), MutableSparseMapService$WonderCommonlib.reduceValid((function (cameraDataArr, basicCameraView) { return ArrayService$Wonderjs.push(/* record */[/* isActive */ActiveBasicCameraViewService$Wonderjs.isActive(basicCameraView, basicCameraViewRecord)], cameraDataArr); }), /* array */[], cameraDataMap)); } function _convertDegreeToRadians(angle) { return angle * Math.PI / 180; } function buildCameraProjectionData(cameraDataMap, state) { var perspectiveCameraProjectionRecord = state[/* perspectiveCameraProjectionRecord */14]; Contract$WonderLog.requireCheck((function (param) { return GenerateCommon$Wonderjs.checkShouldHasNoSlot(cameraDataMap); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData)); return MutableSparseMapService$WonderCommonlib.reduceValid((function (cameraDataArr, perspectiveCameraProjection) { return ArrayService$Wonderjs.push(/* record */[ /* type_ */"perspective", /* perspective : record */[ /* near */FrustumPerspectiveCameraProjectionService$Wonderjs.unsafeGetNear(perspectiveCameraProjection, perspectiveCameraProjectionRecord), /* far */FrustumPerspectiveCameraProjectionService$Wonderjs.getFar(perspectiveCameraProjection, perspectiveCameraProjectionRecord), /* fovy */_convertDegreeToRadians(FrustumPerspectiveCameraProjectionService$Wonderjs.unsafeGetFovy(perspectiveCameraProjection, perspectiveCameraProjectionRecord)), /* aspect */FrustumPerspectiveCameraProjectionService$Wonderjs.getAspect(perspectiveCameraProjection, perspectiveCameraProjectionRecord) ] ], cameraDataArr); }), /* array */[], cameraDataMap); } exports.buildBasicCameraViewData = buildBasicCameraViewData; exports._convertDegreeToRadians = _convertDegreeToRadians; exports.buildCameraProjectionData = buildCameraProjectionData; /* Log-WonderLog Not a pure module */