@anov/3d 0.0.176 → 0.0.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/anov3d.js +0 -2
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +38 -39
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/module/camera/index.js +20 -17
  6. package/dist/module/camera/index.js.map +1 -1
  7. package/dist/module/entity/area/index.js +29 -0
  8. package/dist/module/entity/area/index.js.map +1 -0
  9. package/dist/module/{model/index.js → entity/area/style/area_01.js} +40 -79
  10. package/dist/module/entity/area/style/area_01.js.map +1 -0
  11. package/dist/module/entity/area/style/index.js +27 -0
  12. package/dist/module/entity/area/style/index.js.map +1 -0
  13. package/dist/module/entity/area/type.js.map +1 -0
  14. package/dist/module/entity/bar/index.js +29 -0
  15. package/dist/module/entity/bar/index.js.map +1 -0
  16. package/dist/{factory/unit/poi.js → module/entity/bar/style/bar_01.js} +36 -249
  17. package/dist/module/entity/bar/style/bar_01.js.map +1 -0
  18. package/dist/module/entity/bar/style/index.js +27 -0
  19. package/dist/module/entity/bar/style/index.js.map +1 -0
  20. package/dist/module/entity/bar/type.js +2 -0
  21. package/dist/module/entity/bar/type.js.map +1 -0
  22. package/dist/module/entity/index.js +5 -12
  23. package/dist/module/entity/index.js.map +1 -1
  24. package/dist/module/entity/model/index.js +9 -6
  25. package/dist/module/entity/model/index.js.map +1 -1
  26. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  27. package/dist/module/entity/model/load/loadGlb.js +7 -4
  28. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  29. package/dist/module/entity/poi/style/base.js.map +1 -1
  30. package/dist/module/entity/poi/type.js.map +1 -1
  31. package/dist/{factory/unit/districtLine.js → module/entity/realismTraffic/index.js} +91 -109
  32. package/dist/module/entity/realismTraffic/index.js.map +1 -0
  33. package/dist/module/entity/spline/style/index.js.map +1 -1
  34. package/dist/module/entity/spline/style/line_01.js +2 -2
  35. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  36. package/dist/module/entity/spline/style/line_texture_01.js +6 -6
  37. package/dist/module/entity/spline/style/line_texture_01.js.map +1 -1
  38. package/dist/module/entity/spline/type.js.map +1 -1
  39. package/dist/module/entity/strategy.js +22 -0
  40. package/dist/module/entity/strategy.js.map +1 -1
  41. package/dist/module/entity/utils.js +17 -0
  42. package/dist/module/entity/utils.js.map +1 -1
  43. package/dist/module/environment/index.js +35 -113
  44. package/dist/module/environment/index.js.map +1 -1
  45. package/dist/module/scene/fileParse.js +232 -132
  46. package/dist/module/scene/fileParse.js.map +1 -1
  47. package/dist/module/scene/index.js +84 -137
  48. package/dist/module/scene/index.js.map +1 -1
  49. package/dist/{factory/globalControl.js → module/tool/index.js} +8 -16
  50. package/dist/module/tool/index.js.map +1 -0
  51. package/dist/sdkEntry.js +4 -9
  52. package/dist/sdkEntry.js.map +1 -1
  53. package/package.json +3 -3
  54. package/dist/factory/3d.js +0 -535
  55. package/dist/factory/3d.js.map +0 -1
  56. package/dist/factory/globalControl.js.map +0 -1
  57. package/dist/factory/globalData.js +0 -2
  58. package/dist/factory/globalData.js.map +0 -1
  59. package/dist/factory/regionData.js +0 -499
  60. package/dist/factory/regionData.js.map +0 -1
  61. package/dist/factory/type.js.map +0 -1
  62. package/dist/factory/unit/CameraPoi.js +0 -1047
  63. package/dist/factory/unit/CameraPoi.js.map +0 -1
  64. package/dist/factory/unit/areaBoundingBox.js +0 -28
  65. package/dist/factory/unit/areaBoundingBox.js.map +0 -1
  66. package/dist/factory/unit/circle.js +0 -225
  67. package/dist/factory/unit/circle.js.map +0 -1
  68. package/dist/factory/unit/cylinder.js +0 -269
  69. package/dist/factory/unit/cylinder.js.map +0 -1
  70. package/dist/factory/unit/districtLine.js.map +0 -1
  71. package/dist/factory/unit/glsl/heat/frag.glsl +0 -37
  72. package/dist/factory/unit/glsl/heat/frag.js +0 -4
  73. package/dist/factory/unit/glsl/heat/frag.js.map +0 -1
  74. package/dist/factory/unit/glsl/heat/ver.glsl +0 -15
  75. package/dist/factory/unit/glsl/heat/ver.js +0 -4
  76. package/dist/factory/unit/glsl/heat/ver.js.map +0 -1
  77. package/dist/factory/unit/glsl/highway/fragmentShader.js +0 -4
  78. package/dist/factory/unit/glsl/highway/fragmentShader.js.map +0 -1
  79. package/dist/factory/unit/glsl/highway/fragmentShader2.js +0 -4
  80. package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +0 -1
  81. package/dist/factory/unit/glsl/highway/vertexShader.js +0 -4
  82. package/dist/factory/unit/glsl/highway/vertexShader.js.map +0 -1
  83. package/dist/factory/unit/glsl/point/fragment.glsl +0 -12
  84. package/dist/factory/unit/glsl/point/vertex.glsl +0 -7
  85. package/dist/factory/unit/glsl/wall/fragmentShader.glsl +0 -30
  86. package/dist/factory/unit/glsl/wall/vertexShader.glsl +0 -6
  87. package/dist/factory/unit/handle.js +0 -132
  88. package/dist/factory/unit/handle.js.map +0 -1
  89. package/dist/factory/unit/index.js +0 -264
  90. package/dist/factory/unit/index.js.map +0 -1
  91. package/dist/factory/unit/inspection/InspectionObject.js +0 -608
  92. package/dist/factory/unit/inspection/InspectionObject.js.map +0 -1
  93. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +0 -382
  94. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +0 -1
  95. package/dist/factory/unit/inspection/index.js +0 -379
  96. package/dist/factory/unit/inspection/index.js.map +0 -1
  97. package/dist/factory/unit/inspection/lineData.js +0 -44
  98. package/dist/factory/unit/inspection/lineData.js.map +0 -1
  99. package/dist/factory/unit/inspection/map.js +0 -67
  100. package/dist/factory/unit/inspection/map.js.map +0 -1
  101. package/dist/factory/unit/inspection/tubeGeometry.js +0 -152
  102. package/dist/factory/unit/inspection/tubeGeometry.js.map +0 -1
  103. package/dist/factory/unit/layer/rise.js +0 -142
  104. package/dist/factory/unit/layer/rise.js.map +0 -1
  105. package/dist/factory/unit/line.js +0 -96
  106. package/dist/factory/unit/line.js.map +0 -1
  107. package/dist/factory/unit/poi.js.map +0 -1
  108. package/dist/factory/unit/region.js +0 -72
  109. package/dist/factory/unit/region.js.map +0 -1
  110. package/dist/factory/unit/slice.js +0 -122
  111. package/dist/factory/unit/slice.js.map +0 -1
  112. package/dist/factory/unit/wall.js +0 -119
  113. package/dist/factory/unit/wall.js.map +0 -1
  114. package/dist/factory/utils/areaBoundingBox.js +0 -54
  115. package/dist/factory/utils/areaBoundingBox.js.map +0 -1
  116. package/dist/factory/utils/constant.js +0 -15
  117. package/dist/factory/utils/constant.js.map +0 -1
  118. package/dist/factory/utils/finirMaterial.js +0 -56
  119. package/dist/factory/utils/finirMaterial.js.map +0 -1
  120. package/dist/factory/utils/fontMesh.js +0 -49
  121. package/dist/factory/utils/fontMesh.js.map +0 -1
  122. package/dist/factory/utils/ground.js +0 -65
  123. package/dist/factory/utils/ground.js.map +0 -1
  124. package/dist/factory/utils/index.js +0 -24
  125. package/dist/factory/utils/index.js.map +0 -1
  126. package/dist/factory/utils/observe.js +0 -23
  127. package/dist/factory/utils/observe.js.map +0 -1
  128. package/dist/factory/utils/switchMaterial.js +0 -110
  129. package/dist/factory/utils/switchMaterial.js.map +0 -1
  130. package/dist/module/environment/time/index.js +0 -28
  131. package/dist/module/environment/time/index.js.map +0 -1
  132. package/dist/module/environment/weather/type.js +0 -28
  133. package/dist/module/environment/weather/type.js.map +0 -1
  134. package/dist/module/model/index.js.map +0 -1
  135. /package/dist/{factory → module/entity/area}/type.js +0 -0
