UNPKG

wonder.js

Version:
70 lines (56 loc) 2.85 kB
'use strict'; var Most = require("most"); var Js_option = require("bs-platform/lib/js/js_option.js"); var RayUtils$Wonderjs = require("../../jiehuo/RayUtils.js"); var MeshUtils$Wonderjs = require("../../jiehuo/MeshUtils.js"); var OptionService$Wonderjs = require("../../service/atom/OptionService.js"); var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js"); function checkIntersectMesh(ray, geometry, localToWorldMatrixTypeArray, cull, state) { return MeshUtils$Wonderjs.checkIntersectMesh(ray, /* tuple */[ geometry, localToWorldMatrixTypeArray, cull ], state); } var isIntersectWithMesh = Js_option.isSome; var getIntersectedPointWithMesh = OptionService$Wonderjs.unsafeGet; function _loadImage (url,errorInfo,resolve,reject){ var image = new Image(); image.src = url; image.onload = (function () { return resolve(image); }); image.onerror = (function (e) { console.trace(); return reject(new Error(errorInfo)); }); }; function loadImage(src, errorInfo) { return Most.fromPromise(new Promise((function (resolve, reject) { return _loadImage(src, errorInfo, resolve, reject); }))); } function loadImageDataArr(imageDataArr) { ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0); return Most.reduce((function (resultMap, param) { return ImmutableHashMapService$WonderCommonlib.set(param[1], param[0], resultMap); }), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0), Most.mergeArray(imageDataArr.map((function (param) { var imageId = param[1]; var imageSrc = param[0]; return Most.map((function (image) { return /* tuple */[ image, imageId ]; }), loadImage(imageSrc, "load image(src = " + (String(imageSrc) + ") error"))); })))); } var createPerspectiveCameraRayFromEvent = RayUtils$Wonderjs.createPerspectiveCameraRayFromEvent; exports.createPerspectiveCameraRayFromEvent = createPerspectiveCameraRayFromEvent; exports.checkIntersectMesh = checkIntersectMesh; exports.isIntersectWithMesh = isIntersectWithMesh; exports.getIntersectedPointWithMesh = getIntersectedPointWithMesh; exports._loadImage = _loadImage; exports.loadImage = loadImage; exports.loadImageDataArr = loadImageDataArr; /* most Not a pure module */