wonder.js
Version:
70 lines (56 loc) • 2.85 kB
JavaScript
;
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 */