@anov/3d-ability 0.0.89 → 0.0.91

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 (112) hide show
  1. package/dist/business/Area/Fence/FenceBase.d.ts +3 -3
  2. package/dist/business/Area/Fence/FenceBase.js +6 -6
  3. package/dist/business/Area/Fence/FenceBase.js.map +1 -1
  4. package/dist/business/Area/Fence/fence_base_01.js +4 -3
  5. package/dist/business/Area/Fence/fence_base_01.js.map +1 -1
  6. package/dist/business/Area/Fence/fence_feeting_01.js +4 -3
  7. package/dist/business/Area/Fence/fence_feeting_01.js.map +1 -1
  8. package/dist/business/Area/Fence/fence_roll_01.js +4 -3
  9. package/dist/business/Area/Fence/fence_roll_01.js.map +1 -1
  10. package/dist/business/Area/FillArea/FillAreaBase.d.ts +3 -3
  11. package/dist/business/Area/FillArea/FillAreaBase.js +6 -6
  12. package/dist/business/Area/FillArea/FillAreaBase.js.map +1 -1
  13. package/dist/business/Area/index.js +4 -4
  14. package/dist/business/Area/index.js.map +1 -1
  15. package/dist/business/Area/type.d.ts +2 -2
  16. package/dist/business/Area/type.js.map +1 -1
  17. package/dist/business/Base/ObjectLayer.d.ts +2 -4
  18. package/dist/business/Base/ObjectLayer.js +3 -24
  19. package/dist/business/Base/ObjectLayer.js.map +1 -1
  20. package/dist/business/Batch/index.d.ts +4 -4
  21. package/dist/business/Batch/index.js +17 -17
  22. package/dist/business/Batch/index.js.map +1 -1
  23. package/dist/business/Flyline/bubble/CircleBubble.d.ts +3 -0
  24. package/dist/business/Flyline/bubble/CircleBubble.js +11 -0
  25. package/dist/business/Flyline/bubble/CircleBubble.js.map +1 -0
  26. package/dist/business/Flyline/bubble/index.d.ts +3 -0
  27. package/dist/business/Flyline/bubble/index.js +27 -0
  28. package/dist/business/Flyline/bubble/index.js.map +1 -0
  29. package/dist/business/Flyline/index.d.ts +23 -0
  30. package/dist/business/{Poi/Dom → Flyline}/index.js +142 -92
  31. package/dist/business/Flyline/index.js.map +1 -0
  32. package/dist/business/Flyline/line/ArcLine.d.ts +41 -0
  33. package/dist/business/Flyline/line/ArcLine.js +315 -0
  34. package/dist/business/Flyline/line/ArcLine.js.map +1 -0
  35. package/dist/business/Flyline/line/index.d.ts +4 -0
  36. package/dist/business/Flyline/line/index.js +28 -0
  37. package/dist/business/Flyline/line/index.js.map +1 -0
  38. package/dist/business/Flyline/type.d.ts +29 -0
  39. package/dist/business/Flyline/type.js +2 -0
  40. package/dist/business/Flyline/type.js.map +1 -0
  41. package/dist/business/MaterialSwitch/MaterialSwitchSystem.js.map +1 -1
  42. package/dist/business/Poi/index.d.ts +37 -3
  43. package/dist/business/Poi/index.js +345 -3
  44. package/dist/business/Poi/index.js.map +1 -1
  45. package/dist/business/Poi/{Plane/link → link}/Cylinder.d.ts +7 -4
  46. package/dist/business/Poi/{Plane/link → link}/Cylinder.js +29 -17
  47. package/dist/business/Poi/link/Cylinder.js.map +1 -0
  48. package/dist/business/Poi/{Plane/link → link}/Pyramid.d.ts +6 -4
  49. package/dist/business/Poi/{Plane/link → link}/Pyramid.js +23 -13
  50. package/dist/business/Poi/link/Pyramid.js.map +1 -0
  51. package/dist/business/Poi/link/index.d.ts +23 -0
  52. package/dist/business/Poi/{Plane/link → link}/index.js +35 -11
  53. package/dist/business/Poi/link/index.js.map +1 -0
  54. package/dist/business/Poi/particle/SingleCircle.d.ts +13 -0
  55. package/dist/business/Poi/{Plane/particle → particle}/SingleCircle.js +42 -21
  56. package/dist/business/Poi/particle/SingleCircle.js.map +1 -0
  57. package/dist/business/Poi/particle/index.d.ts +17 -0
  58. package/dist/business/Poi/{Plane/particle → particle}/index.js +30 -6
  59. package/dist/business/Poi/particle/index.js.map +1 -0
  60. package/dist/business/Poi/{Plane/shader → shader}/circle.d.ts +4 -0
  61. package/dist/business/Poi/shader/circle.js +15 -0
  62. package/dist/business/Poi/shader/circle.js.map +1 -0
  63. package/dist/business/Poi/shader/cylinder.js.map +1 -0
  64. package/dist/business/Poi/{Plane/title → title}/Border.d.ts +1 -1
  65. package/dist/business/Poi/{Plane/title → title}/Border.js +3 -3
  66. package/dist/business/Poi/title/Border.js.map +1 -0
  67. package/dist/business/Poi/{Plane/title → title}/Ellipse.d.ts +1 -1
  68. package/dist/business/Poi/{Plane/title → title}/Ellipse.js +3 -3
  69. package/dist/business/Poi/title/Ellipse.js.map +1 -0
  70. package/dist/business/Poi/title/index.d.ts +48 -0
  71. package/dist/business/Poi/{Plane/title → title}/index.js +142 -59
  72. package/dist/business/Poi/title/index.js.map +1 -0
  73. package/dist/business/Poi/tools.js.map +1 -0
  74. package/dist/business/Poi/{Plane/types.d.ts → types.d.ts} +7 -9
  75. package/dist/business/Poi/types.js.map +1 -0
  76. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.d.ts +4 -0
  77. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js +24 -3
  78. package/dist/business/TrafficComponents/RealismTraffic/RealismTraffic.js.map +1 -1
  79. package/dist/business/index.d.ts +1 -0
  80. package/dist/business/index.js +1 -0
  81. package/dist/business/index.js.map +1 -1
  82. package/package.json +1 -1
  83. package/dist/business/Poi/Dom/index.d.ts +0 -18
  84. package/dist/business/Poi/Dom/index.js.map +0 -1
  85. package/dist/business/Poi/Dom/types.d.ts +0 -6
  86. package/dist/business/Poi/Dom/types.js.map +0 -1
  87. package/dist/business/Poi/Plane/index.d.ts +0 -40
  88. package/dist/business/Poi/Plane/index.js +0 -354
  89. package/dist/business/Poi/Plane/index.js.map +0 -1
  90. package/dist/business/Poi/Plane/link/Cylinder.js.map +0 -1
  91. package/dist/business/Poi/Plane/link/Pyramid.js.map +0 -1
  92. package/dist/business/Poi/Plane/link/index.d.ts +0 -19
  93. package/dist/business/Poi/Plane/link/index.js.map +0 -1
  94. package/dist/business/Poi/Plane/particle/SingleCircle.d.ts +0 -9
  95. package/dist/business/Poi/Plane/particle/SingleCircle.js.map +0 -1
  96. package/dist/business/Poi/Plane/particle/index.d.ts +0 -13
  97. package/dist/business/Poi/Plane/particle/index.js.map +0 -1
  98. package/dist/business/Poi/Plane/shader/circle.js +0 -11
  99. package/dist/business/Poi/Plane/shader/circle.js.map +0 -1
  100. package/dist/business/Poi/Plane/shader/cylinder.js.map +0 -1
  101. package/dist/business/Poi/Plane/title/Border.js.map +0 -1
  102. package/dist/business/Poi/Plane/title/Ellipse.js.map +0 -1
  103. package/dist/business/Poi/Plane/title/index.d.ts +0 -36
  104. package/dist/business/Poi/Plane/title/index.js.map +0 -1
  105. package/dist/business/Poi/Plane/types.js +0 -2
  106. package/dist/business/Poi/Plane/types.js.map +0 -1
  107. package/dist/business/Poi/Utils/tools.js.map +0 -1
  108. /package/dist/business/Poi/{Plane/shader → shader}/cylinder.d.ts +0 -0
  109. /package/dist/business/Poi/{Plane/shader → shader}/cylinder.js +0 -0
  110. /package/dist/business/Poi/{Utils/tools.d.ts → tools.d.ts} +0 -0
  111. /package/dist/business/Poi/{Utils/tools.js → tools.js} +0 -0
  112. /package/dist/business/Poi/{Dom/types.js → types.js} +0 -0
