@anov/3d-ability 0.0.25 → 0.0.27
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/common/IconStyle.d.ts +17 -0
- package/dist/common/IconStyle.js +41 -0
- package/dist/common/IconStyle.js.map +1 -0
- package/dist/common/ImageStyle.d.ts +15 -0
- package/dist/common/ImageStyle.js +37 -0
- package/dist/common/ImageStyle.js.map +1 -0
- package/dist/common/LabelStyle.d.ts +24 -0
- package/dist/common/LabelStyle.js +71 -0
- package/dist/common/LabelStyle.js.map +1 -0
- package/dist/common/component.d.ts +15 -0
- package/dist/common/component.js +70 -0
- package/dist/common/component.js.map +1 -0
- package/dist/common/constant.d.ts +5 -0
- package/dist/common/constant.js +7 -0
- package/dist/common/constant.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/poi/2D/index.d.ts +1 -1
- package/dist/poi/2D/index.js +1 -1
- package/dist/poi/2D/index.js.map +1 -1
- package/dist/poi/3D/index.d.ts +1 -1
- package/dist/poi/3D/index.js +1 -1
- package/dist/poi/3D/index.js.map +1 -1
- package/dist/poi/Base.d.ts +12 -0
- package/dist/poi/Base.js +55 -0
- package/dist/poi/Base.js.map +1 -0
- package/dist/poi/Poi.d.ts +11 -10
- package/dist/poi/Poi.js +88 -26
- package/dist/poi/Poi.js.map +1 -1
- package/dist/poi/Sprite/index.d.ts +1 -1
- package/dist/poi/Sprite/index.js +1 -1
- package/dist/poi/Sprite/index.js.map +1 -1
- package/dist/poi/Sprite/index2.js.map +1 -1
- package/dist/poi/index.d.ts +2 -1
- package/dist/poi/index.js +2 -1
- package/dist/poi/index.js.map +1 -1
- package/dist/widget/icon.d.ts +14 -0
- package/dist/widget/icon.js +64 -0
- package/dist/widget/icon.js.map +1 -0
- package/dist/widget/image.d.ts +14 -0
- package/dist/widget/image.js +65 -0
- package/dist/widget/image.js.map +1 -0
- package/dist/widget/label.d.ts +14 -0
- package/dist/widget/label.js +70 -0
- package/dist/widget/label.js.map +1 -0
- package/dist/widget/poi.d.ts +0 -0
- package/dist/widget/poi.js +2 -0
- package/dist/widget/poi.js.map +1 -0
- package/package.json +3 -3
package/dist/poi/Base.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
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); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
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); }
|
|
6
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
7
|
+
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); }; }
|
|
8
|
+
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); }
|
|
9
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
10
|
+
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; } }
|
|
11
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
12
|
+
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; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
import { Object3D } from '@anov/3d-core';
|
|
16
|
+
var Poi = /*#__PURE__*/function (_Object3D) {
|
|
17
|
+
_inherits(Poi, _Object3D);
|
|
18
|
+
var _super = _createSuper(Poi);
|
|
19
|
+
function Poi(data, option) {
|
|
20
|
+
var _this;
|
|
21
|
+
_classCallCheck(this, Poi);
|
|
22
|
+
_this = _super.call(this);
|
|
23
|
+
_defineProperty(_assertThisInitialized(_this), "data", void 0);
|
|
24
|
+
_defineProperty(_assertThisInitialized(_this), "option", void 0);
|
|
25
|
+
_defineProperty(_assertThisInitialized(_this), "animation", []);
|
|
26
|
+
_this.data = data;
|
|
27
|
+
_this.option = option;
|
|
28
|
+
return _this;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// 设置动画属性
|
|
32
|
+
_createClass(Poi, [{
|
|
33
|
+
key: "setAnimation",
|
|
34
|
+
value: function setAnimation(animation) {
|
|
35
|
+
if (!animation) return;
|
|
36
|
+
if (Array.isArray(animation)) this.animation = animation;else this.animation = [animation];
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// 播放动画
|
|
40
|
+
}, {
|
|
41
|
+
key: "play",
|
|
42
|
+
value: function play() {}
|
|
43
|
+
|
|
44
|
+
// 销毁
|
|
45
|
+
}, {
|
|
46
|
+
key: "destroy",
|
|
47
|
+
value: function destroy() {
|
|
48
|
+
this.remove();
|
|
49
|
+
this.removeFromParent();
|
|
50
|
+
}
|
|
51
|
+
}]);
|
|
52
|
+
return Poi;
|
|
53
|
+
}(Object3D);
|
|
54
|
+
export default Poi;
|
|
55
|
+
//# sourceMappingURL=Base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Object3D","Poi","data","option","animation","Array","isArray","remove","removeFromParent"],"sources":["../../src/poi/Base.ts"],"sourcesContent":["import { Object3D } from '@anov/3d-core'\nimport type { IOption } from './utils/type'\n\nclass Poi extends Object3D {\n data!: any\n option!: IOption\n animation: Array<any> = []\n\n constructor(data: any, option: IOption) {\n super()\n this.data = data\n this.option = option\n }\n\n // 设置动画属性\n setAnimation(animation: object | Array<any>) {\n if (!animation)\n return\n if (Array.isArray(animation))\n this.animation = animation\n else\n this.animation = [animation]\n }\n\n // 播放动画\n play() {}\n\n // 销毁\n destroy() {\n this.remove()\n this.removeFromParent()\n }\n}\n\nexport default Poi"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,QAAQ,QAAQ,eAAe;AAAA,IAGlCC,GAAG;EAAA;EAAA;EAKP,aAAYC,IAAS,EAAEC,MAAe,EAAE;IAAA;IAAA;IACtC;IAAO;IAAA;IAAA,4DAHe,EAAE;IAIxB,MAAKD,IAAI,GAAGA,IAAI;IAChB,MAAKC,MAAM,GAAGA,MAAM;IAAA;EACtB;;EAEA;EAAA;IAAA;IAAA,OACA,sBAAaC,SAA8B,EAAE;MAC3C,IAAI,CAACA,SAAS,EACZ;MACF,IAAIC,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,EAC1B,IAAI,CAACA,SAAS,GAAGA,SAAS,MAE1B,IAAI,CAACA,SAAS,GAAG,CAACA,SAAS,CAAC;IAChC;;IAEA;EAAA;IAAA;IAAA,OACA,gBAAO,CAAC;;IAER;EAAA;IAAA;IAAA,OACA,mBAAU;MACR,IAAI,CAACG,MAAM,EAAE;MACb,IAAI,CAACC,gBAAgB,EAAE;IACzB;EAAC;EAAA;AAAA,EA5BeR,QAAQ;AA+B1B,eAAeC,GAAG"}
|
package/dist/poi/Poi.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
constructor(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import { CSS2DObject, CSS3DObject, Sprite } from '@anov/3d-core';
|
|
2
|
+
import { RenderType } from '../common/constant';
|
|
3
|
+
import Component from '../common/component';
|
|
4
|
+
declare class Poi extends Component {
|
|
5
|
+
mesh: CSS2DObject | CSS3DObject | Sprite;
|
|
6
|
+
loaded: Promise<Boolean>;
|
|
7
|
+
constructor(type: RenderType, dom: HTMLElement);
|
|
8
|
+
private initialize;
|
|
9
|
+
private createFixedPOI;
|
|
10
|
+
private createSpritePOI;
|
|
11
|
+
private createPlanePOI;
|
|
11
12
|
}
|
|
12
13
|
export default Poi;
|
package/dist/poi/Poi.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
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 exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator.return && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) keys.push(key); return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, catch: function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
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); }); }; }
|
|
2
5
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
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); } }
|
|
4
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; }
|
|
@@ -12,44 +15,103 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
12
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; }
|
|
13
16
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
17
|
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
import { CSS2DObject, CSS3DObject, Sprite, SpriteMaterial, sRGBEncoding, utils } from '@anov/3d-core';
|
|
19
|
+
import { RenderType } from "../common/constant";
|
|
20
|
+
import Component from "../common/component";
|
|
21
|
+
var createDomTexture = utils.createDomTexture;
|
|
22
|
+
var Poi = /*#__PURE__*/function (_Component) {
|
|
23
|
+
_inherits(Poi, _Component);
|
|
18
24
|
var _super = _createSuper(Poi);
|
|
19
|
-
function Poi(
|
|
25
|
+
function Poi(type, dom) {
|
|
20
26
|
var _this;
|
|
21
27
|
_classCallCheck(this, Poi);
|
|
22
28
|
_this = _super.call(this);
|
|
23
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
24
|
-
_defineProperty(_assertThisInitialized(_this), "
|
|
25
|
-
|
|
26
|
-
_this.data = data;
|
|
27
|
-
_this.option = option;
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "mesh", void 0);
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "loaded", void 0);
|
|
31
|
+
_this.loaded = _this.initialize(type, dom);
|
|
28
32
|
return _this;
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
// 设置动画属性
|
|
32
34
|
_createClass(Poi, [{
|
|
33
|
-
key: "
|
|
34
|
-
value: function
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
key: "initialize",
|
|
36
|
+
value: function () {
|
|
37
|
+
var _initialize = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(type, dom) {
|
|
38
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
39
|
+
while (1) switch (_context.prev = _context.next) {
|
|
40
|
+
case 0:
|
|
41
|
+
_context.t0 = type;
|
|
42
|
+
_context.next = _context.t0 === RenderType.Fixed ? 3 : _context.t0 === RenderType.Sprite ? 5 : _context.t0 === RenderType.Plane ? 8 : 10;
|
|
43
|
+
break;
|
|
44
|
+
case 3:
|
|
45
|
+
// 2D绘制,不支持缩放,始终面向镜头
|
|
46
|
+
this.createFixedPOI(dom);
|
|
47
|
+
return _context.abrupt("break", 11);
|
|
48
|
+
case 5:
|
|
49
|
+
_context.next = 7;
|
|
50
|
+
return this.createSpritePOI(dom);
|
|
51
|
+
case 7:
|
|
52
|
+
return _context.abrupt("break", 11);
|
|
53
|
+
case 8:
|
|
54
|
+
// 3D绘制,跟随场景旋转、缩放
|
|
55
|
+
this.createPlanePOI(dom);
|
|
56
|
+
return _context.abrupt("break", 11);
|
|
57
|
+
case 10:
|
|
58
|
+
throw new Error('Unsupported render type');
|
|
59
|
+
case 11:
|
|
60
|
+
return _context.abrupt("return", true);
|
|
61
|
+
case 12:
|
|
62
|
+
case "end":
|
|
63
|
+
return _context.stop();
|
|
64
|
+
}
|
|
65
|
+
}, _callee, this);
|
|
66
|
+
}));
|
|
67
|
+
function initialize(_x, _x2) {
|
|
68
|
+
return _initialize.apply(this, arguments);
|
|
69
|
+
}
|
|
70
|
+
return initialize;
|
|
71
|
+
}()
|
|
72
|
+
}, {
|
|
73
|
+
key: "createFixedPOI",
|
|
74
|
+
value: function createFixedPOI(dom) {
|
|
75
|
+
this.mesh = new CSS2DObject(dom);
|
|
76
|
+
this.add(this.mesh);
|
|
37
77
|
}
|
|
38
|
-
|
|
39
|
-
// 播放动画
|
|
40
78
|
}, {
|
|
41
|
-
key: "
|
|
42
|
-
value: function
|
|
43
|
-
|
|
44
|
-
|
|
79
|
+
key: "createSpritePOI",
|
|
80
|
+
value: function () {
|
|
81
|
+
var _createSpritePOI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(dom) {
|
|
82
|
+
var texture, spriteMaterial;
|
|
83
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
84
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
_context2.next = 2;
|
|
87
|
+
return createDomTexture(dom, {});
|
|
88
|
+
case 2:
|
|
89
|
+
texture = _context2.sent;
|
|
90
|
+
texture.encoding = sRGBEncoding; // 将纹理的编码设置为sRGB
|
|
91
|
+
spriteMaterial = new SpriteMaterial({
|
|
92
|
+
map: texture
|
|
93
|
+
});
|
|
94
|
+
this.mesh = new Sprite(spriteMaterial);
|
|
95
|
+
this.add(this.mesh);
|
|
96
|
+
case 7:
|
|
97
|
+
case "end":
|
|
98
|
+
return _context2.stop();
|
|
99
|
+
}
|
|
100
|
+
}, _callee2, this);
|
|
101
|
+
}));
|
|
102
|
+
function createSpritePOI(_x3) {
|
|
103
|
+
return _createSpritePOI.apply(this, arguments);
|
|
104
|
+
}
|
|
105
|
+
return createSpritePOI;
|
|
106
|
+
}()
|
|
45
107
|
}, {
|
|
46
|
-
key: "
|
|
47
|
-
value: function
|
|
48
|
-
this.
|
|
49
|
-
this.
|
|
108
|
+
key: "createPlanePOI",
|
|
109
|
+
value: function createPlanePOI(dom) {
|
|
110
|
+
this.mesh = new CSS3DObject(dom);
|
|
111
|
+
this.add(this.mesh);
|
|
50
112
|
}
|
|
51
113
|
}]);
|
|
52
114
|
return Poi;
|
|
53
|
-
}(
|
|
115
|
+
}(Component);
|
|
54
116
|
export default Poi;
|
|
55
117
|
//# sourceMappingURL=Poi.js.map
|
package/dist/poi/Poi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["CSS2DObject","CSS3DObject","Sprite","SpriteMaterial","sRGBEncoding","utils","RenderType","Component","createDomTexture","Poi","type","dom","loaded","initialize","Fixed","Plane","createFixedPOI","createSpritePOI","createPlanePOI","Error","mesh","add","texture","encoding","spriteMaterial","map"],"sources":["../../src/poi/Poi.ts"],"sourcesContent":["import { CSS2DObject, CSS3DObject, Sprite, SpriteMaterial, sRGBEncoding, utils } from '@anov/3d-core'\nimport { RenderType } from '../common/constant'\nimport Component from '../common/component'\n\nconst { createDomTexture } = utils\nclass Poi extends Component {\n mesh!: CSS2DObject | CSS3DObject | Sprite\n loaded: Promise<Boolean>\n constructor(type: RenderType, dom: HTMLElement) {\n super()\n this.loaded = this.initialize(type, dom)\n }\n\n private async initialize(type: RenderType, dom: HTMLElement) {\n switch (type) {\n case RenderType.Fixed: // 2D绘制,不支持缩放,始终面向镜头\n this.createFixedPOI(dom)\n break\n case RenderType.Sprite: // 精灵图,始终面向镜头,跟随场景缩放\n await this.createSpritePOI(dom)\n break\n case RenderType.Plane: // 3D绘制,跟随场景旋转、缩放\n this.createPlanePOI(dom)\n break\n default:\n throw new Error('Unsupported render type')\n }\n return true\n }\n\n private createFixedPOI(dom: HTMLElement) {\n this.mesh = new CSS2DObject(dom)\n this.add(this.mesh)\n }\n\n private async createSpritePOI(dom: HTMLElement) {\n const texture = await createDomTexture(dom, {})\n texture.encoding = sRGBEncoding // 将纹理的编码设置为sRGB\n const spriteMaterial = new SpriteMaterial({ map: texture })\n this.mesh = new Sprite(spriteMaterial)\n this.add(this.mesh)\n }\n\n private createPlanePOI(dom: HTMLElement) {\n this.mesh = new CSS3DObject(dom)\n this.add(this.mesh)\n }\n}\n\nexport default Poi\n"],"mappings":";+CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA,SAASA,WAAW,EAAEC,WAAW,EAAEC,MAAM,EAAEC,cAAc,EAAEC,YAAY,EAAEC,KAAK,QAAQ,eAAe;AACrG,SAASC,UAAU;AACnB,OAAOC,SAAS;AAEhB,IAAQC,gBAAgB,GAAKH,KAAK,CAA1BG,gBAAgB;AAAU,IAC5BC,GAAG;EAAA;EAAA;EAGP,aAAYC,IAAgB,EAAEC,GAAgB,EAAE;IAAA;IAAA;IAC9C;IAAO;IAAA;IACP,MAAKC,MAAM,GAAG,MAAKC,UAAU,CAACH,IAAI,EAAEC,GAAG,CAAC;IAAA;EAC1C;EAAC;IAAA;IAAA;MAAA,6EAED,iBAAyBD,IAAgB,EAAEC,GAAgB;QAAA;UAAA;YAAA;cAAA,cACjDD,IAAI;cAAA,gCACLJ,UAAU,CAACQ,KAAK,uBAGhBR,UAAU,CAACJ,MAAM,uBAGjBI,UAAU,CAACS,KAAK;cAAA;YAAA;cANE;cACrB,IAAI,CAACC,cAAc,CAACL,GAAG,CAAC;cAAA;YAAA;cAAA;cAAA,OAGlB,IAAI,CAACM,eAAe,CAACN,GAAG,CAAC;YAAA;cAAA;YAAA;cAEV;cACrB,IAAI,CAACO,cAAc,CAACP,GAAG,CAAC;cAAA;YAAA;cAAA,MAGlB,IAAIQ,KAAK,CAAC,yBAAyB,CAAC;YAAA;cAAA,iCAEvC,IAAI;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACZ;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,wBAAuBR,GAAgB,EAAE;MACvC,IAAI,CAACS,IAAI,GAAG,IAAIpB,WAAW,CAACW,GAAG,CAAC;MAChC,IAAI,CAACU,GAAG,CAAC,IAAI,CAACD,IAAI,CAAC;IACrB;EAAC;IAAA;IAAA;MAAA,kFAED,kBAA8BT,GAAgB;QAAA;QAAA;UAAA;YAAA;cAAA;cAAA,OACtBH,gBAAgB,CAACG,GAAG,EAAE,CAAC,CAAC,CAAC;YAAA;cAAzCW,OAAO;cACbA,OAAO,CAACC,QAAQ,GAAGnB,YAAY,EAAC;cAC1BoB,cAAc,GAAG,IAAIrB,cAAc,CAAC;gBAAEsB,GAAG,EAAEH;cAAQ,CAAC,CAAC;cAC3D,IAAI,CAACF,IAAI,GAAG,IAAIlB,MAAM,CAACsB,cAAc,CAAC;cACtC,IAAI,CAACH,GAAG,CAAC,IAAI,CAACD,IAAI,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA,CACpB;MAAA;QAAA;MAAA;MAAA;IAAA;EAAA;IAAA;IAAA,OAED,wBAAuBT,GAAgB,EAAE;MACvC,IAAI,CAACS,IAAI,GAAG,IAAInB,WAAW,CAACU,GAAG,CAAC;MAChC,IAAI,CAACU,GAAG,CAAC,IAAI,CAACD,IAAI,CAAC;IACrB;EAAC;EAAA;AAAA,EAzCeb,SAAS;AA4C3B,eAAeE,GAAG"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Raycaster } from '@anov/3d-core';
|
|
2
2
|
import { BufferGeometry, SpriteMaterial, Vector2 } from '@anov/3d-core';
|
|
3
3
|
import type { IOption } from '../utils/type';
|
|
4
|
-
import Poi from '../
|
|
4
|
+
import Poi from '../Base';
|
|
5
5
|
declare class SpritePoi extends Poi {
|
|
6
6
|
geometry: BufferGeometry;
|
|
7
7
|
center: Vector2;
|
package/dist/poi/Sprite/index.js
CHANGED
|
@@ -22,7 +22,7 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
22
22
|
import { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Matrix4, SpriteMaterial, TextureLoader, Triangle, Vector2, Vector3, sRGBEncoding, utils } from '@anov/3d-core';
|
|
23
23
|
import gsap from 'gsap';
|
|
24
24
|
import { EAnimationType } from "../utils/type";
|
|
25
|
-
import Poi from "../
|
|
25
|
+
import Poi from "../Base";
|
|
26
26
|
var _default = {
|
|
27
27
|
animation: {
|
|
28
28
|
type: EAnimationType.grow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BufferGeometry","InterleavedBuffer","InterleavedBufferAttribute","Matrix4","SpriteMaterial","TextureLoader","Triangle","Vector2","Vector3","sRGBEncoding","utils","gsap","EAnimationType","Poi","_default","animation","type","grow","duration","_viewWorldMatrix","createDomTexture","SpritePoi","data","option","isSprite","geometry","getGeometry","setAnimation","setMaterial","play","_geometry","float32Array","Float32Array","interleavedBuffer","setIndex","setAttribute","width","height","center","visible","initMaterial","HTMLElement","element","texture","load","encoding","isFadeOrAppearAnimation","some","item","fadeIn","opacity","needsUpdate","material","map","transparent","depthTest","Array","isArray","hasExecuted","isGrow","scale","onAfterRender","forEach","to","repeat","ease","initScale","fromArray","clone","setScalar","x","y","z","copy","cb","raycaster","intersects","camera","console","error","_worldScale","_mvPosition","setFromMatrixScale","matrixWorld","modelViewMatrix","multiplyMatrices","matrixWorldInverse","setFromMatrixPosition","isPerspectiveCamera","sizeAttenuation","multiplyScalar","rotation","sin","cos","Math","_vA","_vB","_vC","_uvA","_uvB","_uvC","transformVertex","set","_intersectPoint","intersect","ray","intersectTriangle","distance","origin","distanceTo","near","far","push","point","uv","getInterpolation","face","object","vertexPosition","mvPosition","_alignedPosition","_rotatedPosition","subVectors","addScalar","multiply","undefined","applyMatrix4"],"sources":["../../../src/poi/Sprite/index.ts"],"sourcesContent":["import type { PerspectiveCamera, Raycaster } from '@anov/3d-core'\nimport { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Matrix4, Sprite, SpriteMaterial, TextureLoader, Triangle, Vector2, Vector3, sRGBEncoding, utils } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType } from '../utils/type'\nimport type { IAnimation, IOption } from '../utils/type'\nimport Poi from '../Poi'\n\nconst _default = {\n animation: {\n type: EAnimationType.grow,\n duration: 0.3,\n },\n}\n\nconst _viewWorldMatrix = new Matrix4()\nconst { createDomTexture } = utils\n\nclass SpritePoi extends Poi {\n geometry!: BufferGeometry\n center!: Vector2\n material!: SpriteMaterial\n isSprite: boolean\n type: string\n\n data!: any\n option!: IOption\n animation: Array<any> = []\n\n constructor(data: any, option: IOption) {\n super(data, option)\n this.data = data\n this.option = option\n\n this.isSprite = true\n this.type = 'SpritePoi'\n\n this.geometry = this.getGeometry()\n this.option.animation && this.setAnimation(this.option.animation)\n // 创建Sprite\n this.setMaterial()\n\n // 执行动画\n this.play()\n }\n\n private getGeometry() {\n const _geometry = new BufferGeometry()\n const float32Array = new Float32Array([\n -0.5, -0.5, 0, 0, 0,\n 0.5, -0.5, 0, 1, 0,\n 0.5, 0.5, 0, 1, 1,\n -0.5, 0.5, 0, 0, 1,\n ])\n\n const interleavedBuffer = new InterleavedBuffer(float32Array, 5)\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n return _geometry\n }\n\n private setMaterial() {\n const { width, height } = this.option as {\n animation: IAnimation\n width: number\n height: number\n }\n // 精灵的锚点\n this.center = new Vector2(0.5, 0)\n\n this.visible = false\n // 异步生成材质\n const initMaterial = async () => {\n let texture\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n const element: HTMLElement = this.data\n texture = await createDomTexture(element, { width, height })\n }\n else if (typeof this.data === 'string') {\n texture = new TextureLoader().load(this.data)\n }\n\n if (texture) {\n texture.encoding = sRGBEncoding // 将纹理的编码设置为sRGB\n // 判断条件\n\n const isFadeOrAppearAnimation = this.animation.some((item) => {\n if (item.type === EAnimationType.fadeIn)\n return true\n })\n // 根据条件设置 opacity 的值\n const opacity = isFadeOrAppearAnimation ? 0 : 1\n\n texture.needsUpdate = true\n this.material = new SpriteMaterial({\n map: texture,\n transparent: true, // 设置为透明材质\n opacity,\n depthTest: false,\n })\n this.visible = true\n }\n }\n initMaterial()\n }\n\n // 设置动画属性\n setAnimation(animation: object | Array<any>) {\n if (!animation)\n return\n if (Array.isArray(animation))\n this.animation = animation\n else\n this.animation = [animation]\n }\n\n // 播放动画\n play() {\n let hasExecuted = false\n let isGrow = false\n const { scale } = this.option\n // 执行渐显、打印内容等操作\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.to(this.material, {\n opacity: 1,\n ...item,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n isGrow = true\n const initScale = scale ? new Vector3().fromArray(scale) : this.scale.clone()\n this.scale.setScalar(0)\n gsap.to(this.scale, {\n x: initScale.x,\n y: initScale.y,\n z: initScale.z,\n ...item,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n }\n })\n if (!isGrow && scale)\n this.scale.copy(new Vector3().fromArray(scale))\n\n hasExecuted = true\n }\n }\n\n addEventListener(type: string, cb: any) {\n super.addEventListener(type, cb)\n return () => super.removeEventListener(type, cb)\n }\n\n raycast(raycaster: Raycaster, intersects: any) {\n if (raycaster.camera === null)\n console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.')\n\n const _worldScale = /* @__PURE__ */ new Vector3()\n const _mvPosition = /* @__PURE__ */ new Vector3()\n _worldScale.setFromMatrixScale(this.matrixWorld)\n\n _viewWorldMatrix.copy(raycaster.camera.matrixWorld)\n this.modelViewMatrix.multiplyMatrices(raycaster.camera.matrixWorldInverse, this.matrixWorld)\n\n _mvPosition.setFromMatrixPosition(this.modelViewMatrix)\n\n if ((raycaster.camera as PerspectiveCamera & { isPerspectiveCamera: boolean }).isPerspectiveCamera && this.material.sizeAttenuation === false)\n\n _worldScale.multiplyScalar(-_mvPosition.z)\n\n const rotation = this.material.rotation\n let sin, cos\n\n if (rotation !== 0) {\n cos = Math.cos(rotation)\n sin = Math.sin(rotation)\n }\n\n const center = this.center\n const _vA = /* @__PURE__ */ new Vector3()\n const _vB = /* @__PURE__ */ new Vector3()\n const _vC = /* @__PURE__ */ new Vector3()\n\n const _uvA = /* @__PURE__ */ new Vector2()\n const _uvB = /* @__PURE__ */ new Vector2()\n const _uvC = /* @__PURE__ */ new Vector2()\n transformVertex(_vA.set(-0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n transformVertex(_vB.set(0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n transformVertex(_vC.set(0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n\n _uvA.set(0, 0)\n _uvB.set(1, 0)\n _uvC.set(1, 1)\n\n const _intersectPoint = /* @__PURE__ */ new Vector3()\n // check first triangle\n let intersect = raycaster.ray.intersectTriangle(_vA, _vB, _vC, false, _intersectPoint)\n\n if (intersect === null) {\n // check second triangle\n transformVertex(_vB.set(-0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n _uvB.set(0, 1)\n\n intersect = raycaster.ray.intersectTriangle(_vA, _vC, _vB, false, _intersectPoint)\n if (intersect === null)\n\n return\n }\n\n const distance = raycaster.ray.origin.distanceTo(_intersectPoint)\n\n if (distance < raycaster.near || distance > raycaster.far)\n return\n\n intersects.push({\n distance,\n point: _intersectPoint.clone(),\n uv: Triangle.getInterpolation(_intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2()),\n face: null,\n object: this,\n\n })\n }\n}\n\nfunction transformVertex(vertexPosition: Vector3, mvPosition: Vector3, center: Vector2, scale: Vector3, sin: number | undefined, cos: number | undefined) {\n const _alignedPosition = /* @__PURE__ */ new Vector2()\n const _rotatedPosition = /* @__PURE__ */ new Vector2()\n // compute position in camera space\n _alignedPosition.subVectors(new Vector2(vertexPosition.x, vertexPosition.y), center).addScalar(0.5).multiply(new Vector2(scale.x, scale.y))\n\n // to check if rotation is not zero\n if (sin !== undefined && cos !== undefined) {\n _rotatedPosition.x = (cos * _alignedPosition.x) - (sin * _alignedPosition.y)\n _rotatedPosition.y = (sin * _alignedPosition.x) + (cos * _alignedPosition.y)\n }\n else {\n _rotatedPosition.copy(_alignedPosition)\n }\n\n vertexPosition.copy(mvPosition)\n vertexPosition.x += _rotatedPosition.x\n vertexPosition.y += _rotatedPosition.y\n\n // transform to world space\n vertexPosition.applyMatrix4(_viewWorldMatrix)\n}\n\nexport default SpritePoi"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BufferGeometry","InterleavedBuffer","InterleavedBufferAttribute","Matrix4","SpriteMaterial","TextureLoader","Triangle","Vector2","Vector3","sRGBEncoding","utils","gsap","EAnimationType","Poi","_default","animation","type","grow","duration","_viewWorldMatrix","createDomTexture","SpritePoi","data","option","isSprite","geometry","getGeometry","setAnimation","setMaterial","play","_geometry","float32Array","Float32Array","interleavedBuffer","setIndex","setAttribute","width","height","center","visible","initMaterial","HTMLElement","element","texture","load","encoding","isFadeOrAppearAnimation","some","item","fadeIn","opacity","needsUpdate","material","map","transparent","depthTest","Array","isArray","hasExecuted","isGrow","scale","onAfterRender","forEach","to","repeat","ease","initScale","fromArray","clone","setScalar","x","y","z","copy","cb","raycaster","intersects","camera","console","error","_worldScale","_mvPosition","setFromMatrixScale","matrixWorld","modelViewMatrix","multiplyMatrices","matrixWorldInverse","setFromMatrixPosition","isPerspectiveCamera","sizeAttenuation","multiplyScalar","rotation","sin","cos","Math","_vA","_vB","_vC","_uvA","_uvB","_uvC","transformVertex","set","_intersectPoint","intersect","ray","intersectTriangle","distance","origin","distanceTo","near","far","push","point","uv","getInterpolation","face","object","vertexPosition","mvPosition","_alignedPosition","_rotatedPosition","subVectors","addScalar","multiply","undefined","applyMatrix4"],"sources":["../../../src/poi/Sprite/index.ts"],"sourcesContent":["import type { PerspectiveCamera, Raycaster } from '@anov/3d-core'\nimport { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Matrix4, Sprite, SpriteMaterial, TextureLoader, Triangle, Vector2, Vector3, sRGBEncoding, utils } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType } from '../utils/type'\nimport type { IAnimation, IOption } from '../utils/type'\nimport Poi from '../Base'\n\nconst _default = {\n animation: {\n type: EAnimationType.grow,\n duration: 0.3,\n },\n}\n\nconst _viewWorldMatrix = new Matrix4()\nconst { createDomTexture } = utils\n\nclass SpritePoi extends Poi {\n geometry!: BufferGeometry\n center!: Vector2\n material!: SpriteMaterial\n isSprite: boolean\n type: string\n\n data!: any\n option!: IOption\n animation: Array<any> = []\n\n constructor(data: any, option: IOption) {\n super(data, option)\n this.data = data\n this.option = option\n\n this.isSprite = true\n this.type = 'SpritePoi'\n\n this.geometry = this.getGeometry()\n this.option.animation && this.setAnimation(this.option.animation)\n // 创建Sprite\n this.setMaterial()\n\n // 执行动画\n this.play()\n }\n\n private getGeometry() {\n const _geometry = new BufferGeometry()\n const float32Array = new Float32Array([\n -0.5, -0.5, 0, 0, 0,\n 0.5, -0.5, 0, 1, 0,\n 0.5, 0.5, 0, 1, 1,\n -0.5, 0.5, 0, 0, 1,\n ])\n\n const interleavedBuffer = new InterleavedBuffer(float32Array, 5)\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n return _geometry\n }\n\n private setMaterial() {\n const { width, height } = this.option as {\n animation: IAnimation\n width: number\n height: number\n }\n // 精灵的锚点\n this.center = new Vector2(0.5, 0)\n\n this.visible = false\n // 异步生成材质\n const initMaterial = async () => {\n let texture\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n const element: HTMLElement = this.data\n texture = await createDomTexture(element, { width, height })\n }\n else if (typeof this.data === 'string') {\n texture = new TextureLoader().load(this.data)\n }\n\n if (texture) {\n texture.encoding = sRGBEncoding // 将纹理的编码设置为sRGB\n // 判断条件\n\n const isFadeOrAppearAnimation = this.animation.some((item) => {\n if (item.type === EAnimationType.fadeIn)\n return true\n })\n // 根据条件设置 opacity 的值\n const opacity = isFadeOrAppearAnimation ? 0 : 1\n\n texture.needsUpdate = true\n this.material = new SpriteMaterial({\n map: texture,\n transparent: true, // 设置为透明材质\n opacity,\n depthTest: false,\n })\n this.visible = true\n }\n }\n initMaterial()\n }\n\n // 设置动画属性\n setAnimation(animation: object | Array<any>) {\n if (!animation)\n return\n if (Array.isArray(animation))\n this.animation = animation\n else\n this.animation = [animation]\n }\n\n // 播放动画\n play() {\n let hasExecuted = false\n let isGrow = false\n const { scale } = this.option\n // 执行渐显、打印内容等操作\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.to(this.material, {\n opacity: 1,\n ...item,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n isGrow = true\n const initScale = scale ? new Vector3().fromArray(scale) : this.scale.clone()\n this.scale.setScalar(0)\n gsap.to(this.scale, {\n x: initScale.x,\n y: initScale.y,\n z: initScale.z,\n ...item,\n repeat: 0,\n ease: 'power2.out',\n })\n break\n }\n })\n if (!isGrow && scale)\n this.scale.copy(new Vector3().fromArray(scale))\n\n hasExecuted = true\n }\n }\n\n addEventListener(type: string, cb: any) {\n super.addEventListener(type, cb)\n return () => super.removeEventListener(type, cb)\n }\n\n raycast(raycaster: Raycaster, intersects: any) {\n if (raycaster.camera === null)\n console.error('THREE.Sprite: \"Raycaster.camera\" needs to be set in order to raycast against sprites.')\n\n const _worldScale = /* @__PURE__ */ new Vector3()\n const _mvPosition = /* @__PURE__ */ new Vector3()\n _worldScale.setFromMatrixScale(this.matrixWorld)\n\n _viewWorldMatrix.copy(raycaster.camera.matrixWorld)\n this.modelViewMatrix.multiplyMatrices(raycaster.camera.matrixWorldInverse, this.matrixWorld)\n\n _mvPosition.setFromMatrixPosition(this.modelViewMatrix)\n\n if ((raycaster.camera as PerspectiveCamera & { isPerspectiveCamera: boolean }).isPerspectiveCamera && this.material.sizeAttenuation === false)\n\n _worldScale.multiplyScalar(-_mvPosition.z)\n\n const rotation = this.material.rotation\n let sin, cos\n\n if (rotation !== 0) {\n cos = Math.cos(rotation)\n sin = Math.sin(rotation)\n }\n\n const center = this.center\n const _vA = /* @__PURE__ */ new Vector3()\n const _vB = /* @__PURE__ */ new Vector3()\n const _vC = /* @__PURE__ */ new Vector3()\n\n const _uvA = /* @__PURE__ */ new Vector2()\n const _uvB = /* @__PURE__ */ new Vector2()\n const _uvC = /* @__PURE__ */ new Vector2()\n transformVertex(_vA.set(-0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n transformVertex(_vB.set(0.5, -0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n transformVertex(_vC.set(0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n\n _uvA.set(0, 0)\n _uvB.set(1, 0)\n _uvC.set(1, 1)\n\n const _intersectPoint = /* @__PURE__ */ new Vector3()\n // check first triangle\n let intersect = raycaster.ray.intersectTriangle(_vA, _vB, _vC, false, _intersectPoint)\n\n if (intersect === null) {\n // check second triangle\n transformVertex(_vB.set(-0.5, 0.5, 0), _mvPosition, center, _worldScale, sin, cos)\n _uvB.set(0, 1)\n\n intersect = raycaster.ray.intersectTriangle(_vA, _vC, _vB, false, _intersectPoint)\n if (intersect === null)\n\n return\n }\n\n const distance = raycaster.ray.origin.distanceTo(_intersectPoint)\n\n if (distance < raycaster.near || distance > raycaster.far)\n return\n\n intersects.push({\n distance,\n point: _intersectPoint.clone(),\n uv: Triangle.getInterpolation(_intersectPoint, _vA, _vB, _vC, _uvA, _uvB, _uvC, new Vector2()),\n face: null,\n object: this,\n\n })\n }\n}\n\nfunction transformVertex(vertexPosition: Vector3, mvPosition: Vector3, center: Vector2, scale: Vector3, sin: number | undefined, cos: number | undefined) {\n const _alignedPosition = /* @__PURE__ */ new Vector2()\n const _rotatedPosition = /* @__PURE__ */ new Vector2()\n // compute position in camera space\n _alignedPosition.subVectors(new Vector2(vertexPosition.x, vertexPosition.y), center).addScalar(0.5).multiply(new Vector2(scale.x, scale.y))\n\n // to check if rotation is not zero\n if (sin !== undefined && cos !== undefined) {\n _rotatedPosition.x = (cos * _alignedPosition.x) - (sin * _alignedPosition.y)\n _rotatedPosition.y = (sin * _alignedPosition.x) + (cos * _alignedPosition.y)\n }\n else {\n _rotatedPosition.copy(_alignedPosition)\n }\n\n vertexPosition.copy(mvPosition)\n vertexPosition.x += _rotatedPosition.x\n vertexPosition.y += _rotatedPosition.y\n\n // transform to world space\n vertexPosition.applyMatrix4(_viewWorldMatrix)\n}\n\nexport default SpritePoi"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Sprite","SpriteMaterial","Vector2","utils","gsap","EAnimationType","createContentElement","createTitleElement","_default","scale","animation","type","grow","duration","createDomTexture","SpritePoi","data","option","map","setAnimation","create","play","width","height","center","vScale","visible","setMaterial","HTMLElement","element","title","content","texture","isFadeOrAppearAnimation","fadeIn","appear","opacity","needsUpdate","material","Array","isArray","hasExecuted","isGrow","onAfterRender","forEach","item","to","repeat","ease","x","y","z","set","cb"],"sources":["../../../src/poi/Sprite/index2.ts"],"sourcesContent":["import { Sprite, SpriteMaterial, Vector2, utils } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType } from '../utils/type'\nimport type { IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../
|
|
1
|
+
{"version":3,"names":["Sprite","SpriteMaterial","Vector2","utils","gsap","EAnimationType","createContentElement","createTitleElement","_default","scale","animation","type","grow","duration","createDomTexture","SpritePoi","data","option","map","setAnimation","create","play","width","height","center","vScale","visible","setMaterial","HTMLElement","element","title","content","texture","isFadeOrAppearAnimation","fadeIn","appear","opacity","needsUpdate","material","Array","isArray","hasExecuted","isGrow","onAfterRender","forEach","item","to","repeat","ease","x","y","z","set","cb"],"sources":["../../../src/poi/Sprite/index2.ts"],"sourcesContent":["import { Sprite, SpriteMaterial, Vector2, utils } from '@anov/3d-core'\nimport gsap from 'gsap'\nimport { EAnimationType } from '../utils/type'\nimport type { IOption } from '../utils/type'\nimport { createContentElement, createTitleElement } from '../utils/element'\nimport Poi from '../Base'\n\nconst _default = {\n scale: 15,\n animation: {\n type: EAnimationType.grow,\n duration: 0.3,\n },\n}\n\nconst { createDomTexture } = utils\n\nclass SpritePoi extends Sprite {\n data!: any\n option!: IOption\n animation: Array<any> = []\n vScale!: [number, number, number]\n\n constructor(data: any, option: IOption) {\n super(new SpriteMaterial({ map: null }))\n\n this.data = data\n this.option = { ..._default, ...option }\n\n this.option.animation && this.setAnimation(this.option.animation)\n // 创建Sprite\n this.create()\n // 执行动画\n this.play()\n }\n\n private create() {\n const { scale = 1, animation, width = 0, height = 0 } = this.option\n // 精灵的锚点\n this.center = new Vector2(0.5, 0)\n\n this.vScale = [scale, height * scale / width, 1]\n this.visible = false\n // 异步生成材质\n const setMaterial = async () => {\n // 生成精灵模型\n\n let element!: HTMLElement\n // 直接传递DOM元素\n if (this.data instanceof HTMLElement) {\n element = this.data\n }\n else {\n if (typeof this.data === 'string') {\n element = createTitleElement(this.data, this.option)\n }\n else if (typeof this.data === 'object') {\n const { title, content } = this.data\n if (title && content)\n element = createContentElement(this.data, this.option)\n\n else if (title)\n element = createTitleElement(title, this.option)\n }\n }\n const texture = await createDomTexture(element, { width, height })\n // 判断条件\n const isFadeOrAppearAnimation = animation?.type === EAnimationType.fadeIn || animation?.type === EAnimationType.appear\n // 根据条件设置 opacity 的值\n const opacity = isFadeOrAppearAnimation ? 0 : 1\n\n texture.needsUpdate = true\n this.material = new SpriteMaterial({ map: texture, opacity })\n this.visible = true\n }\n setMaterial()\n }\n\n // 设置动画属性\n setAnimation(animation: object | Array<any>) {\n if (!animation)\n return\n if (Array.isArray(animation))\n this.animation = animation\n else\n this.animation = [animation]\n }\n\n play() {\n let hasExecuted = false\n let isGrow = false\n // 执行渐显、打印内容等操作\n this.onAfterRender = () => {\n if (hasExecuted)\n return\n this.animation.forEach((item) => {\n switch (item.type) {\n case EAnimationType.fadeIn:\n gsap.to(this.material, {\n opacity: 1,\n ...item,\n repeat: 0,\n ease: 'none',\n })\n break\n case EAnimationType.grow:\n gsap.to(this.scale, {\n x: this.vScale[0],\n y: this.vScale[1],\n z: this.vScale[2],\n ...item,\n repeat: 0,\n ease: 'power2.out',\n })\n isGrow = true\n break\n }\n })\n if (!isGrow)\n this.scale.set(...this.vScale)\n\n hasExecuted = true\n }\n }\n\n addEventListener(type: string, cb: any) {\n super.addEventListener(type, cb)\n return () => super.removeEventListener(type, cb)\n }\n}\n\nexport default SpritePoi"],"mappings":"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"}
|
package/dist/poi/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import Css2DPoi from './2D/index';
|
|
|
2
2
|
import Css3DPoi from './3D/index';
|
|
3
3
|
import SpritePoi from './Sprite/index';
|
|
4
4
|
import { EAnimationType } from './utils/type';
|
|
5
|
-
|
|
5
|
+
import Poi from './Poi';
|
|
6
|
+
export { Poi, Css2DPoi, Css3DPoi, SpritePoi, EAnimationType };
|
package/dist/poi/index.js
CHANGED
|
@@ -2,5 +2,6 @@ import Css2DPoi from "./2D/index";
|
|
|
2
2
|
import Css3DPoi from "./3D/index";
|
|
3
3
|
import SpritePoi from "./Sprite/index";
|
|
4
4
|
import { EAnimationType } from "./utils/type";
|
|
5
|
-
|
|
5
|
+
import Poi from "./Poi";
|
|
6
|
+
export { Poi, Css2DPoi, Css3DPoi, SpritePoi, EAnimationType };
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist/poi/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Css2DPoi","Css3DPoi","SpritePoi","EAnimationType"],"sources":["../../src/poi/index.ts"],"sourcesContent":["import Css2DPoi from './2D/index'\nimport Css3DPoi from './3D/index'\nimport SpritePoi from './Sprite/index'\nimport { EAnimationType } from './utils/type'\n\nexport { Css2DPoi, Css3DPoi, SpritePoi, EAnimationType }"],"mappings":"AAAA,OAAOA,QAAQ;AACf,OAAOC,QAAQ;AACf,OAAOC,SAAS;AAChB,SAASC,cAAc;
|
|
1
|
+
{"version":3,"names":["Css2DPoi","Css3DPoi","SpritePoi","EAnimationType","Poi"],"sources":["../../src/poi/index.ts"],"sourcesContent":["import Css2DPoi from './2D/index'\nimport Css3DPoi from './3D/index'\nimport SpritePoi from './Sprite/index'\nimport { EAnimationType } from './utils/type'\nimport Poi from './Poi'\n\nexport { Poi, Css2DPoi, Css3DPoi, SpritePoi, EAnimationType }"],"mappings":"AAAA,OAAOA,QAAQ;AACf,OAAOC,QAAQ;AACf,OAAOC,SAAS;AAChB,SAASC,cAAc;AACvB,OAAOC,GAAG;AAEV,SAASA,GAAG,EAAEJ,QAAQ,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,cAAc"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BufferGeometry, Material, Texture } from '@anov/3d-core';
|
|
2
|
+
import { Mesh, Sprite } from '@anov/3d-core';
|
|
3
|
+
import Component from '../common/component';
|
|
4
|
+
import { RenderType } from '../common/constant';
|
|
5
|
+
declare class Icon extends Component {
|
|
6
|
+
type: RenderType;
|
|
7
|
+
geometry: BufferGeometry;
|
|
8
|
+
material: Material;
|
|
9
|
+
mesh: Mesh | Sprite;
|
|
10
|
+
constructor(texture: Texture, type?: RenderType);
|
|
11
|
+
onUpdate(delta: any): void;
|
|
12
|
+
onDestroy(): void;
|
|
13
|
+
}
|
|
14
|
+
export default Icon;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
3
|
+
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); } }
|
|
4
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
5
|
+
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); }
|
|
6
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
7
|
+
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); }; }
|
|
8
|
+
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); }
|
|
9
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
10
|
+
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; } }
|
|
11
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
12
|
+
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; }
|
|
13
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
|
+
import { DoubleSide, Mesh, MeshBasicMaterial, PlaneGeometry, Sprite, SpriteMaterial } from '@anov/3d-core';
|
|
16
|
+
import Component from "../common/component";
|
|
17
|
+
import { RenderType } from "../common/constant";
|
|
18
|
+
var Icon = /*#__PURE__*/function (_Component) {
|
|
19
|
+
_inherits(Icon, _Component);
|
|
20
|
+
var _super = _createSuper(Icon);
|
|
21
|
+
function Icon(texture) {
|
|
22
|
+
var _this;
|
|
23
|
+
var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : RenderType.Sprite;
|
|
24
|
+
_classCallCheck(this, Icon);
|
|
25
|
+
_this = _super.call(this);
|
|
26
|
+
_defineProperty(_assertThisInitialized(_this), "type", void 0);
|
|
27
|
+
_defineProperty(_assertThisInitialized(_this), "geometry", void 0);
|
|
28
|
+
_defineProperty(_assertThisInitialized(_this), "material", void 0);
|
|
29
|
+
_defineProperty(_assertThisInitialized(_this), "mesh", void 0);
|
|
30
|
+
_this.type = type;
|
|
31
|
+
if (type === 'Sprite') {
|
|
32
|
+
_this.material = new SpriteMaterial({
|
|
33
|
+
map: texture
|
|
34
|
+
});
|
|
35
|
+
_this.mesh = new Sprite(_this.material);
|
|
36
|
+
} else if (type === 'Plane') {
|
|
37
|
+
var geometry = new PlaneGeometry(1, 1);
|
|
38
|
+
_this.material = new MeshBasicMaterial({
|
|
39
|
+
map: texture,
|
|
40
|
+
side: DoubleSide
|
|
41
|
+
});
|
|
42
|
+
_this.mesh = new Mesh(geometry, _this.material);
|
|
43
|
+
}
|
|
44
|
+
_this.add(_this.mesh);
|
|
45
|
+
return _this;
|
|
46
|
+
}
|
|
47
|
+
_createClass(Icon, [{
|
|
48
|
+
key: "onUpdate",
|
|
49
|
+
value: function onUpdate(delta) {
|
|
50
|
+
// Custom update logic for Icon
|
|
51
|
+
}
|
|
52
|
+
}, {
|
|
53
|
+
key: "onDestroy",
|
|
54
|
+
value: function onDestroy() {
|
|
55
|
+
// Custom destroy logic for Icon
|
|
56
|
+
this.mesh.geometry.dispose();
|
|
57
|
+
this.mesh.removeFromParent();
|
|
58
|
+
this.mesh.remove();
|
|
59
|
+
}
|
|
60
|
+
}]);
|
|
61
|
+
return Icon;
|
|
62
|
+
}(Component);
|
|
63
|
+
export default Icon;
|
|
64
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DoubleSide","Mesh","MeshBasicMaterial","PlaneGeometry","Sprite","SpriteMaterial","Component","RenderType","Icon","texture","type","material","map","mesh","geometry","side","add","delta","dispose","removeFromParent","remove"],"sources":["../../src/widget/icon.ts"],"sourcesContent":["import type { BufferGeometry, Material, Texture } from '@anov/3d-core'\nimport { DoubleSide, Mesh, MeshBasicMaterial, Object3D, PlaneGeometry, Sprite, SpriteMaterial } from '@anov/3d-core'\nimport Component from '../common/component'\nimport { RenderType } from '../common/constant'\n\nclass Icon extends Component {\n type: RenderType\n geometry!: BufferGeometry\n material!: Material\n mesh!: Mesh | Sprite\n constructor(texture: Texture, type: RenderType = RenderType.Sprite) {\n super()\n this.type = type\n\n if (type === 'Sprite') {\n this.material = new SpriteMaterial({ map: texture })\n this.mesh = new Sprite(this.material as SpriteMaterial)\n }\n else if (type === 'Plane') {\n const geometry = new PlaneGeometry(1, 1)\n this.material = new MeshBasicMaterial({ map: texture, side: DoubleSide })\n this.mesh = new Mesh(geometry, this.material)\n }\n\n this.add(this.mesh)\n }\n\n onUpdate(delta) {\n // Custom update logic for Icon\n }\n\n onDestroy() {\n // Custom destroy logic for Icon\n this.mesh.geometry.dispose()\n this.mesh.removeFromParent()\n this.mesh.remove()\n }\n}\n\nexport default Icon\n"],"mappings":";;;;;;;;;;;;;;AACA,SAASA,UAAU,EAAEC,IAAI,EAAEC,iBAAiB,EAAYC,aAAa,EAAEC,MAAM,EAAEC,cAAc,QAAQ,eAAe;AACpH,OAAOC,SAAS;AAChB,SAASC,UAAU;AAA4B,IAEzCC,IAAI;EAAA;EAAA;EAKR,cAAYC,OAAgB,EAAwC;IAAA;IAAA,IAAtCC,IAAgB,uEAAGH,UAAU,CAACH,MAAM;IAAA;IAChE;IAAO;IAAA;IAAA;IAAA;IACP,MAAKM,IAAI,GAAGA,IAAI;IAEhB,IAAIA,IAAI,KAAK,QAAQ,EAAE;MACrB,MAAKC,QAAQ,GAAG,IAAIN,cAAc,CAAC;QAAEO,GAAG,EAAEH;MAAQ,CAAC,CAAC;MACpD,MAAKI,IAAI,GAAG,IAAIT,MAAM,CAAC,MAAKO,QAAQ,CAAmB;IACzD,CAAC,MACI,IAAID,IAAI,KAAK,OAAO,EAAE;MACzB,IAAMI,QAAQ,GAAG,IAAIX,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;MACxC,MAAKQ,QAAQ,GAAG,IAAIT,iBAAiB,CAAC;QAAEU,GAAG,EAAEH,OAAO;QAAEM,IAAI,EAAEf;MAAW,CAAC,CAAC;MACzE,MAAKa,IAAI,GAAG,IAAIZ,IAAI,CAACa,QAAQ,EAAE,MAAKH,QAAQ,CAAC;IAC/C;IAEA,MAAKK,GAAG,CAAC,MAAKH,IAAI,CAAC;IAAA;EACrB;EAAC;IAAA;IAAA,OAED,kBAASI,KAAK,EAAE;MACd;IAAA;EACD;IAAA;IAAA,OAED,qBAAY;MACV;MACA,IAAI,CAACJ,IAAI,CAACC,QAAQ,CAACI,OAAO,EAAE;MAC5B,IAAI,CAACL,IAAI,CAACM,gBAAgB,EAAE;MAC5B,IAAI,CAACN,IAAI,CAACO,MAAM,EAAE;IACpB;EAAC;EAAA;AAAA,EA/BgBd,SAAS;AAkC5B,eAAeE,IAAI"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { BufferGeometry, Material, Texture } from '@anov/3d-core';
|
|
2
|
+
import { Mesh, Sprite } from '@anov/3d-core';
|
|
3
|
+
import Component from '../common/component';
|
|
4
|
+
import { RenderType } from '../common/constant';
|
|
5
|
+
declare class Image extends Component {
|
|
6
|
+
type: RenderType;
|
|
7
|
+
geometry: BufferGeometry;
|
|
8
|
+
material: Material;
|
|
9
|
+
mesh: Mesh | Sprite;
|
|
10
|
+
constructor(texture: Texture, type?: RenderType);
|
|
11
|
+
onUpdate(delta: any): void;
|
|
12
|
+
onDestroy(): void;
|
|
13
|
+
}
|
|
14
|
+
export default Image;
|