@anov/3d-ability 0.0.98 → 0.0.100
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.
- package/dist/business/Base/ObjectLayer.d.ts +3 -3
- package/dist/business/Base/ObjectLayer.js +11 -4
- package/dist/business/Base/ObjectLayer.js.map +1 -1
- package/dist/business/Flyline/index.d.ts +1 -0
- package/dist/business/Flyline/index.js +2 -1
- package/dist/business/Flyline/index.js.map +1 -1
- package/dist/business/Flyline/line/ArcLine.js +3 -2
- package/dist/business/Flyline/line/ArcLine.js.map +1 -1
- package/dist/business/Mark/index.d.ts +29 -0
- package/dist/business/Mark/index.js +280 -0
- package/dist/business/Mark/index.js.map +1 -0
- package/dist/business/Mark/type.d.ts +29 -0
- package/dist/business/Mark/type.js +14 -0
- package/dist/business/Mark/type.js.map +1 -0
- package/dist/business/Poi/index.d.ts +1 -1
- package/dist/business/Poi/index.js +1 -5
- package/dist/business/Poi/index.js.map +1 -1
- package/dist/business/Poi/link/index.d.ts +1 -1
- package/dist/business/Poi/particle/DoubleCircle.d.ts +13 -0
- package/dist/business/Poi/particle/DoubleCircle.js +104 -0
- package/dist/business/Poi/particle/DoubleCircle.js.map +1 -0
- package/dist/business/Poi/particle/index.d.ts +1 -0
- package/dist/business/Poi/particle/index.js +20 -0
- package/dist/business/Poi/particle/index.js.map +1 -1
- package/dist/business/Poi/shader/doubleCircle.d.ts +14 -0
- package/dist/business/Poi/shader/doubleCircle.js +15 -0
- package/dist/business/Poi/shader/doubleCircle.js.map +1 -0
- package/dist/business/Poi/title/index.d.ts +1 -1
- package/dist/business/index.d.ts +1 -0
- package/dist/business/index.js +1 -0
- package/dist/business/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,280 @@
|
|
|
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 { AnimationClip, AnimationMixer, LoaderModule, LoopRepeat, NumberKeyframeTrack, VectorKeyframeTrack, utils } from '@anov/3d-core';
|
|
19
|
+
import _ from 'lodash';
|
|
20
|
+
import ObjectLayer from "../Base/ObjectLayer";
|
|
21
|
+
import { EAnimationType, ELevel } from "./type";
|
|
22
|
+
var DEFAULT_OPTION = {
|
|
23
|
+
uri: '',
|
|
24
|
+
// 统一资源标识符,既可以是code也是可以资源路径
|
|
25
|
+
level: 0,
|
|
26
|
+
animation: {
|
|
27
|
+
type: [EAnimationType.Rotate, EAnimationType.Bounce],
|
|
28
|
+
// 动画类型:"pulse"(脉冲)、"flash"(闪烁)、"bounce"(弹跳),默认"pulse"
|
|
29
|
+
duration: 1,
|
|
30
|
+
enable: true
|
|
31
|
+
},
|
|
32
|
+
bubble: {
|
|
33
|
+
uri: '',
|
|
34
|
+
visible: true,
|
|
35
|
+
scale: [1, 1, 1],
|
|
36
|
+
color: '#FFFFFF'
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
var MODEL_URI = './mark.glb';
|
|
40
|
+
var load = new LoaderModule();
|
|
41
|
+
var Mark = /*#__PURE__*/function (_ObjectLayer) {
|
|
42
|
+
_inherits(Mark, _ObjectLayer);
|
|
43
|
+
var _super = _createSuper(Mark);
|
|
44
|
+
function Mark(option) {
|
|
45
|
+
var _this;
|
|
46
|
+
_classCallCheck(this, Mark);
|
|
47
|
+
_this = _super.call(this);
|
|
48
|
+
_defineProperty(_assertThisInitialized(_this), "_uri", void 0);
|
|
49
|
+
_defineProperty(_assertThisInitialized(_this), "_level", void 0);
|
|
50
|
+
_defineProperty(_assertThisInitialized(_this), "_animation", void 0);
|
|
51
|
+
_defineProperty(_assertThisInitialized(_this), "_bubble", void 0);
|
|
52
|
+
_defineProperty(_assertThisInitialized(_this), "_readyPromise", void 0);
|
|
53
|
+
_defineProperty(_assertThisInitialized(_this), "_mesh", void 0);
|
|
54
|
+
_defineProperty(_assertThisInitialized(_this), "_mixer", void 0);
|
|
55
|
+
_defineProperty(_assertThisInitialized(_this), "_animations", new Map());
|
|
56
|
+
var param = _.mergeWith(DEFAULT_OPTION, option, _this.arrayMergeCustomizer);
|
|
57
|
+
var uri = param.uri,
|
|
58
|
+
animation = param.animation,
|
|
59
|
+
_param$level = param.level,
|
|
60
|
+
level = _param$level === void 0 ? ELevel.Low : _param$level,
|
|
61
|
+
bubble = param.bubble;
|
|
62
|
+
_this._uri = uri;
|
|
63
|
+
_this._animation = animation;
|
|
64
|
+
_this._level = level;
|
|
65
|
+
_this._bubble = bubble;
|
|
66
|
+
_this._mixer = new AnimationMixer(_assertThisInitialized(_this));
|
|
67
|
+
_this._readyPromise = _this.init();
|
|
68
|
+
return _this;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// 动画设置
|
|
72
|
+
_createClass(Mark, [{
|
|
73
|
+
key: "ready",
|
|
74
|
+
get: function get() {
|
|
75
|
+
return this._readyPromise;
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
key: "uri",
|
|
79
|
+
get: function get() {
|
|
80
|
+
return this._uri;
|
|
81
|
+
},
|
|
82
|
+
set: function set(value) {
|
|
83
|
+
this._uri = value;
|
|
84
|
+
}
|
|
85
|
+
}, {
|
|
86
|
+
key: "animation",
|
|
87
|
+
get: function get() {
|
|
88
|
+
return this._animation;
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "level",
|
|
92
|
+
get: function get() {
|
|
93
|
+
return this._level;
|
|
94
|
+
},
|
|
95
|
+
set: function set(value) {
|
|
96
|
+
this._level = value;
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "bubble",
|
|
100
|
+
get: function get() {
|
|
101
|
+
return this._bubble;
|
|
102
|
+
},
|
|
103
|
+
set: function set(value) {
|
|
104
|
+
this._bubble = value;
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "init",
|
|
108
|
+
value: function () {
|
|
109
|
+
var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
110
|
+
var _this2 = this;
|
|
111
|
+
var duration, types;
|
|
112
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
113
|
+
while (1) switch (_context.prev = _context.next) {
|
|
114
|
+
case 0:
|
|
115
|
+
_context.next = 2;
|
|
116
|
+
return this.loadModel(MODEL_URI);
|
|
117
|
+
case 2:
|
|
118
|
+
this._mesh = _context.sent;
|
|
119
|
+
this.add(this._mesh);
|
|
120
|
+
if (this.animation.enable) {
|
|
121
|
+
_context.next = 6;
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
return _context.abrupt("return", true);
|
|
125
|
+
case 6:
|
|
126
|
+
duration = this.animation.duration;
|
|
127
|
+
types = Array.isArray(this.animation.type) ? this.animation.type : [this.animation.type];
|
|
128
|
+
types.forEach(function (type) {
|
|
129
|
+
var tracks = _this2._createKeyframeTracks(type, duration);
|
|
130
|
+
var animationClip = new AnimationClip(type, duration, tracks);
|
|
131
|
+
var action = _this2._mixer.clipAction(animationClip);
|
|
132
|
+
|
|
133
|
+
// 配置动画Action
|
|
134
|
+
action.setLoop(LoopRepeat, 5000).clampWhenFinished = true;
|
|
135
|
+
_this2._animations.set(type, action);
|
|
136
|
+
return true;
|
|
137
|
+
});
|
|
138
|
+
case 9:
|
|
139
|
+
case "end":
|
|
140
|
+
return _context.stop();
|
|
141
|
+
}
|
|
142
|
+
}, _callee, this);
|
|
143
|
+
}));
|
|
144
|
+
function init() {
|
|
145
|
+
return _init.apply(this, arguments);
|
|
146
|
+
}
|
|
147
|
+
return init;
|
|
148
|
+
}()
|
|
149
|
+
}, {
|
|
150
|
+
key: "loadModel",
|
|
151
|
+
value: function loadModel(uri) {
|
|
152
|
+
return new Promise(function (resolve, reject) {
|
|
153
|
+
var _utils$storeManagemen;
|
|
154
|
+
load.loadGLTF({
|
|
155
|
+
url: uri,
|
|
156
|
+
autoBackward: false,
|
|
157
|
+
isCache: true,
|
|
158
|
+
draco: true,
|
|
159
|
+
dracoPath: (_utils$storeManagemen = utils.storeManagement.get('decoderPath')) !== null && _utils$storeManagemen !== void 0 ? _utils$storeManagemen : './draco/',
|
|
160
|
+
onLoad: function onLoad(gltf) {
|
|
161
|
+
resolve(gltf.scene);
|
|
162
|
+
},
|
|
163
|
+
onError: function onError() {
|
|
164
|
+
// eslint-disable-next-line prefer-promise-reject-errors
|
|
165
|
+
reject(null);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// 修复关键帧动画轨道
|
|
172
|
+
}, {
|
|
173
|
+
key: "_createKeyframeTracks",
|
|
174
|
+
value: function _createKeyframeTracks(type, duration) {
|
|
175
|
+
var tracks = [];
|
|
176
|
+
switch (type) {
|
|
177
|
+
case EAnimationType.Bounce:
|
|
178
|
+
tracks.push(new VectorKeyframeTrack('.position', [0, duration / 2, duration], [0, 0, 0, 0, 0.5, 0, 0, 0, 0]));
|
|
179
|
+
break;
|
|
180
|
+
case EAnimationType.Pulse:
|
|
181
|
+
tracks.push(new VectorKeyframeTrack('.scale', [0, duration / 2, duration], [1, 1, 1, 1.2, 1.2, 1.2, 1, 1, 1]));
|
|
182
|
+
break;
|
|
183
|
+
case EAnimationType.Rotate:
|
|
184
|
+
tracks.push(new NumberKeyframeTrack('.rotation[y]', [0, duration], [0, Math.PI * 2]));
|
|
185
|
+
break;
|
|
186
|
+
case EAnimationType.Flash:
|
|
187
|
+
tracks.push(new NumberKeyframeTrack('.material.opacity', [0, duration / 2, duration], [1, 0.2, 1]));
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
return tracks;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// 更新动画混合器
|
|
194
|
+
}, {
|
|
195
|
+
key: "update",
|
|
196
|
+
value: function () {
|
|
197
|
+
var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(delta) {
|
|
198
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
199
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
200
|
+
case 0:
|
|
201
|
+
_context2.next = 2;
|
|
202
|
+
return this.ready;
|
|
203
|
+
case 2:
|
|
204
|
+
if (this._mixer) this._mixer.update(delta);
|
|
205
|
+
case 3:
|
|
206
|
+
case "end":
|
|
207
|
+
return _context2.stop();
|
|
208
|
+
}
|
|
209
|
+
}, _callee2, this);
|
|
210
|
+
}));
|
|
211
|
+
function update(_x) {
|
|
212
|
+
return _update.apply(this, arguments);
|
|
213
|
+
}
|
|
214
|
+
return update;
|
|
215
|
+
}() // 播放动画
|
|
216
|
+
}, {
|
|
217
|
+
key: "play",
|
|
218
|
+
value: function () {
|
|
219
|
+
var _play = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(type) {
|
|
220
|
+
var animation;
|
|
221
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
222
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
223
|
+
case 0:
|
|
224
|
+
_context3.next = 2;
|
|
225
|
+
return this.ready;
|
|
226
|
+
case 2:
|
|
227
|
+
if (type) {
|
|
228
|
+
animation = this._animations.get(type);
|
|
229
|
+
animation === null || animation === void 0 || animation.reset().play();
|
|
230
|
+
} else {
|
|
231
|
+
this._animations.forEach(function (animation) {
|
|
232
|
+
animation.reset().play();
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
case 3:
|
|
236
|
+
case "end":
|
|
237
|
+
return _context3.stop();
|
|
238
|
+
}
|
|
239
|
+
}, _callee3, this);
|
|
240
|
+
}));
|
|
241
|
+
function play(_x2) {
|
|
242
|
+
return _play.apply(this, arguments);
|
|
243
|
+
}
|
|
244
|
+
return play;
|
|
245
|
+
}() // 播放动画
|
|
246
|
+
}, {
|
|
247
|
+
key: "stop",
|
|
248
|
+
value: function () {
|
|
249
|
+
var _stop = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(type) {
|
|
250
|
+
var animation;
|
|
251
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
252
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
253
|
+
case 0:
|
|
254
|
+
_context4.next = 2;
|
|
255
|
+
return this.ready;
|
|
256
|
+
case 2:
|
|
257
|
+
if (type) {
|
|
258
|
+
animation = this._animations.get(type);
|
|
259
|
+
animation === null || animation === void 0 || animation.stop();
|
|
260
|
+
} else {
|
|
261
|
+
this._animations.forEach(function (animation) {
|
|
262
|
+
animation.stop();
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
case 3:
|
|
266
|
+
case "end":
|
|
267
|
+
return _context4.stop();
|
|
268
|
+
}
|
|
269
|
+
}, _callee4, this);
|
|
270
|
+
}));
|
|
271
|
+
function stop(_x3) {
|
|
272
|
+
return _stop.apply(this, arguments);
|
|
273
|
+
}
|
|
274
|
+
return stop;
|
|
275
|
+
}()
|
|
276
|
+
}]);
|
|
277
|
+
return Mark;
|
|
278
|
+
}(ObjectLayer);
|
|
279
|
+
export { Mark, EAnimationType };
|
|
280
|
+
//# sourceMappingURL=index.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","AnimationClip","AnimationMixer","LoaderModule","LoopRepeat","NumberKeyframeTrack","VectorKeyframeTrack","utils","_","ObjectLayer","EAnimationType","ELevel","DEFAULT_OPTION","uri","level","animation","Rotate","Bounce","duration","enable","bubble","visible","scale","color","MODEL_URI","load","Mark","_ObjectLayer","_super","option","_this","Map","param","mergeWith","arrayMergeCustomizer","_param$level","Low","_uri","_animation","_level","_bubble","_mixer","_readyPromise","init","get","set","_init","_callee","_this2","types","_callee$","_context","loadModel","_mesh","add","Array","isArray","tracks","_createKeyframeTracks","animationClip","action","clipAction","setLoop","clampWhenFinished","_animations","_utils$storeManagemen","loadGLTF","url","autoBackward","isCache","draco","dracoPath","storeManagement","onLoad","gltf","scene","onError","Pulse","Math","PI","Flash","_update","_callee2","delta","_callee2$","_context2","ready","update","_x","_play","_callee3","_callee3$","_context3","play","_x2","_stop","_callee4","_callee4$","_context4","_x3"],"sources":["../../../src/business/Mark/index.ts"],"sourcesContent":["import type { AnimationAction, Group, KeyframeTrack, Mesh } from '@anov/3d-core'\nimport { AnimationClip, AnimationMixer, LoaderModule, LoopRepeat, NumberKeyframeTrack, VectorKeyframeTrack, utils } from '@anov/3d-core'\nimport _ from 'lodash'\nimport ObjectLayer from '../Base/ObjectLayer'\nimport type { AnimationOption, Option } from './type'\nimport { EAnimationType, ELevel } from './type'\n\nconst DEFAULT_OPTION = {\n uri: '', // 统一资源标识符,既可以是code也是可以资源路径\n level: 0,\n animation: {\n type: [EAnimationType.Rotate, EAnimationType.Bounce], // 动画类型:\"pulse\"(脉冲)、\"flash\"(闪烁)、\"bounce\"(弹跳),默认\"pulse\"\n duration: 1,\n enable: true,\n },\n bubble: {\n uri: '',\n visible: true,\n scale: [1, 1, 1],\n color: '#FFFFFF',\n },\n}\nconst MODEL_URI = './mark.glb'\nconst load = new LoaderModule()\n\nclass Mark extends ObjectLayer {\n private _uri: string\n private _level: ELevel\n private _animation: Option['animation']\n private _bubble: Option['bubble']\n\n private _readyPromise: Promise<boolean>\n private _mesh: Group\n private _mixer: AnimationMixer\n private _animations: Map<EAnimationType, AnimationAction> = new Map()\n\n public get ready() {\n return this._readyPromise\n }\n\n public get uri(): string {\n return this._uri\n }\n\n public set uri(value: string) {\n this._uri = value\n }\n\n public get animation(): AnimationOption {\n return this._animation\n }\n\n public get level(): ELevel {\n return this._level\n }\n\n public set level(value: ELevel) {\n this._level = value\n }\n\n public get bubble(): Option['bubble'] {\n return this._bubble\n }\n\n public set bubble(value: Option['bubble']) {\n this._bubble = value\n }\n\n constructor(option: Option) {\n super()\n\n const param = _.mergeWith(DEFAULT_OPTION, option, this.arrayMergeCustomizer)\n const { uri, animation, level = ELevel.Low, bubble } = param\n this._uri = uri\n this._animation = animation\n this._level = level\n this._bubble = bubble\n\n this._mixer = new AnimationMixer(this)\n this._readyPromise = this.init()\n }\n\n // 动画设置\n private async init() {\n this._mesh = await this.loadModel(MODEL_URI) as Group\n\n this.add(this._mesh)\n if (!this.animation.enable)\n return true\n\n const duration = this.animation.duration\n const types = Array.isArray(this.animation.type)\n ? this.animation.type\n : [this.animation.type]\n\n types.forEach((type) => {\n const tracks = this._createKeyframeTracks(type, duration)\n\n const animationClip = new AnimationClip(\n type,\n duration,\n tracks,\n )\n\n const action = this._mixer.clipAction(animationClip)\n\n // 配置动画Action\n action\n .setLoop(LoopRepeat, 5000)\n .clampWhenFinished = true\n\n this._animations.set(type, action)\n return true\n })\n }\n\n private loadModel(uri: string) {\n return new Promise((resolve, reject) => {\n load.loadGLTF({\n url: uri,\n autoBackward: false,\n isCache: true,\n draco: true,\n dracoPath: utils.storeManagement.get('decoderPath') ?? './draco/',\n onLoad: (gltf) => {\n resolve(gltf.scene)\n },\n onError: () => {\n // eslint-disable-next-line prefer-promise-reject-errors\n reject(null)\n },\n })\n })\n }\n\n // 修复关键帧动画轨道\n private _createKeyframeTracks(\n type: EAnimationType,\n duration: number,\n ): KeyframeTrack[] {\n const tracks: KeyframeTrack[] = []\n\n switch (type) {\n case EAnimationType.Bounce:\n tracks.push(\n new VectorKeyframeTrack(\n '.position',\n [0, duration / 2, duration],\n [0, 0, 0, 0, 0.5, 0, 0, 0, 0],\n ),\n )\n break\n case EAnimationType.Pulse:\n tracks.push(\n new VectorKeyframeTrack(\n '.scale',\n [0, duration / 2, duration],\n [1, 1, 1, 1.2, 1.2, 1.2, 1, 1, 1],\n ),\n )\n break\n case EAnimationType.Rotate:\n tracks.push(\n new NumberKeyframeTrack(\n '.rotation[y]',\n [0, duration],\n [0, Math.PI * 2],\n ),\n )\n break\n case EAnimationType.Flash:\n tracks.push(\n new NumberKeyframeTrack(\n '.material.opacity',\n [0, duration / 2, duration],\n [1, 0.2, 1],\n ),\n )\n break\n }\n\n return tracks\n }\n\n // 更新动画混合器\n public async update(delta: number) {\n await this.ready\n if (this._mixer)\n this._mixer.update(delta)\n }\n\n // 播放动画\n public async play(type?: EAnimationType) {\n await this.ready\n if (type) {\n const animation = this._animations.get(type)\n animation?.reset().play()\n }\n else {\n this._animations.forEach((animation) => {\n animation.reset().play()\n })\n }\n }\n\n // 播放动画\n public async stop(type?: EAnimationType) {\n await this.ready\n if (type) {\n const animation = this._animations.get(type)\n animation?.stop()\n }\n else {\n this._animations.forEach((animation) => {\n animation.stop()\n })\n }\n }\n}\n\nexport { Mark, EAnimationType }\n"],"mappings":";+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,mBAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAhF,GAAA,cAAAiF,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAAhF,GAAA,OAAApB,KAAA,GAAAqG,IAAA,CAAArG,KAAA,WAAAsG,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAvD,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAuD,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAA3B,OAAA,WAAAvC,OAAA,EAAAwD,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAR,MAAAlG,KAAA,IAAA+F,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAnG,KAAA,cAAAmG,OAAAU,GAAA,IAAAd,kBAAA,CAAAC,GAAA,EAAAvD,OAAA,EAAAwD,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAU,GAAA,KAAAX,KAAA,CAAAY,SAAA;AAAA,SAAAC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAA1D,SAAA;AAAA,SAAA2D,kBAAAC,MAAA,EAAAC,KAAA,aAAAnH,CAAA,MAAAA,CAAA,GAAAmH,KAAA,CAAA9C,MAAA,EAAArE,CAAA,UAAAoH,UAAA,GAAAD,KAAA,CAAAnH,CAAA,GAAAoH,UAAA,CAAA3G,UAAA,GAAA2G,UAAA,CAAA3G,UAAA,WAAA2G,UAAA,CAAA1G,YAAA,wBAAA0G,UAAA,EAAAA,UAAA,CAAAzG,QAAA,SAAAlB,MAAA,CAAAK,cAAA,CAAAoH,MAAA,EAAAG,cAAA,CAAAD,UAAA,CAAAjB,GAAA,GAAAiB,UAAA;AAAA,SAAAE,aAAAN,WAAA,EAAAO,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAN,iBAAA,CAAAD,WAAA,CAAAtH,SAAA,EAAA6H,UAAA,OAAAC,WAAA,EAAAP,iBAAA,CAAAD,WAAA,EAAAQ,WAAA,GAAA/H,MAAA,CAAAK,cAAA,CAAAkH,WAAA,iBAAArG,QAAA,mBAAAqG,WAAA;AAAA,SAAAS,UAAAC,QAAA,EAAAC,UAAA,eAAAA,UAAA,mBAAAA,UAAA,uBAAArE,SAAA,0DAAAoE,QAAA,CAAAhI,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAA6G,UAAA,IAAAA,UAAA,CAAAjI,SAAA,IAAA8E,WAAA,IAAAzE,KAAA,EAAA2H,QAAA,EAAA/G,QAAA,QAAAD,YAAA,aAAAjB,MAAA,CAAAK,cAAA,CAAA4H,QAAA,iBAAA/G,QAAA,gBAAAgH,UAAA,EAAAC,eAAA,CAAAF,QAAA,EAAAC,UAAA;AAAA,SAAAC,gBAAA/H,CAAA,EAAA+B,CAAA,IAAAgG,eAAA,GAAAnI,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAAkD,IAAA,cAAAD,gBAAA/H,CAAA,EAAA+B,CAAA,IAAA/B,CAAA,CAAA+E,SAAA,GAAAhD,CAAA,SAAA/B,CAAA,YAAA+H,eAAA,CAAA/H,CAAA,EAAA+B,CAAA;AAAA,SAAAkG,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,GAAAC,eAAA,CAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,GAAAF,eAAA,OAAA5D,WAAA,EAAA6D,MAAA,GAAAE,OAAA,CAAAC,SAAA,CAAAL,KAAA,EAAAzB,SAAA,EAAA4B,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAxB,KAAA,OAAAD,SAAA,YAAA+B,0BAAA,OAAAJ,MAAA;AAAA,SAAAI,2BAAAjC,IAAA,EAAApF,IAAA,QAAAA,IAAA,KAAAmB,OAAA,CAAAnB,IAAA,yBAAAA,IAAA,2BAAAA,IAAA,aAAAA,IAAA,yBAAAkC,SAAA,uEAAAoF,sBAAA,CAAAlC,IAAA;AAAA,SAAAkC,uBAAAlC,IAAA,QAAAA,IAAA,yBAAAmC,cAAA,wEAAAnC,IAAA;AAAA,SAAAyB,0BAAA,eAAAM,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAApJ,SAAA,CAAAqJ,OAAA,CAAA3H,IAAA,CAAAmH,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAxJ,CAAA;AAAA,SAAA8I,gBAAAvI,CAAA,IAAAuI,eAAA,GAAA3I,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAqC,cAAA,CAAA+F,IAAA,cAAAO,gBAAAvI,CAAA,WAAAA,CAAA,CAAA+E,SAAA,IAAAnF,MAAA,CAAAqC,cAAA,CAAAjC,CAAA,aAAAuI,eAAA,CAAAvI,CAAA;AAAA,SAAAmJ,gBAAAC,GAAA,EAAA9C,GAAA,EAAApG,KAAA,IAAAoG,GAAA,GAAAkB,cAAA,CAAAlB,GAAA,OAAAA,GAAA,IAAA8C,GAAA,IAAAxJ,MAAA,CAAAK,cAAA,CAAAmJ,GAAA,EAAA9C,GAAA,IAAApG,KAAA,EAAAA,KAAA,EAAAU,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAsI,GAAA,CAAA9C,GAAA,IAAApG,KAAA,WAAAkJ,GAAA;AAAA,SAAA5B,eAAA9H,CAAA,QAAAS,CAAA,GAAAkJ,YAAA,CAAA3J,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAmJ,MAAA,CAAAnJ,CAAA;AAAA,SAAAkJ,aAAA3J,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAmJ,WAAA,kBAAA9J,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAsD,SAAA,yEAAA9D,CAAA,GAAA2J,MAAA,GAAAE,MAAA,EAAA9J,CAAA;AAAA,SAAS+J,aAAa,EAAEC,cAAc,EAAEC,YAAY,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEC,KAAK,QAAQ,eAAe;AACxI,OAAOC,CAAC,MAAM,QAAQ;AACtB,OAAOC,WAAW;AAElB,SAASC,cAAc,EAAEC,MAAM;AAE/B,IAAMC,cAAc,GAAG;EACrBC,GAAG,EAAE,EAAE;EAAE;EACTC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE;IACTlJ,IAAI,EAAE,CAAC6I,cAAc,CAACM,MAAM,EAAEN,cAAc,CAACO,MAAM,CAAC;IAAE;IACtDC,QAAQ,EAAE,CAAC;IACXC,MAAM,EAAE;EACV,CAAC;EACDC,MAAM,EAAE;IACNP,GAAG,EAAE,EAAE;IACPQ,OAAO,EAAE,IAAI;IACbC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAChBC,KAAK,EAAE;EACT;AACF,CAAC;AACD,IAAMC,SAAS,GAAG,YAAY;AAC9B,IAAMC,IAAI,GAAG,IAAItB,YAAY,CAAC,CAAC;AAAA,IAEzBuB,IAAI,0BAAAC,YAAA;EAAAvD,SAAA,CAAAsD,IAAA,EAAAC,YAAA;EAAA,IAAAC,MAAA,GAAAnD,YAAA,CAAAiD,IAAA;EA2CR,SAAAA,KAAYG,MAAc,EAAE;IAAA,IAAAC,KAAA;IAAArE,eAAA,OAAAiE,IAAA;IAC1BI,KAAA,GAAAF,MAAA,CAAA7J,IAAA;IAAO4H,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA;IAAAnC,eAAA,CAAAN,sBAAA,CAAAyC,KAAA,kBAnCmD,IAAIC,GAAG,CAAC,CAAC;IAqCnE,IAAMC,KAAK,GAAGxB,CAAC,CAACyB,SAAS,CAACrB,cAAc,EAAEiB,MAAM,EAAEC,KAAA,CAAKI,oBAAoB,CAAC;IAC5E,IAAQrB,GAAG,GAA4CmB,KAAK,CAApDnB,GAAG;MAAEE,SAAS,GAAiCiB,KAAK,CAA/CjB,SAAS;MAAAoB,YAAA,GAAiCH,KAAK,CAApClB,KAAK;MAALA,KAAK,GAAAqB,YAAA,cAAGxB,MAAM,CAACyB,GAAG,GAAAD,YAAA;MAAEf,MAAM,GAAKY,KAAK,CAAhBZ,MAAM;IAClDU,KAAA,CAAKO,IAAI,GAAGxB,GAAG;IACfiB,KAAA,CAAKQ,UAAU,GAAGvB,SAAS;IAC3Be,KAAA,CAAKS,MAAM,GAAGzB,KAAK;IACnBgB,KAAA,CAAKU,OAAO,GAAGpB,MAAM;IAErBU,KAAA,CAAKW,MAAM,GAAG,IAAIvC,cAAc,CAAAb,sBAAA,CAAAyC,KAAA,CAAK,CAAC;IACtCA,KAAA,CAAKY,aAAa,GAAGZ,KAAA,CAAKa,IAAI,CAAC,CAAC;IAAA,OAAAb,KAAA;EAClC;;EAEA;EAAA7D,YAAA,CAAAyD,IAAA;IAAA5E,GAAA;IAAA8F,GAAA,EA9CA,SAAAA,IAAA,EAAmB;MACjB,OAAO,IAAI,CAACF,aAAa;IAC3B;EAAC;IAAA5F,GAAA;IAAA8F,GAAA,EAED,SAAAA,IAAA,EAAyB;MACvB,OAAO,IAAI,CAACP,IAAI;IAClB,CAAC;IAAAQ,GAAA,EAED,SAAAA,IAAenM,KAAa,EAAE;MAC5B,IAAI,CAAC2L,IAAI,GAAG3L,KAAK;IACnB;EAAC;IAAAoG,GAAA;IAAA8F,GAAA,EAED,SAAAA,IAAA,EAAwC;MACtC,OAAO,IAAI,CAACN,UAAU;IACxB;EAAC;IAAAxF,GAAA;IAAA8F,GAAA,EAED,SAAAA,IAAA,EAA2B;MACzB,OAAO,IAAI,CAACL,MAAM;IACpB,CAAC;IAAAM,GAAA,EAED,SAAAA,IAAiBnM,KAAa,EAAE;MAC9B,IAAI,CAAC6L,MAAM,GAAG7L,KAAK;IACrB;EAAC;IAAAoG,GAAA;IAAA8F,GAAA,EAED,SAAAA,IAAA,EAAsC;MACpC,OAAO,IAAI,CAACJ,OAAO;IACrB,CAAC;IAAAK,GAAA,EAED,SAAAA,IAAkBnM,KAAuB,EAAE;MACzC,IAAI,CAAC8L,OAAO,GAAG9L,KAAK;IACtB;EAAC;IAAAoG,GAAA;IAAApG,KAAA;MAAA,IAAAoM,KAAA,GAAA7F,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CAiBD,SAAA0H,QAAA;QAAA,IAAAC,MAAA;QAAA,IAAA9B,QAAA,EAAA+B,KAAA;QAAA,OAAAjN,mBAAA,GAAAuB,IAAA,UAAA2L,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAArH,IAAA,GAAAqH,QAAA,CAAAhJ,IAAA;YAAA;cAAAgJ,QAAA,CAAAhJ,IAAA;cAAA,OACqB,IAAI,CAACiJ,SAAS,CAAC5B,SAAS,CAAC;YAAA;cAA5C,IAAI,CAAC6B,KAAK,GAAAF,QAAA,CAAAvJ,IAAA;cAEV,IAAI,CAAC0J,GAAG,CAAC,IAAI,CAACD,KAAK,CAAC;cAAA,IACf,IAAI,CAACtC,SAAS,CAACI,MAAM;gBAAAgC,QAAA,CAAAhJ,IAAA;gBAAA;cAAA;cAAA,OAAAgJ,QAAA,CAAApJ,MAAA,WACjB,IAAI;YAAA;cAEPmH,QAAQ,GAAG,IAAI,CAACH,SAAS,CAACG,QAAQ;cAClC+B,KAAK,GAAGM,KAAK,CAACC,OAAO,CAAC,IAAI,CAACzC,SAAS,CAAClJ,IAAI,CAAC,GAC5C,IAAI,CAACkJ,SAAS,CAAClJ,IAAI,GACnB,CAAC,IAAI,CAACkJ,SAAS,CAAClJ,IAAI,CAAC;cAEzBoL,KAAK,CAACnK,OAAO,CAAC,UAACjB,IAAI,EAAK;gBACtB,IAAM4L,MAAM,GAAGT,MAAI,CAACU,qBAAqB,CAAC7L,IAAI,EAAEqJ,QAAQ,CAAC;gBAEzD,IAAMyC,aAAa,GAAG,IAAI1D,aAAa,CACrCpI,IAAI,EACJqJ,QAAQ,EACRuC,MACF,CAAC;gBAED,IAAMG,MAAM,GAAGZ,MAAI,CAACP,MAAM,CAACoB,UAAU,CAACF,aAAa,CAAC;;gBAEpD;gBACAC,MAAM,CACHE,OAAO,CAAC1D,UAAU,EAAE,IAAI,CAAC,CACzB2D,iBAAiB,GAAG,IAAI;gBAE3Bf,MAAI,CAACgB,WAAW,CAACnB,GAAG,CAAChL,IAAI,EAAE+L,MAAM,CAAC;gBAClC,OAAO,IAAI;cACb,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAT,QAAA,CAAAlH,IAAA;UAAA;QAAA,GAAA8G,OAAA;MAAA,CACH;MAAA,SAAAJ,KAAA;QAAA,OAAAG,KAAA,CAAAxF,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAsF,IAAA;IAAA;EAAA;IAAA7F,GAAA;IAAApG,KAAA,EAED,SAAA0M,UAAkBvC,GAAW,EAAE;MAC7B,OAAO,IAAInF,OAAO,CAAC,UAACvC,OAAO,EAAEwD,MAAM,EAAK;QAAA,IAAAsH,qBAAA;QACtCxC,IAAI,CAACyC,QAAQ,CAAC;UACZC,GAAG,EAAEtD,GAAG;UACRuD,YAAY,EAAE,KAAK;UACnBC,OAAO,EAAE,IAAI;UACbC,KAAK,EAAE,IAAI;UACXC,SAAS,GAAAN,qBAAA,GAAE1D,KAAK,CAACiE,eAAe,CAAC5B,GAAG,CAAC,aAAa,CAAC,cAAAqB,qBAAA,cAAAA,qBAAA,GAAI,UAAU;UACjEQ,MAAM,EAAE,SAAAA,OAACC,IAAI,EAAK;YAChBvL,OAAO,CAACuL,IAAI,CAACC,KAAK,CAAC;UACrB,CAAC;UACDC,OAAO,EAAE,SAAAA,QAAA,EAAM;YACb;YACAjI,MAAM,CAAC,IAAI,CAAC;UACd;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;;IAEA;EAAA;IAAAG,GAAA;IAAApG,KAAA,EACA,SAAAgN,sBACE7L,IAAoB,EACpBqJ,QAAgB,EACC;MACjB,IAAMuC,MAAuB,GAAG,EAAE;MAElC,QAAQ5L,IAAI;QACV,KAAK6I,cAAc,CAACO,MAAM;UACxBwC,MAAM,CAAC9I,IAAI,CACT,IAAI2F,mBAAmB,CACrB,WAAW,EACX,CAAC,CAAC,EAAEY,QAAQ,GAAG,CAAC,EAAEA,QAAQ,CAAC,EAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,CACF,CAAC;UACD;QACF,KAAKR,cAAc,CAACmE,KAAK;UACvBpB,MAAM,CAAC9I,IAAI,CACT,IAAI2F,mBAAmB,CACrB,QAAQ,EACR,CAAC,CAAC,EAAEY,QAAQ,GAAG,CAAC,EAAEA,QAAQ,CAAC,EAC3B,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAClC,CACF,CAAC;UACD;QACF,KAAKR,cAAc,CAACM,MAAM;UACxByC,MAAM,CAAC9I,IAAI,CACT,IAAI0F,mBAAmB,CACrB,cAAc,EACd,CAAC,CAAC,EAAEa,QAAQ,CAAC,EACb,CAAC,CAAC,EAAE4D,IAAI,CAACC,EAAE,GAAG,CAAC,CACjB,CACF,CAAC;UACD;QACF,KAAKrE,cAAc,CAACsE,KAAK;UACvBvB,MAAM,CAAC9I,IAAI,CACT,IAAI0F,mBAAmB,CACrB,mBAAmB,EACnB,CAAC,CAAC,EAAEa,QAAQ,GAAG,CAAC,EAAEA,QAAQ,CAAC,EAC3B,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CACZ,CACF,CAAC;UACD;MACJ;MAEA,OAAOuC,MAAM;IACf;;IAEA;EAAA;IAAA3G,GAAA;IAAApG,KAAA;MAAA,IAAAuO,OAAA,GAAAhI,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CACA,SAAA6J,SAAoBC,KAAa;QAAA,OAAAnP,mBAAA,GAAAuB,IAAA,UAAA6N,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAvJ,IAAA,GAAAuJ,SAAA,CAAAlL,IAAA;YAAA;cAAAkL,SAAA,CAAAlL,IAAA;cAAA,OACzB,IAAI,CAACmL,KAAK;YAAA;cAChB,IAAI,IAAI,CAAC7C,MAAM,EACb,IAAI,CAACA,MAAM,CAAC8C,MAAM,CAACJ,KAAK,CAAC;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAApJ,IAAA;UAAA;QAAA,GAAAiJ,QAAA;MAAA,CAC5B;MAAA,SAAAK,OAAAC,EAAA;QAAA,OAAAP,OAAA,CAAA3H,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAkI,MAAA;IAAA,IAED;EAAA;IAAAzI,GAAA;IAAApG,KAAA;MAAA,IAAA+O,KAAA,GAAAxI,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CACA,SAAAqK,SAAkB7N,IAAqB;QAAA,IAAAkJ,SAAA;QAAA,OAAA/K,mBAAA,GAAAuB,IAAA,UAAAoO,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9J,IAAA,GAAA8J,SAAA,CAAAzL,IAAA;YAAA;cAAAyL,SAAA,CAAAzL,IAAA;cAAA,OAC/B,IAAI,CAACmL,KAAK;YAAA;cAChB,IAAIzN,IAAI,EAAE;gBACFkJ,SAAS,GAAG,IAAI,CAACiD,WAAW,CAACpB,GAAG,CAAC/K,IAAI,CAAC;gBAC5CkJ,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEjG,KAAK,CAAC,CAAC,CAAC+K,IAAI,CAAC,CAAC;cAC3B,CAAC,MACI;gBACH,IAAI,CAAC7B,WAAW,CAAClL,OAAO,CAAC,UAACiI,SAAS,EAAK;kBACtCA,SAAS,CAACjG,KAAK,CAAC,CAAC,CAAC+K,IAAI,CAAC,CAAC;gBAC1B,CAAC,CAAC;cACJ;YAAC;YAAA;cAAA,OAAAD,SAAA,CAAA3J,IAAA;UAAA;QAAA,GAAAyJ,QAAA;MAAA,CACF;MAAA,SAAAG,KAAAC,GAAA;QAAA,OAAAL,KAAA,CAAAnI,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAAwI,IAAA;IAAA,IAED;EAAA;IAAA/I,GAAA;IAAApG,KAAA;MAAA,IAAAqP,KAAA,GAAA9I,iBAAA,eAAAjH,mBAAA,GAAAqF,IAAA,CACA,SAAA2K,SAAkBnO,IAAqB;QAAA,IAAAkJ,SAAA;QAAA,OAAA/K,mBAAA,GAAAuB,IAAA,UAAA0O,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAApK,IAAA,GAAAoK,SAAA,CAAA/L,IAAA;YAAA;cAAA+L,SAAA,CAAA/L,IAAA;cAAA,OAC/B,IAAI,CAACmL,KAAK;YAAA;cAChB,IAAIzN,IAAI,EAAE;gBACFkJ,SAAS,GAAG,IAAI,CAACiD,WAAW,CAACpB,GAAG,CAAC/K,IAAI,CAAC;gBAC5CkJ,SAAS,aAATA,SAAS,eAATA,SAAS,CAAE9E,IAAI,CAAC,CAAC;cACnB,CAAC,MACI;gBACH,IAAI,CAAC+H,WAAW,CAAClL,OAAO,CAAC,UAACiI,SAAS,EAAK;kBACtCA,SAAS,CAAC9E,IAAI,CAAC,CAAC;gBAClB,CAAC,CAAC;cACJ;YAAC;YAAA;cAAA,OAAAiK,SAAA,CAAAjK,IAAA;UAAA;QAAA,GAAA+J,QAAA;MAAA,CACF;MAAA,SAAA/J,KAAAkK,GAAA;QAAA,OAAAJ,KAAA,CAAAzI,KAAA,OAAAD,SAAA;MAAA;MAAA,OAAApB,IAAA;IAAA;EAAA;EAAA,OAAAyF,IAAA;AAAA,EAhMgBjB,WAAW;AAmM9B,SAASiB,IAAI,EAAEhB,cAAc"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type AnimationOption = Partial<{
|
|
2
|
+
type: Array<EAnimationType> | EAnimationType;
|
|
3
|
+
duration: number;
|
|
4
|
+
enable: boolean;
|
|
5
|
+
}>;
|
|
6
|
+
export declare enum EAnimationType {
|
|
7
|
+
Bounce = "bounce",
|
|
8
|
+
Pulse = "pulse",
|
|
9
|
+
Flash = "flash",
|
|
10
|
+
Rotate = "rotate"
|
|
11
|
+
}
|
|
12
|
+
export type ButtleOption = Partial<{
|
|
13
|
+
uri: string;
|
|
14
|
+
visible: boolean;
|
|
15
|
+
scale: [number, number, number];
|
|
16
|
+
color: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare enum ELevel {
|
|
19
|
+
Low = 0,
|
|
20
|
+
Medium = 1,
|
|
21
|
+
High = 2
|
|
22
|
+
}
|
|
23
|
+
export type Option = {
|
|
24
|
+
visible?: boolean;
|
|
25
|
+
uri: string;
|
|
26
|
+
level: ELevel;
|
|
27
|
+
animation?: AnimationOption;
|
|
28
|
+
bubble?: ButtleOption;
|
|
29
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export var EAnimationType = /*#__PURE__*/function (EAnimationType) {
|
|
2
|
+
EAnimationType["Bounce"] = "bounce";
|
|
3
|
+
EAnimationType["Pulse"] = "pulse";
|
|
4
|
+
EAnimationType["Flash"] = "flash";
|
|
5
|
+
EAnimationType["Rotate"] = "rotate";
|
|
6
|
+
return EAnimationType;
|
|
7
|
+
}({});
|
|
8
|
+
export var ELevel = /*#__PURE__*/function (ELevel) {
|
|
9
|
+
ELevel[ELevel["Low"] = 0] = "Low";
|
|
10
|
+
ELevel[ELevel["Medium"] = 1] = "Medium";
|
|
11
|
+
ELevel[ELevel["High"] = 2] = "High";
|
|
12
|
+
return ELevel;
|
|
13
|
+
}({});
|
|
14
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EAnimationType","ELevel"],"sources":["../../../src/business/Mark/type.ts"],"sourcesContent":["export type AnimationOption = Partial<{\n type: Array<EAnimationType> | EAnimationType\n duration: number\n enable: boolean\n}>\n\nexport enum EAnimationType {\n Bounce = 'bounce',\n Pulse = 'pulse',\n Flash = 'flash',\n Rotate = 'rotate',\n}\n\nexport type ButtleOption = Partial<{\n uri: string\n visible: boolean\n scale: [number, number, number]\n color: string\n}>\n\nexport enum ELevel {\n Low = 0,\n Medium = 1,\n High = 2,\n}\n\nexport type Option = {\n visible?: boolean\n uri: string\n level: ELevel\n animation?: AnimationOption\n bubble?: ButtleOption\n}"],"mappings":"AAMA,WAAYA,cAAc,0BAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;AAc1B,WAAYC,MAAM,0BAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAANA,MAAM,CAANA,MAAM;EAAA,OAANA,MAAM;AAAA"}
|
|
@@ -13,6 +13,7 @@ declare class Poi extends ObjectLayer implements IPoi {
|
|
|
13
13
|
private _text;
|
|
14
14
|
private _model;
|
|
15
15
|
private _particle;
|
|
16
|
+
type: string;
|
|
16
17
|
constructor(option: Option);
|
|
17
18
|
get mesh(): Group;
|
|
18
19
|
get style(): string;
|
|
@@ -29,7 +30,6 @@ declare class Poi extends ObjectLayer implements IPoi {
|
|
|
29
30
|
private calculateLayout;
|
|
30
31
|
private getBoxSize;
|
|
31
32
|
private setupBoundingBox;
|
|
32
|
-
private arrayMergeCustomizer;
|
|
33
33
|
private updateViewDirection;
|
|
34
34
|
private updateScale;
|
|
35
35
|
private addEventListeners;
|
|
@@ -77,6 +77,7 @@ var Poi = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
77
77
|
_defineProperty(_assertThisInitialized(_this), "_text", void 0);
|
|
78
78
|
_defineProperty(_assertThisInitialized(_this), "_model", void 0);
|
|
79
79
|
_defineProperty(_assertThisInitialized(_this), "_particle", void 0);
|
|
80
|
+
_defineProperty(_assertThisInitialized(_this), "type", 'Group');
|
|
80
81
|
var param = _.mergeWith(_.cloneDeep(DEFAULT_OPTION), option, _this.arrayMergeCustomizer);
|
|
81
82
|
var style = param.style,
|
|
82
83
|
text = param.text,
|
|
@@ -289,11 +290,6 @@ var Poi = /*#__PURE__*/function (_ObjectLayer) {
|
|
|
289
290
|
mesh.position.sub(bottomCenter);
|
|
290
291
|
});
|
|
291
292
|
}
|
|
292
|
-
}, {
|
|
293
|
-
key: "arrayMergeCustomizer",
|
|
294
|
-
value: function arrayMergeCustomizer(objValue, srcValue) {
|
|
295
|
-
if (_.isArray(objValue) && srcValue) return srcValue;
|
|
296
|
-
}
|
|
297
293
|
}, {
|
|
298
294
|
key: "updateViewDirection",
|
|
299
295
|
value: function updateViewDirection() {
|