feat: 点云数据处理
parent
a94754c5f4
commit
663bbeb2a6
@ -0,0 +1 @@
|
|||||||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFtdLAogICJzb3VyY2VzQ29udGVudCI6IFtdLAogICJtYXBwaW5ncyI6ICIiLAogICJuYW1lcyI6IFtdCn0K
|
@ -0,0 +1,49 @@
|
|||||||
|
// mock/utils/apiMock.ts
|
||||||
|
function fetchMockSuccessFullByOther({
|
||||||
|
data,
|
||||||
|
msg
|
||||||
|
}) {
|
||||||
|
const result = {
|
||||||
|
code: 200,
|
||||||
|
// 200 成功
|
||||||
|
success: true,
|
||||||
|
// true 成功
|
||||||
|
data: data || null,
|
||||||
|
// mock业务层数据
|
||||||
|
msg,
|
||||||
|
// 成功提示
|
||||||
|
isMock: true
|
||||||
|
// true 标识当前是模拟数据
|
||||||
|
};
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function fetchMockFailFullByOther({ data, msg }) {
|
||||||
|
const result = {
|
||||||
|
code: 599,
|
||||||
|
// 200 成功
|
||||||
|
success: false,
|
||||||
|
// true 成功
|
||||||
|
data: data || null,
|
||||||
|
// mock业务层数据
|
||||||
|
msg,
|
||||||
|
// 成功提示
|
||||||
|
isMock: true
|
||||||
|
// true 标识当前是模拟数据
|
||||||
|
};
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
function fetchCurrPageByList({ data }) {
|
||||||
|
const { current, pageSize } = data;
|
||||||
|
const prevPage = current - 1;
|
||||||
|
const currPageData = {
|
||||||
|
...data,
|
||||||
|
data: data.data.slice(prevPage * pageSize, current * pageSize)
|
||||||
|
};
|
||||||
|
return fetchMockSuccessFullByOther({ data: currPageData });
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
fetchCurrPageByList,
|
||||||
|
fetchMockFailFullByOther,
|
||||||
|
fetchMockSuccessFullByOther
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9hcGlNb2NrLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1xcXFxhcGlNb2NrLnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1wiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vRToveWF4aW5fd2ViLzVHLUxvYWRpbmctQmF5LVdlYi9tb2NrL3V0aWxzL2FwaU1vY2sudHNcIjsvKlxyXG4gKiBAQXV0aG9yOiBkb25naGFvIGRvbmdoYW9Ac3VwZXJ2aXNpb24ubHRkXHJcbiAqIEBEYXRlOiAyMDI1LTAzLTA3IDE0OjU4OjM5XHJcbiAqIEBMYXN0RWRpdG9yczogZG9uZ2hhbyBkb25naGFvQHN1cGVydmlzaW9uLmx0ZFxyXG4gKiBATGFzdEVkaXRUaW1lOiAyMDI1LTAzLTEzIDE0OjI5OjI2XHJcbiAqIEBGaWxlUGF0aDogXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXG1vY2tcXHV0aWxzXFxhcGlNb2NrLnRzXHJcbiAqIEBEZXNjcmlwdGlvbjogXHU4RkQ5XHU2NjJGXHU5RUQ4XHU4QkE0XHU4QkJFXHU3RjZFLFx1OEJGN1x1OEJCRVx1N0Y2RWBjdXN0b21NYWRlYCwgXHU2MjUzXHU1RjAwa29yb0ZpbGVIZWFkZXJcdTY3RTVcdTc3MEJcdTkxNERcdTdGNkUgXHU4RkRCXHU4ODRDXHU4QkJFXHU3RjZFOiBodHRwczovL2dpdGh1Yi5jb20vT0JLb3JvMS9rb3JvMUZpbGVIZWFkZXIvd2lraS8lRTklODUlOEQlRTclQkQlQUVcclxuICovXHJcbmltcG9ydCB7IGZhaWxNb2NrQXBpUHJvcHMsIHN1Y2Nlc3NNb2NrQXBpUHJvcHMgfSBmcm9tIFwiLi4vdHlwaW5nXCI7XHJcbmV4cG9ydCBmdW5jdGlvbiBmZXRjaE1vY2tTdWNjZXNzRnVsbEJ5T3RoZXIoe1xyXG4gIGRhdGEsXHJcbiAgbXNnLFxyXG59KTogc3VjY2Vzc01vY2tBcGlQcm9wcyB7XHJcbiAgLy8gcmV0dXJuIHtcclxuICAvLyAgIGNvZGU6IDIwMCwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gIC8vICAgc3VjY2VzczogdHJ1ZSwgLy8gdHJ1ZSBcdTYyMTBcdTUyOUZcclxuICAvLyAgIGRhdGE6IGRhdGEgfHwgbnVsbCwgLy8gbW9ja1x1NEUxQVx1NTJBMVx1NUM0Mlx1NjU3MFx1NjM2RVxyXG4gIC8vICAgbXNnOiBtc2cgfCBcIm9rXCIsIC8vIFx1NjIxMFx1NTI5Rlx1NjNEMFx1NzkzQVxyXG4gIC8vICAgaXNNb2NrOiB0cnVlIC8vIHRydWUgXHU2ODA3XHU4QkM2XHU1RjUzXHU1MjREXHU2NjJGXHU2QTIxXHU2MkRGXHU2NTcwXHU2MzZFXHJcbiAgLy8gfSBhcyBzdWNjZXNzTW9ja0FwaVByb3BzO1xyXG4gIGNvbnN0IHJlc3VsdDogc3VjY2Vzc01vY2tBcGlQcm9wcyA9IHtcclxuICAgIGNvZGU6IDIwMCwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gICAgc3VjY2VzczogdHJ1ZSwgLy8gdHJ1ZSBcdTYyMTBcdTUyOUZcclxuICAgIGRhdGE6IGRhdGEgfHwgbnVsbCwgLy8gbW9ja1x1NEUxQVx1NTJBMVx1NUM0Mlx1NjU3MFx1NjM2RVxyXG4gICAgbXNnOiBtc2cgYXMgc3RyaW5nIHwgXCJva1wiLCAvLyBcdTYyMTBcdTUyOUZcdTYzRDBcdTc5M0FcclxuICAgIGlzTW9jazogdHJ1ZSwgLy8gdHJ1ZSBcdTY4MDdcdThCQzZcdTVGNTNcdTUyNERcdTY2MkZcdTZBMjFcdTYyREZcdTY1NzBcdTYzNkVcclxuICB9O1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmZXRjaE1vY2tGYWlsRnVsbEJ5T3RoZXIoeyBkYXRhLCBtc2cgfSk6IGZhaWxNb2NrQXBpUHJvcHMge1xyXG4gIC8vIHJldHVybiB7XHJcbiAgLy8gICBjb2RlOiA1OTksIC8vIDIwMCBcdTYyMTBcdTUyOUZcclxuICAvLyAgIHN1Y2Nlc3M6IHRydWUsIC8vIHRydWUgXHU2MjEwXHU1MjlGXHJcbiAgLy8gICBkYXRhOiBkYXRhIHx8IG51bGwsIC8vIG1vY2tcdTRFMUFcdTUyQTFcdTVDNDJcdTY1NzBcdTYzNkVcclxuICAvLyAgIG1zZzogbXNnIHwgXCJmYWlsXCIsIC8vIFx1NjIxMFx1NTI5Rlx1NjNEMFx1NzkzQVxyXG4gIC8vICAgaXNNb2NrOiB0cnVlIC8vIHRydWUgXHU2ODA3XHU4QkM2XHU1RjUzXHU1MjREXHU2NjJGXHU2QTIxXHU2MkRGXHU2NTcwXHU2MzZFXHJcbiAgLy8gfSBhcyBmYWlsTW9ja0FwaVByb3BzO1xyXG4gIGNvbnN0IHJlc3VsdDogZmFpbE1vY2tBcGlQcm9wcyA9IHtcclxuICAgIGNvZGU6IDU5OSwgLy8gMjAwIFx1NjIxMFx1NTI5RlxyXG4gICAgc3VjY2VzczogZmFsc2UsIC8vIHRydWUgXHU2MjEwXHU1MjlGXHJcbiAgICBkYXRhOiBkYXRhIHx8IG51bGwsIC8vIG1vY2tcdTRFMUFcdTUyQTFcdTVDNDJcdTY1NzBcdTYzNkVcclxuICAgIG1zZzogbXNnIGFzIHN0cmluZyB8IFwiZmFpbFwiLCAvLyBcdTYyMTBcdTUyOUZcdTYzRDBcdTc5M0FcclxuICAgIGlzTW9jazogdHJ1ZSwgLy8gdHJ1ZSBcdTY4MDdcdThCQzZcdTVGNTNcdTUyNERcdTY2MkZcdTZBMjFcdTYyREZcdTY1NzBcdTYzNkVcclxuICB9O1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbi8vIFx1NTIwNlx1OTg3NVx1NUM1NVx1NzkzQVxyXG5leHBvcnQgZnVuY3Rpb24gZmV0Y2hDdXJyUGFnZUJ5TGlzdCh7IGRhdGEgfSk6IHN1Y2Nlc3NNb2NrQXBpUHJvcHMge1xyXG4gIC8vIGNvbnNvbGUubG9nKFwiZmV0Y2hDdXJyUGFnZUJ5TGlzdF9kYXRhXCIsIGRhdGEpO1xyXG4gIGNvbnN0IHsgY3VycmVudCwgcGFnZVNpemUgfSA9IGRhdGE7XHJcbiAgY29uc3QgcHJldlBhZ2UgPSBjdXJyZW50IC0gMTtcclxuICBjb25zdCBjdXJyUGFnZURhdGEgPSB7XHJcbiAgICAuLi5kYXRhLFxyXG4gICAgZGF0YTogZGF0YS5kYXRhLnNsaWNlKHByZXZQYWdlICogcGFnZVNpemUsIGN1cnJlbnQgKiBwYWdlU2l6ZSksXHJcbiAgfTtcclxuICByZXR1cm4gZmV0Y2hNb2NrU3VjY2Vzc0Z1bGxCeU90aGVyKHsgZGF0YTogY3VyclBhZ2VEYXRhIH0pO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFTTyxTQUFTLDRCQUE0QjtBQUFBLEVBQzFDO0FBQUEsRUFDQTtBQUNGLEdBQXdCO0FBUXRCLFFBQU0sU0FBOEI7QUFBQSxJQUNsQyxNQUFNO0FBQUE7QUFBQSxJQUNOLFNBQVM7QUFBQTtBQUFBLElBQ1QsTUFBTSxRQUFRO0FBQUE7QUFBQSxJQUNkO0FBQUE7QUFBQSxJQUNBLFFBQVE7QUFBQTtBQUFBLEVBQ1Y7QUFDQSxTQUFPO0FBQ1Q7QUFFTyxTQUFTLHlCQUF5QixFQUFFLE1BQU0sSUFBSSxHQUFxQjtBQVF4RSxRQUFNLFNBQTJCO0FBQUEsSUFDL0IsTUFBTTtBQUFBO0FBQUEsSUFDTixTQUFTO0FBQUE7QUFBQSxJQUNULE1BQU0sUUFBUTtBQUFBO0FBQUEsSUFDZDtBQUFBO0FBQUEsSUFDQSxRQUFRO0FBQUE7QUFBQSxFQUNWO0FBQ0EsU0FBTztBQUNUO0FBR08sU0FBUyxvQkFBb0IsRUFBRSxLQUFLLEdBQXdCO0FBRWpFLFFBQU0sRUFBRSxTQUFTLFNBQVMsSUFBSTtBQUM5QixRQUFNLFdBQVcsVUFBVTtBQUMzQixRQUFNLGVBQWU7QUFBQSxJQUNuQixHQUFHO0FBQUEsSUFDSCxNQUFNLEtBQUssS0FBSyxNQUFNLFdBQVcsVUFBVSxVQUFVLFFBQVE7QUFBQSxFQUMvRDtBQUNBLFNBQU8sNEJBQTRCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDM0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@ -0,0 +1,27 @@
|
|||||||
|
// mock/utils/is.ts
|
||||||
|
var IMAGE_EXTENSIONS = /* @__PURE__ */ new Set([
|
||||||
|
"jpg",
|
||||||
|
"jpeg",
|
||||||
|
"png",
|
||||||
|
"gif",
|
||||||
|
"bmp",
|
||||||
|
"svg",
|
||||||
|
"webp",
|
||||||
|
"tiff",
|
||||||
|
"psd",
|
||||||
|
"ico",
|
||||||
|
"jfif",
|
||||||
|
"apng",
|
||||||
|
"avif"
|
||||||
|
]);
|
||||||
|
function isImage(filename) {
|
||||||
|
const baseName = filename.split("/").pop().split("\\").pop();
|
||||||
|
if (!baseName) return false;
|
||||||
|
const ext = baseName.split(".").pop()?.toLowerCase();
|
||||||
|
if (!ext || ext.length < 2) return false;
|
||||||
|
return IMAGE_EXTENSIONS.has(ext);
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
isImage
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9pcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX19pbmplY3RlZF9maWxlbmFtZV9fID0gXCJFOlxcXFx5YXhpbl93ZWJcXFxcNUctTG9hZGluZy1CYXktV2ViXFxcXG1vY2tcXFxcdXRpbHNcXFxcaXMudHNcIjtjb25zdCBfX2luamVjdGVkX2Rpcm5hbWVfXyA9IFwiRTpcXFxceWF4aW5fd2ViXFxcXDVHLUxvYWRpbmctQmF5LVdlYlxcXFxtb2NrXFxcXHV0aWxzXCI7Y29uc3QgX19pbmplY3RlZF9pbXBvcnRfbWV0YV91cmxfXyA9IFwiZmlsZTovLy9FOi95YXhpbl93ZWIvNUctTG9hZGluZy1CYXktV2ViL21vY2svdXRpbHMvaXMudHNcIjsvKipcclxuICogXHU1MjI0XHU2NUFEXHU2NTg3XHU0RUY2XHU1NDBEXHU2NjJGXHU1NDI2XHU0RTNBXHU1NkZFXHU3MjQ3XHJcbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlbmFtZSBcdTVCOENcdTY1NzRcdTY1ODdcdTRFRjZcdTU0MERcdUZGMDhcdTU0MkJcdThERUZcdTVGODRcdTU0OENcdTYyNjlcdTVDNTVcdTU0MERcdUZGMDlcclxuICogQHJldHVybnMge2Jvb2xlYW59IFx1NjYyRlx1NTQyNlx1NEUzQVx1NTZGRVx1NzI0N1xyXG4gKi9cclxuXHJcbmNvbnN0IElNQUdFX0VYVEVOU0lPTlMgPSBuZXcgU2V0KFtcclxuICBcImpwZ1wiLFxyXG4gIFwianBlZ1wiLFxyXG4gIFwicG5nXCIsXHJcbiAgXCJnaWZcIixcclxuICBcImJtcFwiLFxyXG4gIFwic3ZnXCIsXHJcbiAgXCJ3ZWJwXCIsXHJcbiAgXCJ0aWZmXCIsXHJcbiAgXCJwc2RcIixcclxuICBcImljb1wiLFxyXG4gIFwiamZpZlwiLFxyXG4gIFwiYXBuZ1wiLFxyXG4gIFwiYXZpZlwiLFxyXG5dKTtcclxuZXhwb3J0IGZ1bmN0aW9uIGlzSW1hZ2UoZmlsZW5hbWUpIHtcclxuICAvLyAxLiBcdTUzQkJcdTk2NjRcdThERUZcdTVGODRcdUZGMENcdTUzRUFcdTRGRERcdTc1NTlcdTY1ODdcdTRFRjZcdTU0MERcclxuICBjb25zdCBiYXNlTmFtZSA9IGZpbGVuYW1lLnNwbGl0KFwiL1wiKS5wb3AoKS5zcGxpdChcIlxcXFxcIikucG9wKCk7XHJcbiAgaWYgKCFiYXNlTmFtZSkgcmV0dXJuIGZhbHNlO1xyXG5cclxuICAvLyAyLiBcdTYzRDBcdTUzRDZcdTYyNjlcdTVDNTVcdTU0MERcdUZGMDhcdTU5MDRcdTc0MDZcdTU5MUFcdTYyNjlcdTVDNTVcdTU0MERcdUZGMENcdTUzRDZcdTY3MDBcdTU0MEVcdTRFMDBcdTRFMkFcdUZGMDlcclxuICBjb25zdCBleHQgPSBiYXNlTmFtZS5zcGxpdChcIi5cIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgaWYgKCFleHQgfHwgZXh0Lmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTsgLy8gXHU2MjY5XHU1QzU1XHU1NDBEXHU5NTdGXHU1RUE2XHU4MUYzXHU1QzExMlx1NEY0RFx1RkYwOFx1NTk4Mi5qcGdcdUZGMDlcclxuXHJcbiAgLy8gMy4gXHU2OEMwXHU2N0U1XHU2NjJGXHU1NDI2XHU1NzI4XHU1NkZFXHU3MjQ3XHU2MjY5XHU1QzU1XHU1NDBEXHU3NjdEXHU1NDBEXHU1MzU1XHJcbiAgcmV0dXJuIElNQUdFX0VYVEVOU0lPTlMuaGFzKGV4dCk7XHJcbn1cclxuXHJcbi8vIFx1NzkzQVx1NEY4Qlx1NkQ0Qlx1OEJENVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ3Bob3RvLmpwZycpKTsgICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdpbWFnZS5wbmcnKSk7ICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdsb2dvLnN2ZycpKTsgICAgIC8vIHRydWVcclxuLy8gICBjb25zb2xlLmxvZyhpc0ltYWdlKCdjb3Zlci50YXIuZ3onKSk7IC8vIGZhbHNlXHVGRjA4XHU5NzVFXHU1NkZFXHU3MjQ3XHU2MjY5XHU1QzU1XHU1NDBEXHVGRjA5XHJcbi8vICAgY29uc29sZS5sb2coaXNJbWFnZSgnZmlsZScpKTsgICAgICAgICAvLyBmYWxzZVx1RkYwOFx1NjVFMFx1NjI2OVx1NUM1NVx1NTQwRFx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJy5oaWRkZW4ucG5nJykpOyAgLy8gdHJ1ZVx1RkYwOFx1OTY5MFx1ODVDRlx1NjU4N1x1NEVGNlx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ2ljb24uSlBFRycpKTsgICAgLy8gdHJ1ZVx1RkYwOFx1NTkyN1x1NUMwRlx1NTE5OVx1NEUwRFx1NjU0Rlx1NjExRlx1RkYwOVxyXG4vLyAgIGNvbnNvbGUubG9nKGlzSW1hZ2UoJ3ZpZGVvLm1wNCcpKTsgICAgLy8gZmFsc2VcdUZGMDhcdTg5QzZcdTk4OTFcdUZGMDlcclxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQU1BLElBQU0sbUJBQW1CLG9CQUFJLElBQUk7QUFBQSxFQUMvQjtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUNGLENBQUM7QUFDTSxTQUFTLFFBQVEsVUFBVTtBQUVoQyxRQUFNLFdBQVcsU0FBUyxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSTtBQUMzRCxNQUFJLENBQUMsU0FBVSxRQUFPO0FBR3RCLFFBQU0sTUFBTSxTQUFTLE1BQU0sR0FBRyxFQUFFLElBQUksR0FBRyxZQUFZO0FBQ25ELE1BQUksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFHLFFBQU87QUFHbkMsU0FBTyxpQkFBaUIsSUFBSSxHQUFHO0FBQ2pDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@ -0,0 +1,20 @@
|
|||||||
|
// mock/utils/mockMoment.ts
|
||||||
|
function generateRandomDateTimeByYear(year) {
|
||||||
|
const month = Math.floor(Math.random() * 12) + 1;
|
||||||
|
const day = Math.floor(Math.random() * 31) + 1;
|
||||||
|
const hour = Math.floor(Math.random() * 24);
|
||||||
|
const minute = Math.floor(Math.random() * 60);
|
||||||
|
const second = Math.floor(Math.random() * 60);
|
||||||
|
return `${year}-${month < 10 ? "0" : ""}${month}-${day < 10 ? "0" : ""}${day} ${hour < 10 ? "0" : ""}${hour}:${minute < 10 ? "0" : ""}${minute}:${second < 10 ? "0" : ""}${second}`;
|
||||||
|
}
|
||||||
|
function generateRandomMoment(date = /* @__PURE__ */ new Date(), type = "HH:mm:ss") {
|
||||||
|
const hour = Math.floor(Math.random() * 24);
|
||||||
|
const minute = Math.floor(Math.random() * 60);
|
||||||
|
const second = Math.floor(Math.random() * 60);
|
||||||
|
return `${hour < 10 ? "0" : ""}${hour}:${minute < 10 ? "0" : ""}${minute}:${second < 10 ? "0" : ""}${second}`;
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
generateRandomDateTimeByYear,
|
||||||
|
generateRandomMoment
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibW9jay91dGlscy9tb2NrTW9tZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2luamVjdGVkX2ZpbGVuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1xcXFxtb2NrTW9tZW50LnRzXCI7Y29uc3QgX19pbmplY3RlZF9kaXJuYW1lX18gPSBcIkU6XFxcXHlheGluX3dlYlxcXFw1Ry1Mb2FkaW5nLUJheS1XZWJcXFxcbW9ja1xcXFx1dGlsc1wiO2NvbnN0IF9faW5qZWN0ZWRfaW1wb3J0X21ldGFfdXJsX18gPSBcImZpbGU6Ly8vRToveWF4aW5fd2ViLzVHLUxvYWRpbmctQmF5LVdlYi9tb2NrL3V0aWxzL21vY2tNb21lbnQudHNcIjtleHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21EYXRlVGltZUJ5WWVhcih5ZWFyKSB7XHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU2NzA4XHU0RUZEXHVGRjA4MS0xMlx1RkYwOVxyXG4gIGNvbnN0IG1vbnRoID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTIpICsgMTtcclxuXHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU2NUU1XHU2NzFGXHVGRjA4MS0zMVx1RkYwOVxyXG4gIGNvbnN0IGRheSA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDMxKSArIDE7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NUMwRlx1NjVGNlx1RkYwODAtMjNcdUZGMDlcclxuICBjb25zdCBob3VyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMjQpO1xyXG5cclxuICAvLyBcdTc1MUZcdTYyMTBcdTk2OEZcdTY3M0FcdTUyMDZcdTk0OUZcdUZGMDgwLTU5XHVGRjA5XHJcbiAgY29uc3QgbWludXRlID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApO1xyXG5cclxuICAvLyBcdTc1MUZcdTYyMTBcdTk2OEZcdTY3M0FcdTc5RDJcdTk0OUZcdUZGMDgwLTU5XHVGRjA5XHJcbiAgY29uc3Qgc2Vjb25kID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogNjApO1xyXG5cclxuICAvLyBcdThGRDRcdTU2REVcdTk2OEZcdTY3M0FcdTY1RTVcdTY3MUZcdTU0OENcdTY1RjZcdTk1RjRcdTc2ODRcdTVCNTdcdTdCMjZcdTRFMzJcclxuICByZXR1cm4gYCR7eWVhcn0tJHttb250aCA8IDEwID8gXCIwXCIgOiBcIlwifSR7bW9udGh9LSR7XHJcbiAgICBkYXkgPCAxMCA/IFwiMFwiIDogXCJcIlxyXG4gIH0ke2RheX0gJHtob3VyIDwgMTAgPyBcIjBcIiA6IFwiXCJ9JHtob3VyfToke21pbnV0ZSA8IDEwID8gXCIwXCIgOiBcIlwifSR7bWludXRlfToke1xyXG4gICAgc2Vjb25kIDwgMTAgPyBcIjBcIiA6IFwiXCJcclxuICB9JHtzZWNvbmR9YDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlUmFuZG9tTW9tZW50KGRhdGUgPSBuZXcgRGF0ZSgpLCB0eXBlID0gXCJISDptbTpzc1wiKSB7XHJcbiAgLy8gXHU3NTFGXHU2MjEwXHU5NjhGXHU2NzNBXHU1QzBGXHU2NUY2XHVGRjA4MC0yM1x1RkYwOVxyXG4gIGNvbnN0IGhvdXIgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAyNCk7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NTIwNlx1OTQ5Rlx1RkYwODAtNTlcdUZGMDlcclxuICBjb25zdCBtaW51dGUgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA2MCk7XHJcblxyXG4gIC8vIFx1NzUxRlx1NjIxMFx1OTY4Rlx1NjczQVx1NzlEMlx1OTQ5Rlx1RkYwODAtNTlcdUZGMDlcclxuICBjb25zdCBzZWNvbmQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiA2MCk7XHJcbiAgLy8gXHU4RkQ0XHU1NkRFXHU5NjhGXHU2NzNBXHU2NUU1XHU2NzFGXHU1NDhDXHU2NUY2XHU5NUY0XHU3Njg0XHU1QjU3XHU3QjI2XHU0RTMyXHJcbiAgcmV0dXJuIGAke2hvdXIgPCAxMCA/IFwiMFwiIDogXCJcIn0ke2hvdXJ9OiR7bWludXRlIDwgMTAgPyBcIjBcIiA6IFwiXCJ9JHttaW51dGV9OiR7XHJcbiAgICBzZWNvbmQgPCAxMCA/IFwiMFwiIDogXCJcIlxyXG4gIH0ke3NlY29uZH1gO1xyXG59XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBMlIsU0FBUyw2QkFBNkIsTUFBTTtBQUVyVSxRQUFNLFFBQVEsS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUUsSUFBSTtBQUcvQyxRQUFNLE1BQU0sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUUsSUFBSTtBQUc3QyxRQUFNLE9BQU8sS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUU7QUFHMUMsUUFBTSxTQUFTLEtBQUssTUFBTSxLQUFLLE9BQU8sSUFBSSxFQUFFO0FBRzVDLFFBQU0sU0FBUyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksRUFBRTtBQUc1QyxTQUFPLEdBQUcsSUFBSSxJQUFJLFFBQVEsS0FBSyxNQUFNLEVBQUUsR0FBRyxLQUFLLElBQzdDLE1BQU0sS0FBSyxNQUFNLEVBQ25CLEdBQUcsR0FBRyxJQUFJLE9BQU8sS0FBSyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFDdEUsU0FBUyxLQUFLLE1BQU0sRUFDdEIsR0FBRyxNQUFNO0FBQ1g7QUFFTyxTQUFTLHFCQUFxQixPQUFPLG9CQUFJLEtBQUssR0FBRyxPQUFPLFlBQVk7QUFFekUsUUFBTSxPQUFPLEtBQUssTUFBTSxLQUFLLE9BQU8sSUFBSSxFQUFFO0FBRzFDLFFBQU0sU0FBUyxLQUFLLE1BQU0sS0FBSyxPQUFPLElBQUksRUFBRTtBQUc1QyxRQUFNLFNBQVMsS0FBSyxNQUFNLEtBQUssT0FBTyxJQUFJLEVBQUU7QUFFNUMsU0FBTyxHQUFHLE9BQU8sS0FBSyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFDdEUsU0FBUyxLQUFLLE1BQU0sRUFDdEIsR0FBRyxNQUFNO0FBQ1g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,21 @@
|
|||||||
|
self.onmessage = function (e) {
|
||||||
|
console.log('Received message:', e.data);
|
||||||
|
const { positions, gridSize, grid } = e.data;
|
||||||
|
const numPoints = positions.length / 3;
|
||||||
|
console.log('Number of points:', numPoints);
|
||||||
|
|
||||||
|
// 计算每个点的密度
|
||||||
|
const densities = [];
|
||||||
|
for (let i = 0; i < numPoints; i++) {
|
||||||
|
const x = positions[i * 3];
|
||||||
|
const y = positions[i * 3 + 1];
|
||||||
|
const z = positions[i * 3 + 2];
|
||||||
|
const gridX = Math.floor(x / gridSize);
|
||||||
|
const gridY = Math.floor(y / gridSize);
|
||||||
|
const gridZ = Math.floor(z / gridSize);
|
||||||
|
const key = `${gridX},${gridY},${gridZ}`;
|
||||||
|
densities.push(grid[key] || 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
self.postMessage(densities);
|
||||||
|
};
|
Loading…
Reference in New Issue