@@ -1,24 +1,25 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["materials"];
3
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
3
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
5
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
6
5
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
7
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
8
7
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
12
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13
8
  function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
14
9
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
15
10
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
11
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
12
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
13
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
17
14
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
18
15
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
19
16
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
20
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
21
18
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
+ import _ from 'lodash';
20
+ import { utils } from '@anov/3d-core';
21
+ import { MessageType, sendToMessage } from "../../utils/messageFn";
22
+ import { EMessageStatus } from "../../messageStatus";
22
23
  var EObjectType = /*#__PURE__*/function (EObjectType) {
23
24
  EObjectType["camera"] = "camera";
24
25
  EObjectType["environment"] = "environment";
@@ -28,154 +29,227 @@ var EObjectType = /*#__PURE__*/function (EObjectType) {
28
29
  EObjectType["entity"] = "entity";
29
30
  return EObjectType;
30
31
  }(EObjectType || {});
32
+ var emitter = utils.emitter;
31
33
  var FileParse = /*#__PURE__*/function () {
32
- function FileParse(app, json) {
34
+ function FileParse(app) {
33
35
  _classCallCheck(this, FileParse);
34
36
  _defineProperty(this, "app", void 0);
35
37
  _defineProperty(this, "json", void 0);
38
+ _defineProperty(this, "scene", void 0);
39
+ _defineProperty(this, "modelProgress", void 0);
36
40
  this.app = app;
37
- this.json = json;
41
+ this.modelProgress = new Map();
38
42
  }
39
43
 
40
- // 解析场景节点
44
+ // 解析场景
41
45
  _createClass(FileParse, [{
42
46
  key: "parseScene",
43
- value: function parseScene() {
44
- var _this$json = this.json,
45
- scene = _this$json.scene,
46
- scenes = _this$json.scenes;
47
- var currentScene = scenes[scene];
48
- if (!currentScene) {
47
+ value: function parseScene(json) {
48
+ this.json = json;
49
+ var index = json.scene,
50
+ scenes = json.scenes,
51
+ nodes = json.nodes;
52
+ var sceneNode = scenes[index];
53
+ if (!sceneNode) {
49
54
  console.error('Invalid scene or nodeIndex.');
50
55
  return;
51
56
  }
52
- var nodes = currentScene.nodeIndex,
53
- environment = currentScene.environment;
54
- environment && this.parseEnvironment(environment);
55
- this.parseNodes(nodes);
57
+ try {
58
+ // 递归解析节点并计算模型节点的数量
59
+ var _this$parseNode = this.parseNode(sceneNode.nodeIndex, nodes, 0),
60
+ modelCount = _this$parseNode.modelCount,
61
+ parsedNodes = _this$parseNode.nodes;
62
+ this.scene = _objectSpread(_objectSpread({
63
+ index: index
64
+ }, sceneNode), {}, {
65
+ nodes: parsedNodes.filter(Boolean),
66
+ modelCount: modelCount // 计算模型节点数量并放到 scene 对象中
67
+ });
68
+ this.scene.environment && this.setEnvironment(this.scene.environment);
69
+ this.addListener();
70
+ return this.addNodes(this.scene.nodes);
71
+ } catch (error) {
72
+ return false;
73
+ }
56
74
  }
57
75
 
58
- // 解析环境
76
+ // 递归解析节点,并计算模型节点数量
77
+ }, {
78
+ key: "parseNode",
79
+ value: function parseNode(indexes, nodes, modelCount) {
80
+ var _this = this;
81
+ var result = {
82
+ modelCount: modelCount,
83
+ nodes: []
84
+ };
85
+ indexes.forEach(function (index) {
86
+ var node = nodes[index];
87
+ if (!node) {
88
+ console.warn("Node with index ".concat(index, " not found."));
89
+ return;
90
+ }
91
+ if (node.type === EObjectType.camera) return;
92
+
93
+ // 如果是 'model' 类型的节点,增加计数
94
+ if (node.type === 'model') result.modelCount++;
95
+
96
+ // 如果节点有子节点,递归处理
97
+ var childModelCount = result.modelCount;
98
+ if (node.children) {
99
+ var childResult = _this.parseNode(node.children, nodes, childModelCount);
100
+ result.modelCount = childResult.modelCount;
101
+ result.nodes.push(_objectSpread(_objectSpread({}, node), {}, {
102
+ children: childResult.nodes.filter(Boolean)
103
+ }));
104
+ } else {
105
+ result.nodes.push(node);
106
+ }
107
+ });
108
+ return result;
109
+ }
110
+ }, {
111
+ key: "addNodes",
112
+ value: function () {
113
+ var _addNodes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(nodes) {
114
+ var _this2 = this;
115
+ var result;
116
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
117
+ while (1) switch (_context.prev = _context.next) {
118
+ case 0:
119
+ result = nodes.map(function (node) {
120
+ return _this2.addSingelNode(node);
121
+ });
122
+ return _context.abrupt("return", Promise.all(result));
123
+ case 2:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }, _callee);
128
+ }));
129
+ function addNodes(_x) {
130
+ return _addNodes.apply(this, arguments);
131
+ }
132
+ return addNodes;
133
+ }() // 解析环境
59
134
  }, {
60
- key: "parseEnvironment",
61
- value: function parseEnvironment(params) {
135
+ key: "setEnvironment",
136
+ value: function setEnvironment(params) {
62
137
  var time = params.time,
63
138
  weather = params.weather;
64
139
  var environmentManage = this.app[EObjectType.environment];
65
- weather && environmentManage.setWeather({
66
- weatherType: weather.type
67
- });
68
- time && environmentManage.setTime({
69
- time: time.hour * 100
140
+ var hour = 12;
141
+ if (time !== null && time !== void 0 && time.value) {
142
+ environmentManage.setTime({
143
+ time: time.value
144
+ });
145
+ var timeRange = this.timeToRange2400(time.value);
146
+ if (timeRange) hour = timeRange.hour;
147
+ // environmentManage.setTime({ time: timeRange.dateTime })
148
+ }
149
+ if (weather !== null && weather !== void 0 && weather.type) environmentManage.setWeather({
150
+ weatherType: weather.type,
151
+ time: hour
70
152
  });
71
153
  }
72
154
 
73
- // 解析nodes节点
74
- }, {
75
- key: "parseNodes",
76
- value: function parseNodes(nodes) {
77
- var _this = this;
78
- // 解析节点
79
- nodes && nodes.forEach( /*#__PURE__*/function () {
80
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(nodeIndex) {
81
- return _regeneratorRuntime().wrap(function _callee$(_context) {
82
- while (1) switch (_context.prev = _context.next) {
83
- case 0:
84
- _context.next = 2;
85
- return _this.parseSingleNode(nodeIndex);
86
- case 2:
87
- case "end":
88
- return _context.stop();
89
- }
90
- }, _callee);
91
- }));
92
- return function (_x) {
93
- return _ref.apply(this, arguments);
94
- };
95
- }());
96
- }
97
-
98
155
  // 解析单个节点
99
156
  }, {
100
- key: "parseSingleNode",
157
+ key: "addSingelNode",
101
158
  value: function () {
102
- var _parseSingleNode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(nodeIndex) {
103
- var node, isDefineType, nodeObject, params, initialResult;
159
+ var _addSingelNode = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(node) {
160
+ var _this3 = this;
161
+ var isDefineType, nodeObject, params, childPromises, childNodes, initialResult;
104
162
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
105
163
  while (1) switch (_context2.prev = _context2.next) {
106
164
  case 0:
107
- node = this.json.nodes[nodeIndex];
108
- if (node) {
109
- _context2.next = 4;
110
- break;
111
- }
112
- console.error("Node with index ".concat(nodeIndex, " not found"));
113
- return _context2.abrupt("return");
114
- case 4:
115
- if (!(node.type === 'camera')) {
116
- _context2.next = 6;
117
- break;
118
- }
119
- return _context2.abrupt("return");
120
- case 6:
121
165
  isDefineType = this.isEnumValue(EObjectType, node.type);
122
166
  nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity];
123
167
  if (nodeObject) {
124
- _context2.next = 11;
168
+ _context2.next = 5;
125
169
  break;
126
170
  }
127
171
  console.error("Unknown node type: ".concat(node.type));
128
172
  return _context2.abrupt("return");
129
- case 11:
130
- params = this.getNodeObjectParams(node);
173
+ case 5:
174
+ params = _.clone(node);
131
175
  if (!(node.type === 'group' && node.children)) {
132
- _context2.next = 16;
176
+ _context2.next = 12;
133
177
  break;
134
178
  }
135
- _context2.next = 15;
136
- return this.parseGroup(node);
137
- case 15:
138
- params.children = _context2.sent;
139
- case 16:
140
- _context2.next = 18;
179
+ childPromises = node.children.map(function (childIndex) {
180
+ return _this3.addSingelNode(childIndex);
181
+ });
182
+ _context2.next = 10;
183
+ return Promise.all(childPromises);
184
+ case 10:
185
+ childNodes = _context2.sent;
186
+ params.children = childNodes.map(function (child) {
187
+ return child.id;
188
+ });
189
+ case 12:
190
+ _context2.next = 14;
141
191
  return nodeObject.create(params);
142
- case 18:
192
+ case 14:
143
193
  initialResult = _context2.sent;
144
- _context2.next = 21;
194
+ _context2.next = 17;
145
195
  return initialResult.asyncTask;
146
- case 21:
196
+ case 17:
147
197
  return _context2.abrupt("return", node);
148
- case 22:
198
+ case 18:
149
199
  case "end":
150
200
  return _context2.stop();
151
201
  }
152
202
  }, _callee2, this);
153
203
  }));
154
- function parseSingleNode(_x2) {
155
- return _parseSingleNode.apply(this, arguments);
204
+ function addSingelNode(_x2) {
205
+ return _addSingelNode.apply(this, arguments);
156
206
  }
157
- return parseSingleNode;
158
- }() // 获取节点参数
207
+ return addSingelNode;
208
+ }()
159
209
  }, {
160
- key: "getNodeObjectParams",
161
- value: function getNodeObjectParams(node) {
162
- var _this2 = this;
163
- var materials = node.materials,
164
- rest = _objectWithoutProperties(node, _excluded);
165
- var params = rest;
210
+ key: "addListener",
211
+ value: function addListener() {
212
+ var _this4 = this;
213
+ emitter.on('model-loading-progress', function (data) {
214
+ var id = data.id,
215
+ progress = data.progress;
216
+ _this4.modelProgress.set(id, progress);
217
+
218
+ // 更新累积进度
219
+ var progressValue = Array.from(_this4.modelProgress.values()).reduce(function (sum, currentProgress) {
220
+ return sum + currentProgress;
221
+ }, 0);
222
+ // 计算进度
223
+ var totalProgress = progressValue / _this4.scene.modelCount;
224
+ sendToMessage({
225
+ messageType: MessageType.Event,
226
+ messageName: 'onProgress',
227
+ status: EMessageStatus.Success,
228
+ global: false
229
+ }, {
230
+ progress: totalProgress
231
+ });
232
+ });
233
+ }
234
+
235
+ // 获取节点参数
236
+ }, {
237
+ key: "setMaterialParams",
238
+ value: function setMaterialParams(node) {
239
+ var _this5 = this;
240
+ var materials = node.materials;
166
241
  // 处理材质节点
167
242
  if (materials) {
168
243
  var updatedMaterials = materials.map(function (item) {
169
- var material = _this2.getMaterialNode(item.material);
244
+ var material = _this5.getMaterialNode(item.material);
170
245
  if (material) return _objectSpread(_objectSpread({}, item), {}, {
171
246
  materialId: material.materialId
172
247
  });
173
248
  }).filter(Boolean);
174
- params.override = {
249
+ node.override = {
175
250
  materials: updatedMaterials
176
251
  };
177
252
  }
178
- return params;
179
253
  }
180
254
  }, {
181
255
  key: "getMaterialNode",
@@ -183,38 +257,6 @@ var FileParse = /*#__PURE__*/function () {
183
257
  var materials = this.json.materials;
184
258
  return materials && materials.length > index ? materials[index] : null;
185
259
  }
186
-
187
- // 解析组节点
188
- }, {
189
- key: "parseGroup",
190
- value: function () {
191
- var _parseGroup = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {
192
- var _this3 = this;
193
- var childPromises, childNodes;
194
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
195
- while (1) switch (_context3.prev = _context3.next) {
196
- case 0:
197
- childPromises = node.children.map(function (childIndex) {
198
- return _this3.parseSingleNode(childIndex);
199
- });
200
- _context3.next = 3;
201
- return Promise.all(childPromises);
202
- case 3:
203
- childNodes = _context3.sent;
204
- return _context3.abrupt("return", childNodes.map(function (child) {
205
- return child.id;
206
- }));
207
- case 5:
208
- case "end":
209
- return _context3.stop();
210
- }
211
- }, _callee3);
212
- }));
213
- function parseGroup(_x3) {
214
- return _parseGroup.apply(this, arguments);
215
- }
216
- return parseGroup;
217
- }()
218
260
  }, {
219
261
  key: "isEnumValue",
220
262
  value: function isEnumValue(enumObj, value) {
@@ -233,16 +275,74 @@ var FileParse = /*#__PURE__*/function () {
233
275
  // 分离小时和分钟
234
276
  var _time$split$map = time.split(':').map(Number),
235
277
  _time$split$map2 = _slicedToArray(_time$split$map, 2),
236
- hours = _time$split$map2[0],
237
- minutes = _time$split$map2[1];
278
+ hour = _time$split$map2[0],
279
+ minute = _time$split$map2[1];
238
280
 
239
281
  // 特殊处理 24:00
240
- if (hours === 24 && minutes === 0) return 2400;
282
+ if (hour === 24 && minute === 0) return {
283
+ hour: hour,
284
+ minute: minute,
285
+ dateTime: 2400
286
+ };
241
287
 
242
288
  // 计算转换后的值
243
- var result = hours * 100 + minutes / 60 * 100;
244
- return result;
289
+ var dateTime = hour * 100 + minute / 60 * 100;
290
+ return {
291
+ hour: hour,
292
+ minute: minute,
293
+ dateTime: dateTime
294
+ };
245
295
  }
296
+ }, {
297
+ key: "clean",
298
+ value: function () {
299
+ var _clean = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
300
+ var _this$scene$nodes,
301
+ _this6 = this;
302
+ var result;
303
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
304
+ while (1) switch (_context4.prev = _context4.next) {
305
+ case 0:
306
+ result = (_this$scene$nodes = this.scene.nodes) === null || _this$scene$nodes === void 0 ? void 0 : _this$scene$nodes.map( /*#__PURE__*/function () {
307
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(node) {
308
+ var isDefineType, nodeObject;
309
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
310
+ while (1) switch (_context3.prev = _context3.next) {
311
+ case 0:
312
+ isDefineType = _this6.isEnumValue(EObjectType, node.type);
313
+ nodeObject = isDefineType ? _this6.app[node.type] : _this6.app[EObjectType.entity];
314
+ return _context3.abrupt("return", nodeObject.delete(node));
315
+ case 3:
316
+ case "end":
317
+ return _context3.stop();
318
+ }
319
+ }, _callee3);
320
+ }));
321
+ return function (_x3) {
322
+ return _ref.apply(this, arguments);
323
+ };
324
+ }());
325
+ this.setEnvironment({
326
+ weather: {
327
+ type: 'Sunny'
328
+ },
329
+ time: {
330
+ value: '12:00'
331
+ }
332
+ });
333
+ this.modelProgress.clear();
334
+ return _context4.abrupt("return", Promise.all(result));
335
+ case 4:
336
+ case "end":
337
+ return _context4.stop();
338
+ }
339
+ }, _callee4, this);
340
+ }));
341
+ function clean() {
342
+ return _clean.apply(this, arguments);
343
+ }
344
+ return clean;
345
+ }()
246
346
  }]);
