wonder.js
Version:
174 lines (161 loc) • 6.51 kB
JavaScript
;
var ArrayService$Wonderjs = require("../../service/atom/ArrayService.js");
var OptionService$Wonderjs = require("../../service/atom/OptionService.js");
var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js");
function _convertToBasicCameraViewsByCameras(cameras) {
if (cameras !== undefined) {
var cameras$1 = cameras;
if (cameras$1.length > 0) {
return ArrayService$WonderCommonlib.reduceOneParam((function (arr, param) {
return ArrayService$Wonderjs.push(/* record */[/* isActive */false], arr);
}), /* array */[/* record */[/* isActive */true]], cameras$1.slice(1));
} else {
return /* array */[];
}
} else {
return /* array */[];
}
}
function convertToBasicCameraViews(param) {
var extras = param[/* extras */15];
var cameras = param[/* cameras */9];
if (extras !== undefined) {
var basicCameraViews = extras[/* basicCameraViews */0];
if (basicCameraViews !== undefined) {
var basicCameraViews$1 = basicCameraViews;
if (basicCameraViews$1.length > 0) {
return ArrayService$WonderCommonlib.reduceOneParam((function (arr, param) {
return ArrayService$Wonderjs.push(/* record */[/* isActive */param[/* isActive */0]], arr);
}), /* array */[], basicCameraViews$1);
} else {
return _convertToBasicCameraViewsByCameras(cameras);
}
} else {
return _convertToBasicCameraViewsByCameras(cameras);
}
} else {
return _convertToBasicCameraViewsByCameras(cameras);
}
}
function _getFirstNodeIndexWhichUseFirstCamera(nodes) {
return ArrayService$WonderCommonlib.reduceOneParami((function (index, param, i) {
var camera = param[/* camera */1];
if (camera !== undefined && camera === 0) {
return i;
} else {
return index;
}
}), undefined, nodes);
}
function _getFirstNodeIndexWhichUseBasicCameraView(nodes, basicCameraViewIndex) {
return ArrayService$WonderCommonlib.reduceOneParami((function (index, param, i) {
var extras = param[/* extras */8];
if (extras !== undefined) {
var basicCameraView = extras[/* basicCameraView */0];
if (basicCameraView !== undefined && basicCameraView === basicCameraViewIndex) {
return i;
} else {
return index;
}
} else {
return index;
}
}), undefined, nodes);
}
function _getActiveBasicCameraViewIndex(basicCameraViews) {
return ArrayService$WonderCommonlib.reduceOneParami((function (index, param, i) {
var match = param[/* isActive */0] === true;
if (match) {
return i;
} else {
return index;
}
}), undefined, basicCameraViews);
}
function getActiveCameraNodeIndex(param) {
var extras = param[/* extras */15];
var nodes = param[/* nodes */10];
var cameras = param[/* cameras */9];
if (extras !== undefined) {
var basicCameraViews = extras[/* basicCameraViews */0];
if (basicCameraViews !== undefined) {
var basicCameraViews$1 = basicCameraViews;
if (basicCameraViews$1.length > 0) {
var match = _getActiveBasicCameraViewIndex(basicCameraViews$1);
if (match !== undefined) {
return _getFirstNodeIndexWhichUseBasicCameraView(nodes, match);
} else {
return undefined;
}
} else {
return _getFirstNodeIndexWhichUseFirstCamera(nodes);
}
} else {
return _getFirstNodeIndexWhichUseFirstCamera(nodes);
}
} else if (cameras !== undefined && cameras.length > 0) {
return _getFirstNodeIndexWhichUseFirstCamera(nodes);
} else {
return undefined;
}
}
function _convertRadiansToDegree(angle) {
return angle * 180 / Math.PI;
}
function convertToPerspectiveCameraProjections(param) {
var cameras = param[/* cameras */9];
if (cameras !== undefined) {
return ArrayService$WonderCommonlib.reduceOneParam((function (arr, param) {
if (param[/* type_ */0] === "perspective") {
var match = OptionService$Wonderjs.unsafeGet(param[/* perspective */1]);
return ArrayService$Wonderjs.push(/* record */[
/* near */match[/* znear */3],
/* far */match[/* zfar */2],
/* fovy */_convertRadiansToDegree(match[/* yfov */1]),
/* aspect */match[/* aspectRatio */0]
], arr);
} else {
return arr;
}
}), /* array */[], cameras);
} else {
return /* array */[];
}
}
function convertToFlyCameraControllers(param) {
var extras = param[/* extras */15];
if (extras !== undefined) {
var flyCameraControllers = extras[/* flyCameraControllers */1];
if (flyCameraControllers !== undefined) {
return flyCameraControllers;
} else {
return /* array */[];
}
} else {
return /* array */[];
}
}
function convertToArcballCameraControllers(param) {
var extras = param[/* extras */15];
if (extras !== undefined) {
var arcballCameraControllers = extras[/* arcballCameraControllers */2];
if (arcballCameraControllers !== undefined) {
return arcballCameraControllers;
} else {
return /* array */[];
}
} else {
return /* array */[];
}
}
exports._convertToBasicCameraViewsByCameras = _convertToBasicCameraViewsByCameras;
exports.convertToBasicCameraViews = convertToBasicCameraViews;
exports._getFirstNodeIndexWhichUseFirstCamera = _getFirstNodeIndexWhichUseFirstCamera;
exports._getFirstNodeIndexWhichUseBasicCameraView = _getFirstNodeIndexWhichUseBasicCameraView;
exports._getActiveBasicCameraViewIndex = _getActiveBasicCameraViewIndex;
exports.getActiveCameraNodeIndex = getActiveCameraNodeIndex;
exports._convertRadiansToDegree = _convertRadiansToDegree;
exports.convertToPerspectiveCameraProjections = convertToPerspectiveCameraProjections;
exports.convertToFlyCameraControllers = convertToFlyCameraControllers;
exports.convertToArcballCameraControllers = convertToArcballCameraControllers;
/* ArrayService-Wonderjs Not a pure module */