UNPKG

wonder.js

Version:
98 lines (88 loc) 4.29 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var Caml_array = require("bs-platform/lib/js/caml_array.js"); var ArrayService$Wonderjs = require("../../../service/atom/ArrayService.js"); var ModelMatrixTransformService$Wonderjs = require("../../../service/record/main/transform/ModelMatrixTransformService.js"); function _addTransformVector3Data(transform, localData, defaultData, getDataFunc) { var localData$1 = Curry._2(getDataFunc, transform, localData); if (localData$1[0] === Caml_array.caml_array_get(defaultData, 0) && localData$1[1] === Caml_array.caml_array_get(defaultData, 1) && localData$1[2] === Caml_array.caml_array_get(defaultData, 2)) { return undefined; } else { return localData$1; } } function _addTransformRotationData(transform, localRotations, defaultLocalRotation) { var localRotation = ModelMatrixTransformService$Wonderjs.getLocalRotationTuple(transform, localRotations); if (localRotation[0] === Caml_array.caml_array_get(defaultLocalRotation, 0) && localRotation[1] === Caml_array.caml_array_get(defaultLocalRotation, 1) && localRotation[2] === Caml_array.caml_array_get(defaultLocalRotation, 2) && localRotation[3] === Caml_array.caml_array_get(defaultLocalRotation, 3)) { return undefined; } else { return localRotation; } } function _addNodeExtraData(param, param$1) { var scriptIndex = param$1[6]; var arcballCameraControllerIndex = param$1[5]; var flyCameraControllerIndex = param$1[4]; var lightMaterialIndex = param$1[3]; var basicMaterialIndex = param$1[2]; var meshRendererIndex = param$1[1]; var basicCameraViewIndex = param$1[0]; var isRoot = param[1]; var isActive = param[0]; var exit = 0; if (isActive !== undefined || isRoot !== undefined || basicCameraViewIndex !== undefined || meshRendererIndex !== undefined || basicMaterialIndex !== undefined || lightMaterialIndex !== undefined || flyCameraControllerIndex !== undefined || arcballCameraControllerIndex !== undefined || scriptIndex !== undefined) { exit = 1; } else { return undefined; } if (exit === 1) { return /* record */[ /* basicCameraView */basicCameraViewIndex, /* meshRenderer */meshRendererIndex, /* basicMaterial */basicMaterialIndex, /* lightMaterial */lightMaterialIndex, /* flyCameraController */flyCameraControllerIndex, /* arcballCameraController */arcballCameraControllerIndex, /* script */scriptIndex, /* isActive */isActive, /* isRoot */isRoot ]; } } function _addNodeExtensionData(lightIndex) { if (lightIndex !== undefined) { return /* record */[/* khr_lights *//* record */[/* light */lightIndex]]; } } function addNodeAndItsComponentData(gameObject, param, param$1, nodeDataArr) { var match = param$1[0]; var transform = match[0]; return ArrayService$Wonderjs.push(/* record */[ /* gameObject */gameObject, /* children */undefined, /* translation */_addTransformVector3Data(transform, match[1], match[4], ModelMatrixTransformService$Wonderjs.getLocalPositionTuple), /* rotation */_addTransformRotationData(transform, match[2], match[5]), /* scale */_addTransformVector3Data(transform, match[3], match[6], ModelMatrixTransformService$Wonderjs.getLocalScaleTuple), /* mesh */param$1[1], /* camera */param$1[4], /* extras */_addNodeExtraData(/* tuple */[ param[0], param[1] ], /* tuple */[ param$1[3], param$1[2], param$1[7], param$1[8], param$1[5], param$1[6], param$1[10] ]), /* extensions */_addNodeExtensionData(param$1[9]) ], nodeDataArr); } exports._addTransformVector3Data = _addTransformVector3Data; exports._addTransformRotationData = _addTransformRotationData; exports._addNodeExtraData = _addNodeExtraData; exports._addNodeExtensionData = _addNodeExtensionData; exports.addNodeAndItsComponentData = addNodeAndItsComponentData; /* ArrayService-Wonderjs Not a pure module */