planeCoverService.js 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import math from 'math.js'
  2. import * as three from 'three'
  3. import { Base64 } from 'js-base64'
  4. import dcodeIO from 'protobufjs'
  5. import axios from 'axios'
  6. const domain = `https://4dkk.4dage.com`;
  7. const getModelBlob = async (url) => {
  8. const data = await axios({
  9. url: `${domain}${url}`,
  10. responseType: 'arraybuffer',
  11. method: 'GET'
  12. });
  13. if (data.status !== 200) {
  14. throw "无法获取场景数据,请确认场景码是否正确"
  15. } else if (!data.data) {
  16. throw "场景数据为空,请联系相关人员"
  17. } else {
  18. return data.data;
  19. }
  20. }
  21. /**
  22. * @param sceneNum 场景码
  23. * @param imgBoxsList 全景图shapes平面盒子数据格式:
  24. * [{
  25. "id":9703,
  26. "version":"4dage_1.0.0",
  27. "flag":null,
  28. "shapes":[{
  29. score: 0.5,
  30. color: [],
  31. bbox: [],
  32. label: "",
  33. category:"cabinet"
  34. }]
  35. }]
  36. @returns 返回三维立方体box
  37. */
  38. export const planeCover = async ({sceneNum, imgBoxsList}) => {
  39. const modelBlob = await getModelBlob(`/scene_view_data/${sceneNum}/images/vision.modeldata`)
  40. const damBlob = await getModelBlob(`/scene_view_data/${sceneNum}/images/dacf7dfa24ae47fab8fcebfe4dc41ab9_50k.dam`)
  41. return [];
  42. }