@@ -0,0 +1,315 @@
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
+ 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; }
3
+ 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); } }
4
+ 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); }); }; }
5
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
+ 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); } }
7
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
9
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
10
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
12
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
15
+ 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; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
17
+ 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); }
18
+ import { ClampToEdgeWrapping, Color, DoubleSide, Mesh, MeshBasicMaterial, QuadraticBezierCurve3, RepeatWrapping, TextureLoader, TubeGeometry, Vector3, use } from '@anov/3d-core';
19
+ import ObjectLayer from "../../Base/ObjectLayer";
20
+ import { IMG } from "./index";
21
+ var CurveLine = /*#__PURE__*/function (_ObjectLayer) {
22
+ _inherits(CurveLine, _ObjectLayer);
23
+ var _super = _createSuper(CurveLine);
24
+ function CurveLine(params) {
25
+ var _this;
26
+ _classCallCheck(this, CurveLine);
27
+ _this = _super.call(this);
28
+ _defineProperty(_assertThisInitialized(_this), "_startPoint", void 0);
29
+ _defineProperty(_assertThisInitialized(_this), "_endPoint", void 0);
30
+ _defineProperty(_assertThisInitialized(_this), "_width", void 0);
31
+ _defineProperty(_assertThisInitialized(_this), "_color", void 0);
32
+ _defineProperty(_assertThisInitialized(_this), "_curve", void 0);
33
+ _defineProperty(_assertThisInitialized(_this), "_tiling", void 0);
34
+ _defineProperty(_assertThisInitialized(_this), "_duration", void 0);
35
+ _defineProperty(_assertThisInitialized(_this), "_loop", void 0);
36
+ _defineProperty(_assertThisInitialized(_this), "_delay", void 0);
37
+ _defineProperty(_assertThisInitialized(_this), "_material", void 0);
38
+ _defineProperty(_assertThisInitialized(_this), "_mesh", void 0);
39
+ _defineProperty(_assertThisInitialized(_this), "_readyPromise", void 0);
40
+ _defineProperty(_assertThisInitialized(_this), "_cancelAnimation", void 0);
41
+ var startPoint = params.startPoint,
42
+ endPoint = params.endPoint,
43
+ _params$width = params.width,
44
+ width = _params$width === void 0 ? 0.2 : _params$width,
45
+ _params$color = params.color,
46
+ color = _params$color === void 0 ? '#28FFD9' : _params$color,
47
+ _params$curve = params.curve,
48
+ curve = _params$curve === void 0 ? 0.6 : _params$curve,
49
+ _params$tiling = params.tiling,
50
+ tiling = _params$tiling === void 0 ? 1 : _params$tiling,
51
+ _params$duration = params.duration,
52
+ duration = _params$duration === void 0 ? 1 : _params$duration,
53
+ _params$loop = params.loop,
54
+ loop = _params$loop === void 0 ? true : _params$loop,
55
+ _params$delay = params.delay,
56
+ delay = _params$delay === void 0 ? 0 : _params$delay;
57
+ _this._startPoint = new Vector3().fromArray(startPoint);
58
+ _this._endPoint = new Vector3().fromArray(endPoint);
59
+ _this._width = width;
60
+ _this._color = color;
61
+ _this._curve = curve;
62
+ _this._tiling = tiling;
63
+ _this._duration = duration;
64
+ _this._loop = loop;
65
+ _this._delay = delay;
66
+ _this._readyPromise = _this.init();
67
+ return _this;
68
+ }
69
+ _createClass(CurveLine, [{
70
+ key: "width",
71
+ get: function get() {
72
+ return this._width;
73
+ },
74
+ set: function set(value) {
75
+ this._width = value;
76
+ this.destroy();
77
+ this.init();
78
+ }
79
+ }, {
80
+ key: "color",
81
+ get: function get() {
82
+ return this._color;
83
+ },
84
+ set: function set(value) {
85
+ this._color = value;
86
+ this._material.color = new Color(this._color);
87
+ }
88
+ }, {
89
+ key: "curve",
90
+ get: function get() {
91
+ return this._curve;
92
+ },
93
+ set: function set(value) {
94
+ this._curve = value;
95
+ this.destroy();
96
+ this.init();
97
+ }
98
+ }, {
99
+ key: "duration",
100
+ get: function get() {
101
+ if (this._duration <= 0) return 1;
102
+ return this._duration;
103
+ },
104
+ set: function set(value) {
105
+ this._duration = value;
106
+ }
107
+ }, {
108
+ key: "tiling",
109
+ get: function get() {
110
+ if (this._tiling <= 0) return 0;
111
+ return this._tiling;
112
+ },
113
+ set: function set(value) {
114
+ this._tiling = value;
115
+ }
116
+ }, {
117
+ key: "loop",
118
+ get: function get() {
119
+ return this._loop;
120
+ },
121
+ set: function set(value) {
122
+ this._loop = value;
123
+ }
124
+ }, {
125
+ key: "delay",
126
+ get: function get() {
127
+ return this._delay;
128
+ },
129
+ set: function set(value) {
130
+ this._delay = value;
131
+ }
132
+ }, {
133
+ key: "mesh",
134
+ get: function get() {
135
+ return this._mesh;
136
+ }
137
+ }, {
138
+ key: "ready",
139
+ get: function get() {
140
+ return this._readyPromise;
141
+ }
142
+ }, {
143
+ key: "init",
144
+ value: function () {
145
+ var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
146
+ var curve, texture, tube;
147
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
148
+ while (1) switch (_context.prev = _context.next) {
149
+ case 0:
150
+ curve = this.getCurve();
151
+ _context.next = 3;
152
+ return this.loadTexture(IMG);
153
+ case 3:
154
+ texture = _context.sent;
155
+ tube = new TubeGeometry(curve, 100, this.width, 2, false);
156
+ this._material = new MeshBasicMaterial({
157
+ color: this.color,
158
+ map: texture,
159
+ side: DoubleSide,
160
+ transparent: true // 透明
161
+ });
162
+ this._mesh = new Mesh(tube, this._material);
163
+ this.add(this._mesh);
164
+
165
+ // 动画
166
+ this.setupAnimation(texture);
167
+ return _context.abrupt("return", true);
168
+ case 10:
169
+ case "end":
170
+ return _context.stop();
171
+ }
172
+ }, _callee, this);
173
+ }));
174
+ function init() {
175
+ return _init.apply(this, arguments);
176
+ }
177
+ return init;
178
+ }()
179
+ }, {
180
+ key: "loadTexture",
181
+ value: function () {
182
+ var _loadTexture = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(path) {
183
+ var _this2 = this;
184
+ var textLoader;
185
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
186
+ while (1) switch (_context2.prev = _context2.next) {
187
+ case 0:
188
+ textLoader = new TextureLoader();
189
+ return _context2.abrupt("return", new Promise(function (resolve) {
190
+ var texture = textLoader.load(path, function () {
191
+ // 纹理加载完成后设置属性
192
+ // texture.center.set(0.5, 0.5) // 设置旋转中心为纹理中心
193
+ // texture.rotation = Math.PI / 2 // 旋转90度
194
+ texture.repeat.set(_this2.tiling, 2);
195
+ texture.offset.set(0, 0);
196
+ texture.wrapS = RepeatWrapping;
197
+ texture.wrapT = ClampToEdgeWrapping;
198
+ resolve(texture);
199
+ });
200
+ }));
201
+ case 2:
202
+ case "end":
203
+ return _context2.stop();
204
+ }
205
+ }, _callee2);
206
+ }));
207
+ function loadTexture(_x) {
208
+ return _loadTexture.apply(this, arguments);
209
+ }
210
+ return loadTexture;
211
+ }()
212
+ }, {
213
+ key: "setupAnimation",
214
+ value: function setupAnimation(texture) {
215
+ var _this3 = this;
216
+ var isAnimating = true;
217
+ var totalOffset = 0;
218
+ var lastTime = performance.now();
219
+ var isDelaying = false;
220
+ var delayStartTime = 0;
221
+ this._cancelAnimation = use.useframe(function () {
222
+ var currentTime = performance.now();
223
+ // 处理延迟状态
224
+ if (isDelaying) {
225
+ // 检查是否延迟时间已结束
226
+ if ((currentTime - delayStartTime) / 1000 >= _this3.delay) {
227
+ isDelaying = false;
228
+ // 重置偏移量计数和动画状态
229
+ totalOffset = 0;
230
+ isAnimating = true;
231
+ lastTime = currentTime;
232
+ }
233
+ return; // 在延迟期间不进行动画
234
+ }
235
+
236
+ // 如果不在动画中,直接返回
237
+ if (!isAnimating) return;
238
+ var deltaTime = currentTime - lastTime;
239
+ lastTime = currentTime;
240
+
241
+ // 使用 deltaTime 进行动画计算
242
+ var offsetPerFrame = deltaTime / (_this3.duration / _this3.tiling * 1000);
243
+ // 更新总偏移量
244
+ totalOffset += offsetPerFrame;
245
+
246
+ // 更新纹理偏移
247
+ texture.offset.x -= offsetPerFrame;
248
+
249
+ // 检查是否完成一次完整的UV移动
250
+ if (totalOffset >= 1) {
251
+ // 重置偏移量以确保精确的位置
252
+ totalOffset = 0;
253
+ texture.offset.x = 0;
254
+
255
+ // 如果不循环,则结束动画
256
+ if (!_this3.loop) {
257
+ isAnimating = false;
258
+ }
259
+ // 如果有延迟且需要循环,则开始延迟
260
+ else if (_this3.delay > 0) {
261
+ isDelaying = true;
262
+ delayStartTime = currentTime;
263
+ isAnimating = false; // 在延迟期间暂停动画
264
+ }
265
+ }
266
+ });
267
+ }
268
+ }, {
269
+ key: "getCurve",
270
+ value: function getCurve() {
271
+ // 计算起点和终点的中点
272
+ var midPoint = new Vector3((this._startPoint.x + this._endPoint.x) / 2, (this._startPoint.y + this._endPoint.y) / 2, (this._startPoint.z + this._endPoint.z) / 2);
273
+
274
+ // 计算起点和终点的方向向量
275
+ var direction = new Vector3().subVectors(this._endPoint, this._startPoint);
276
+
277
+ // 计算距离,用于确定弧的高度
278
+ var distance = direction.length();
279
+
280
+ // 使用arcFactor控制弧线的高度
281
+ var height = distance * this.curve;
282
+
283
+ // 计算控制点 - 在中点上方
284
+ var controlPoint = new Vector3().copy(midPoint).addScaledVector(new Vector3(0, 1, 0), height);
285
+
286
+ // 创建曲线
287
+ var curve = new QuadraticBezierCurve3(this._startPoint, controlPoint, this._endPoint);
288
+ return curve;
289
+ }
290
+ }, {
291
+ key: "destroy",
292
+ value: function destroy() {
293
+ this._cancelAnimation && this._cancelAnimation();
294
+ // 释放几何体资源
295
+ if (this._mesh) {
296
+ if (this._mesh.geometry) this._mesh.geometry.dispose();
297
+
298
+ // 释放材质资源
299
+ if (this._mesh.material) {
300
+ // 释放材质
301
+ if (Array.isArray(this._mesh.material)) this._mesh.material.forEach(function (material) {
302
+ return material.dispose();
303
+ });else this._mesh.material.dispose();
304
+ }
305
+
306
+ // 从场景中移除网格
307
+ this.remove(this._mesh);
308
+ this._mesh = null;
309
+ }
310
+ }
311
+ }]);
312
+ return CurveLine;
313
+ }(ObjectLayer);
314
+ export default CurveLine;
315
+ //# sourceMappingURL=ArcLine.js.map
@@ -0,0 +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","_inherits","subClass","superClass","_setPrototypeOf","bind","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf","result","NewTarget","Reflect","construct","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","sham","Proxy","Boolean","valueOf","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","ClampToEdgeWrapping","Color","DoubleSide","Mesh","MeshBasicMaterial","QuadraticBezierCurve3","RepeatWrapping","TextureLoader","TubeGeometry","Vector3","use","ObjectLayer","IMG","CurveLine","_ObjectLayer","_super","params","_this","startPoint","endPoint","_params$width","width","_params$color","color","_params$curve","curve","_params$tiling","tiling","_params$duration","duration","_params$loop","loop","_params$delay","delay","_startPoint","fromArray","_endPoint","_width","_color","_curve","_tiling","_duration","_loop","_delay","_readyPromise","init","get","set","destroy","_material","_mesh","_init","_callee","texture","tube","_callee$","_context","getCurve","loadTexture","map","side","transparent","add","setupAnimation","_loadTexture","_callee2","path","_this2","textLoader","_callee2$","_context2","load","repeat","offset","wrapS","wrapT","_x","_this3","isAnimating","totalOffset","lastTime","performance","now","isDelaying","delayStartTime","_cancelAnimation","useframe","currentTime","deltaTime","offsetPerFrame","x","midPoint","z","direction","subVectors","distance","height","controlPoint","copy","addScaledVector","geometry","dispose","material","Array","isArray","remove"],"sources":["../../../../src/business/Flyline/line/ArcLine.ts"],"sourcesContent":["import type { Texture } from '@anov/3d-core'\nimport { ClampToEdgeWrapping, Color, DoubleSide, Mesh, MeshBasicMaterial, QuadraticBezierCurve3, RepeatWrapping, TextureLoader, TubeGeometry, Vector3, use } from '@anov/3d-core'\nimport ObjectLayer from '../../Base/ObjectLayer'\nimport type { LineOption } from '../type'\nimport { IMG } from './index'\n\nclass CurveLine extends ObjectLayer {\n private _startPoint: Vector3\n private _endPoint: Vector3\n private _width: number\n private _color: string\n private _curve: number\n private _tiling: number\n private _duration: number\n private _loop: boolean\n private _delay: number\n\n private _material: MeshBasicMaterial\n private _mesh: Mesh\n private _readyPromise: Promise<boolean>\n private _cancelAnimation: Function\n\n public get width(): number {\n return this._width\n }\n\n public set width(value: number) {\n this._width = value\n this.destroy()\n this.init()\n }\n\n public get color(): string {\n return this._color\n }\n\n public set color(value: string) {\n this._color = value\n this._material.color = new Color(this._color)\n }\n\n public get curve(): number {\n return this._curve\n }\n\n public set curve(value: number) {\n this._curve = value\n this.destroy()\n this.init()\n }\n\n public get duration(): number {\n if (this._duration <= 0)\n return 1\n return this._duration\n }\n\n public set duration(value: number) {\n this._duration = value\n }\n\n public get tiling(): number {\n if (this._tiling <= 0)\n return 0\n return this._tiling\n }\n\n public set tiling(value: number) {\n this._tiling = value\n }\n\n public get loop(): boolean {\n return this._loop\n }\n\n public set loop(value: boolean) {\n this._loop = value\n }\n\n public get delay(): number {\n return this._delay\n }\n\n public set delay(value: number) {\n this._delay = value\n }\n\n public get mesh(): Mesh | null {\n return this._mesh\n }\n\n public get ready() {\n return this._readyPromise\n }\n\n constructor(params: LineOption) {\n super()\n const { startPoint, endPoint, width = 0.2, color = '#28FFD9', curve = 0.6, tiling = 1, duration = 1, loop = true, delay = 0 } = params\n this._startPoint = new Vector3().fromArray(startPoint)\n this._endPoint = new Vector3().fromArray(endPoint)\n this._width = width\n this._color = color\n this._curve = curve\n this._tiling = tiling\n this._duration = duration\n this._loop = loop\n this._delay = delay\n\n this._readyPromise = this.init()\n }\n\n private async init() {\n const curve = this.getCurve()\n\n const texture = await this.loadTexture(IMG)\n const tube = new TubeGeometry(curve, 100, this.width, 2, false)\n this._material = new MeshBasicMaterial({\n color: this.color,\n map: texture,\n side: DoubleSide,\n transparent: true, // 透明\n })\n this._mesh = new Mesh(tube, this._material)\n this.add(this._mesh)\n\n // 动画\n this.setupAnimation(texture)\n\n return true\n }\n\n private async loadTexture(path: string): Promise<Texture> {\n const textLoader = new TextureLoader()\n return new Promise((resolve) => {\n const texture = textLoader.load(path, () => {\n // 纹理加载完成后设置属性\n // texture.center.set(0.5, 0.5) // 设置旋转中心为纹理中心\n // texture.rotation = Math.PI / 2 // 旋转90度\n texture.repeat.set(this.tiling, 2)\n texture.offset.set(0, 0)\n texture.wrapS = RepeatWrapping\n texture.wrapT = ClampToEdgeWrapping\n resolve(texture)\n })\n })\n }\n\n private setupAnimation(texture: Texture) {\n let isAnimating = true\n let totalOffset = 0\n let lastTime = performance.now()\n let isDelaying = false\n let delayStartTime = 0\n\n this._cancelAnimation = use.useframe(() => {\n const currentTime = performance.now()\n // 处理延迟状态\n if (isDelaying) {\n // 检查是否延迟时间已结束\n if ((currentTime - delayStartTime) / 1000 >= this.delay) {\n isDelaying = false\n // 重置偏移量计数和动画状态\n totalOffset = 0\n isAnimating = true\n lastTime = currentTime\n }\n return // 在延迟期间不进行动画\n }\n\n // 如果不在动画中,直接返回\n if (!isAnimating)\n return\n\n const deltaTime = (currentTime - lastTime)\n lastTime = currentTime\n\n // 使用 deltaTime 进行动画计算\n const offsetPerFrame = (deltaTime / (this.duration / this.tiling * 1000))\n // 更新总偏移量\n totalOffset += offsetPerFrame\n\n // 更新纹理偏移\n texture.offset.x -= offsetPerFrame\n\n // 检查是否完成一次完整的UV移动\n if (totalOffset >= 1) {\n // 重置偏移量以确保精确的位置\n totalOffset = 0\n texture.offset.x = 0\n\n // 如果不循环,则结束动画\n if (!this.loop) {\n isAnimating = false\n }\n // 如果有延迟且需要循环,则开始延迟\n else if (this.delay > 0) {\n isDelaying = true\n delayStartTime = currentTime\n isAnimating = false // 在延迟期间暂停动画\n }\n }\n })\n }\n\n private getCurve() {\n // 计算起点和终点的中点\n const midPoint = new Vector3(\n (this._startPoint.x + this._endPoint.x) / 2,\n (this._startPoint.y + this._endPoint.y) / 2,\n (this._startPoint.z + this._endPoint.z) / 2,\n )\n\n // 计算起点和终点的方向向量\n const direction = new Vector3().subVectors(this._endPoint, this._startPoint)\n\n // 计算距离,用于确定弧的高度\n const distance = direction.length()\n\n // 使用arcFactor控制弧线的高度\n const height = distance * this.curve\n\n // 计算控制点 - 在中点上方\n const controlPoint = new Vector3()\n .copy(midPoint)\n .addScaledVector(new Vector3(0, 1, 0), height)\n\n // 创建曲线\n const curve = new QuadraticBezierCurve3(\n this._startPoint,\n controlPoint,\n this._endPoint,\n )\n return curve\n }\n\n destroy() {\n this._cancelAnimation && this._cancelAnimation()\n // 释放几何体资源\n if (this._mesh) {\n if (this._mesh.geometry)\n this._mesh.geometry.dispose()\n\n // 释放材质资源\n if (this._mesh.material) {\n // 释放材质\n if (Array.isArray(this._mesh.material))\n this._mesh.material.forEach(material => material.dispose())\n else\n this._mesh.material.dispose()\n }\n\n // 从场景中移除网格\n this.remove(this._mesh)\n this._mesh = null\n }\n }\n}\n\nexport default CurveLine"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const StrategyManage: {
2
+ arc: () => Promise<typeof import("./ArcLine").default>;
3
+ };
4
+ export declare const IMG = "data:image/png;base64,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";