planeCoverService.js 1.2 KB

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