247
347
  return FileParse;
248
348
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","EObjectType","FileParse","app","json","parseScene","_this$json","scene","scenes","currentScene","console","nodes","nodeIndex","environment","parseEnvironment","parseNodes","params","time","weather","environmentManage","setWeather","weatherType","setTime","hour","_this","_ref","_callee","_callee$","_context","parseSingleNode","_x","_parseSingleNode","_callee2","node","isDefineType","nodeObject","initialResult","_callee2$","_context2","concat","isEnumValue","entity","getNodeObjectParams","children","parseGroup","asyncTask","_x2","_this2","materials","rest","_objectWithoutProperties","_excluded","updatedMaterials","map","item","material","getMaterialNode","_objectSpread","materialId","filter","Boolean","override","index","_parseGroup","_callee3","_this3","childPromises","childNodes","_callee3$","_context3","childIndex","all","child","id","_x3","enumObj","includes","timeToRange2400","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","hours","minutes","result"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import type Anov3D from '../../sdkEntry'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\n\nclass FileParse {\n app: Anov3D\n json: any\n constructor(app: Anov3D, json) {\n this.app = app\n this.json = json\n }\n\n // 解析场景节点\n parseScene() {\n const { scene, scenes } = this.json\n const currentScene = scenes[scene]\n\n if (!currentScene) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n\n const { nodeIndex: nodes, environment } = currentScene\n\n environment && this.parseEnvironment(environment)\n this.parseNodes(nodes)\n }\n\n // 解析环境\n parseEnvironment(params) {\n const { time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n weather && environmentManage.setWeather({ weatherType: weather.type })\n time && environmentManage.setTime({ time: time.hour * 100 })\n }\n\n // 解析nodes节点\n parseNodes(nodes) {\n // 解析节点\n nodes && nodes.forEach(async (nodeIndex) => {\n await this.parseSingleNode(nodeIndex)\n })\n }\n\n // 解析单个节点\n async parseSingleNode(nodeIndex) {\n const node = this.json.nodes[nodeIndex]\n\n if (!node) {\n console.error(`Node with index ${nodeIndex} not found`)\n return\n }\n // 场景在初始化场景的时候 已经解析\n if (node.type === 'camera')\n return\n\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = this.getNodeObjectParams(node)\n if (node.type === 'group' && node.children)\n params.children = await this.parseGroup(node)\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n // 获取节点参数\n getNodeObjectParams(node) {\n const { materials, ...rest } = node\n const params = rest\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n params.override = { materials: updatedMaterials }\n }\n\n return params\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n // 解析组节点\n async parseGroup(node) {\n const childPromises = node.children.map(childIndex => this.parseSingleNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n return childNodes.map(child => child.id)\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hours, minutes] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hours === 24 && minutes === 0)\n return 2400\n\n // 计算转换后的值\n const result = hours * 100 + (minutes / 60) * 100\n\n return result\n }\n}\n\nexport default FileParse"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","_","utils","MessageType","sendToMessage","EMessageStatus","EObjectType","emitter","FileParse","app","modelProgress","Map","parseScene","json","index","scene","scenes","nodes","sceneNode","console","_this$parseNode","parseNode","nodeIndex","modelCount","parsedNodes","Boolean","environment","setEnvironment","addListener","addNodes","indexes","_this","result","node","warn","concat","camera","childModelCount","children","childResult","_addNodes","_callee","_this2","_callee$","_context","map","addSingelNode","all","_x","params","time","weather","environmentManage","hour","setTime","timeRange","timeToRange2400","setWeather","weatherType","_addSingelNode","_callee2","_this3","isDefineType","nodeObject","childPromises","childNodes","initialResult","_callee2$","_context2","isEnumValue","entity","clone","childIndex","child","id","asyncTask","_x2","_this4","on","data","progress","set","progressValue","Array","from","reduce","sum","currentProgress","totalProgress","messageType","Event","messageName","status","Success","global","setMaterialParams","_this5","materials","updatedMaterials","item","material","getMaterialNode","materialId","override","enumObj","includes","timePattern","test","_time$split$map","split","_time$split$map2","_slicedToArray","minute","dateTime","_clean","_callee4","_this$scene$nodes","_this6","_callee4$","_context4","_ref","_callee3","_callee3$","_context3","delete","_x3","clear","clean"],"sources":["../../../src/module/scene/fileParse.ts"],"sourcesContent":["import _ from 'lodash'\nimport { utils } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\n\nenum EObjectType {\n 'camera' = 'camera',\n 'environment' = 'environment',\n 'scene' = 'scene',\n 'animation' = 'animation',\n 'material' = 'material',\n 'entity' = 'entity',\n}\nconst { emitter } = utils\n\nclass FileParse {\n app: Anov3D\n json: any\n scene: any\n modelProgress: Map<string, number>\n constructor(app: Anov3D) {\n this.app = app\n this.modelProgress = new Map()\n }\n\n // 解析场景\n parseScene(json) {\n this.json = json\n const { scene: index, scenes, nodes } = json\n const sceneNode = scenes[index]\n if (!sceneNode) {\n console.error('Invalid scene or nodeIndex.')\n return\n }\n try {\n // 递归解析节点并计算模型节点的数量\n const { modelCount, nodes: parsedNodes } = this.parseNode(sceneNode.nodeIndex, nodes, 0)\n\n this.scene = {\n index,\n ...sceneNode,\n nodes: parsedNodes.filter(Boolean),\n modelCount, // 计算模型节点数量并放到 scene 对象中\n }\n this.scene.environment && this.setEnvironment(this.scene.environment)\n this.addListener()\n return this.addNodes(this.scene.nodes)\n }\n catch (error) {\n return false\n }\n }\n\n // 递归解析节点,并计算模型节点数量\n parseNode(indexes, nodes, modelCount) {\n const result = {\n modelCount,\n nodes: [],\n }\n\n indexes.forEach((index) => {\n const node = nodes[index]\n if (!node) {\n console.warn(`Node with index ${index} not found.`)\n return\n }\n\n if (node.type === EObjectType.camera)\n return\n\n // 如果是 'model' 类型的节点,增加计数\n if (node.type === 'model')\n result.modelCount++\n\n // 如果节点有子节点,递归处理\n const childModelCount = result.modelCount\n if (node.children) {\n const childResult = this.parseNode(node.children, nodes, childModelCount)\n result.modelCount = childResult.modelCount\n result.nodes.push({ ...node, children: childResult.nodes.filter(Boolean) })\n }\n else {\n result.nodes.push(node)\n }\n })\n\n return result\n }\n\n async addNodes(nodes) {\n const result = nodes.map((node) => {\n return this.addSingelNode(node)\n })\n\n return Promise.all(result)\n }\n\n // 解析环境\n setEnvironment(params) {\n const { time, weather } = params\n const environmentManage = this.app[EObjectType.environment]\n let hour = 12\n if (time?.value) {\n environmentManage.setTime({ time: time.value })\n const timeRange = this.timeToRange2400(time.value)\n if (timeRange)\n hour = timeRange.hour\n // environmentManage.setTime({ time: timeRange.dateTime })\n }\n if (weather?.type)\n environmentManage.setWeather({ weatherType: weather.type, time: hour })\n }\n\n // 解析单个节点\n async addSingelNode(node) {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n\n if (!nodeObject) {\n console.error(`Unknown node type: ${node.type}`)\n return\n }\n const params = _.clone(node)\n if (node.type === 'group' && node.children) {\n const childPromises = node.children.map(childIndex => this.addSingelNode(childIndex))\n const childNodes = await Promise.all(childPromises)\n params.children = childNodes.map(child => child.id)\n }\n\n // 判断逻辑:符合夸引擎调用逻辑,先通过initialResult表示调用成功,然后通过asyncTask表示执行成功\n const initialResult = await nodeObject.create(params)\n await initialResult.asyncTask\n return node\n }\n\n addListener() {\n emitter.on('model-loading-progress', (data: any) => {\n const { id, progress } = data\n this.modelProgress.set(id, progress)\n\n // 更新累积进度\n const progressValue = Array.from(this.modelProgress.values()).reduce((sum, currentProgress) => sum + currentProgress, 0)\n // 计算进度\n const totalProgress = progressValue / this.scene.modelCount\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onProgress',\n status: EMessageStatus.Success,\n global: false,\n },\n { progress: totalProgress })\n })\n }\n\n // 获取节点参数\n setMaterialParams(node) {\n const { materials } = node\n // 处理材质节点\n if (materials) {\n const updatedMaterials = materials.map((item) => {\n const material = this.getMaterialNode(item.material)\n if (material)\n return { ...item, materialId: material.materialId }\n }).filter(Boolean)\n node.override = { materials: updatedMaterials }\n }\n }\n\n getMaterialNode(index) {\n const materials = this.json.materials\n return (materials && materials.length > index) ? materials[index] : null\n }\n\n isEnumValue(enumObj, value) {\n return Object.values(enumObj).includes(value)\n }\n\n timeToRange2400(time) {\n // 检查输入时间格式是否正确,包括 24:00\n const timePattern = /^(?:([01]?\\d|2[0-3]):([0-5]\\d)|24:00)$/\n if (!timePattern.test(time)) {\n console.error('Invalid time format. Please use \"HH:MM\" format.')\n return null\n }\n\n // 分离小时和分钟\n const [hour, minute] = time.split(':').map(Number)\n\n // 特殊处理 24:00\n if (hour === 24 && minute === 0)\n return { hour, minute, dateTime: 2400 }\n\n // 计算转换后的值\n const dateTime = hour * 100 + (minute / 60) * 100\n\n return { hour, minute, dateTime }\n }\n\n async clean() {\n const result = this.scene.nodes?.map(async (node) => {\n const isDefineType = this.isEnumValue(EObjectType, node.type)\n const nodeObject = isDefineType ? this.app[node.type] : this.app[EObjectType.entity]\n return nodeObject.delete(node)\n })\n this.setEnvironment({\n weather: {\n type: 'Sunny',\n },\n time: {\n value: '12:00',\n },\n })\n this.modelProgress.clear()\n\n return Promise.all(result)\n }\n}\n\nexport default FileParse"],"mappings":"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"}