@anov/3d 0.0.153 → 0.0.176

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/anov3d.js +23 -25
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +57 -90
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/applicationApiType.js +2 -0
  6. package/dist/applicationApiType.js.map +1 -0
  7. package/dist/factory/unit/inspection/InspectionObject.js +17 -12
  8. package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
  9. package/dist/index.js +2 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/module/animation/index.js +124 -0
  12. package/dist/module/animation/index.js.map +1 -0
  13. package/dist/module/animation/motion/index.js +82 -0
  14. package/dist/module/animation/motion/index.js.map +1 -0
  15. package/dist/module/animation/strategy.js +27 -0
  16. package/dist/module/animation/strategy.js.map +1 -0
  17. package/dist/module/camera/index.js +56 -19
  18. package/dist/module/camera/index.js.map +1 -1
  19. package/dist/module/entity/baseEntity.js +41 -10
  20. package/dist/module/entity/baseEntity.js.map +1 -1
  21. package/dist/module/entity/group/index.js +80 -0
  22. package/dist/module/entity/group/index.js.map +1 -0
  23. package/dist/module/entity/index.js +152 -73
  24. package/dist/module/entity/index.js.map +1 -1
  25. package/dist/module/entity/model/index.js +25 -5
  26. package/dist/module/entity/model/index.js.map +1 -1
  27. package/dist/module/entity/model/load/loadGlb.js +4 -3
  28. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  29. package/dist/module/entity/poi/index.js +19 -208
  30. package/dist/module/entity/poi/index.js.map +1 -1
  31. package/dist/module/entity/poi/style/index.js +6 -46
  32. package/dist/module/entity/poi/style/index.js.map +1 -1
  33. package/dist/module/entity/poi/style/plane.js +60 -0
  34. package/dist/module/entity/poi/style/plane.js.map +1 -0
  35. package/dist/module/entity/poi/utils.js +1 -1
  36. package/dist/module/entity/poi/utils.js.map +1 -1
  37. package/dist/module/entity/spline/index.js +1 -1
  38. package/dist/module/entity/spline/index.js.map +1 -1
  39. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  40. package/dist/module/entity/strategy.js +21 -1
  41. package/dist/module/entity/strategy.js.map +1 -1
  42. package/dist/module/entity/type.js.map +1 -1
  43. package/dist/module/environment/index.js +7 -2
  44. package/dist/module/environment/index.js.map +1 -1
  45. package/dist/module/material/index.js +150 -0
  46. package/dist/module/material/index.js.map +1 -0
  47. package/dist/module/scene/fileParse.js +250 -0
  48. package/dist/module/scene/fileParse.js.map +1 -0
  49. package/dist/module/scene/index.js +36 -2
  50. package/dist/module/scene/index.js.map +1 -1
  51. package/dist/sdkEntry.js +8 -0
  52. package/dist/sdkEntry.js.map +1 -1
  53. package/package.json +5 -4
  54. package/dist/module/entity/poi/indexBack.js +0 -29
  55. package/dist/module/entity/poi/indexBack.js.map +0 -1
@@ -0,0 +1,82 @@
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 ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
+ 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); } }
6
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
7
+ 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; }
8
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
+ 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); }
10
+ import { AnimationMotion } from '@anov/3d-ability';
11
+ import { hybridList } from "../../entity";
12
+ var Motion = /*#__PURE__*/function () {
13
+ function Motion(app) {
14
+ _classCallCheck(this, Motion);
15
+ _defineProperty(this, "app", void 0);
16
+ _defineProperty(this, "animationMotion", void 0);
17
+ this.app = app;
18
+ }
19
+ _createClass(Motion, [{
20
+ key: "to",
21
+ value: function to(json) {
22
+ var entityId = json.target,
23
+ _json$vars = json.vars,
24
+ position = _json$vars.position,
25
+ motionPath = _json$vars.motionPath;
26
+ var entity = hybridList.get(entityId);
27
+ if (!entity) throw new Error("entity ".concat(entityId, " is not exist"));
28
+ var path;
29
+ if (motionPath !== null && motionPath !== void 0 && motionPath.path) {
30
+ // 路径动画
31
+ if (Array.isArray(motionPath.path)) {
32
+ var _motionPath$path;
33
+ path = (_motionPath$path = motionPath.path) === null || _motionPath$path === void 0 ? void 0 : _motionPath$path.map(function (item) {
34
+ return item.position;
35
+ });
36
+ } else {
37
+ var line = hybridList.get(motionPath.path);
38
+ if (!line) throw new Error("path ".concat(entityId, " is not exist"));
39
+ path = line && line.geometry.parameters.path;
40
+ }
41
+ } else if (position) {
42
+ // 基础路径动画
43
+ var _entity$position = entity.position,
44
+ x = _entity$position.x,
45
+ y = _entity$position.y,
46
+ z = _entity$position.z;
47
+ path = [[x, y, z], position];
48
+ }
49
+ if (!path) throw new Error('path not exist');
50
+ this.animationMotion = new AnimationMotion(entity, path, _objectSpread({}, json.vars));
51
+ }
52
+ }, {
53
+ key: "play",
54
+ value: function play() {
55
+ this.animationMotion.play();
56
+ }
57
+ }, {
58
+ key: "pause",
59
+ value: function pause() {
60
+ this.animationMotion.pause();
61
+ }
62
+ }, {
63
+ key: "restart",
64
+ value: function restart() {
65
+ this.animationMotion.restart();
66
+ }
67
+ }, {
68
+ key: "reverse",
69
+ value: function reverse() {}
70
+ }, {
71
+ key: "delete",
72
+ value: function _delete() {
73
+ this.animationMotion.delete();
74
+ }
75
+ }, {
76
+ key: "update",
77
+ value: function update() {}
78
+ }]);
79
+ return Motion;
80
+ }();
81
+ export default Motion;
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AnimationMotion","hybridList","Motion","app","_classCallCheck","_defineProperty","_createClass","key","value","to","json","entityId","target","_json$vars","vars","position","motionPath","entity","get","Error","concat","path","Array","isArray","_motionPath$path","map","item","line","geometry","parameters","_entity$position","x","y","z","animationMotion","_objectSpread","play","pause","restart","reverse","_delete","delete","update"],"sources":["../../../../src/module/animation/motion/index.ts"],"sourcesContent":["import { AnimationMotion } from '@anov/3d-ability'\nimport type { Mesh, TubeGeometry } from '@anov/3d-core'\nimport { hybridList } from '../../entity'\nimport type Anov3D from '../../../sdkEntry'\n\ntype Option = {\n id: string\n target: string\n vars: Partial<{\n position: [number, number, number]\n speed: number\n duration: number\n paused: boolean\n repeat: number\n yoyo: boolean\n ease: string\n motionPath: {\n path: any\n }\n }>\n}\n\nclass Motion {\n app: Anov3D\n animationMotion: AnimationMotion\n constructor(app: Anov3D) {\n this.app = app\n }\n\n to(json: Option) {\n const { target: entityId, vars: { position, motionPath } } = json\n const entity = hybridList.get(entityId)\n if (!entity)\n throw new Error(`entity ${entityId} is not exist`)\n\n let path\n if (motionPath?.path) { // 路径动画\n if (Array.isArray(motionPath.path)) {\n path = motionPath.path?.map(item => item.position)\n }\n else {\n const line = hybridList.get(motionPath.path)\n if (!line)\n throw new Error(`path ${entityId} is not exist`)\n path = line && ((line as Mesh).geometry as TubeGeometry).parameters.path\n }\n }\n else if (position) { // 基础路径动画\n const { x, y, z } = entity.position\n path = [\n [x, y, z],\n position,\n ]\n }\n if (!path)\n throw new Error('path not exist')\n this.animationMotion = new AnimationMotion(entity, path, { ...json.vars })\n }\n\n play() {\n this.animationMotion.play()\n }\n\n pause() {\n this.animationMotion.pause()\n }\n\n restart() {\n this.animationMotion.restart()\n }\n\n reverse() {\n }\n\n delete() {\n this.animationMotion.delete()\n }\n\n update() {\n\n }\n}\n\nexport default Motion"],"mappings":";;;;;;;;;AAAA,SAASA,eAAe,QAAQ,kBAAkB;AAElD,SAASC,UAAU;AAAsB,IAoBnCC,MAAM;EAGV,SAAAA,OAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,MAAA;IAAAG,eAAA;IAAAA,eAAA;IACvB,IAAI,CAACF,GAAG,GAAGA,GAAG;EAChB;EAACG,YAAA,CAAAJ,MAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAC,GAAGC,IAAY,EAAE;MACf,IAAgBC,QAAQ,GAAqCD,IAAI,CAAzDE,MAAM;QAAAC,UAAA,GAA+CH,IAAI,CAAvCI,IAAI;QAAIC,QAAQ,GAAAF,UAAA,CAARE,QAAQ;QAAEC,UAAU,GAAAH,UAAA,CAAVG,UAAU;MACtD,IAAMC,MAAM,GAAGhB,UAAU,CAACiB,GAAG,CAACP,QAAQ,CAAC;MACvC,IAAI,CAACM,MAAM,EACT,MAAM,IAAIE,KAAK,WAAAC,MAAA,CAAWT,QAAQ,kBAAe,CAAC;MAEpD,IAAIU,IAAI;MACR,IAAIL,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEK,IAAI,EAAE;QAAE;QACtB,IAAIC,KAAK,CAACC,OAAO,CAACP,UAAU,CAACK,IAAI,CAAC,EAAE;UAAA,IAAAG,gBAAA;UAClCH,IAAI,IAAAG,gBAAA,GAAGR,UAAU,CAACK,IAAI,cAAAG,gBAAA,uBAAfA,gBAAA,CAAiBC,GAAG,CAAC,UAAAC,IAAI;YAAA,OAAIA,IAAI,CAACX,QAAQ;UAAA,EAAC;QACpD,CAAC,MACI;UACH,IAAMY,IAAI,GAAG1B,UAAU,CAACiB,GAAG,CAACF,UAAU,CAACK,IAAI,CAAC;UAC5C,IAAI,CAACM,IAAI,EACP,MAAM,IAAIR,KAAK,SAAAC,MAAA,CAAST,QAAQ,kBAAe,CAAC;UAClDU,IAAI,GAAGM,IAAI,IAAMA,IAAI,CAAUC,QAAQ,CAAkBC,UAAU,CAACR,IAAI;QAC1E;MACF,CAAC,MACI,IAAIN,QAAQ,EAAE;QAAE;QACnB,IAAAe,gBAAA,GAAoBb,MAAM,CAACF,QAAQ;UAA3BgB,CAAC,GAAAD,gBAAA,CAADC,CAAC;UAAEC,CAAC,GAAAF,gBAAA,CAADE,CAAC;UAAEC,CAAC,GAAAH,gBAAA,CAADG,CAAC;QACfZ,IAAI,GAAG,CACL,CAACU,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,EACTlB,QAAQ,CACT;MACH;MACA,IAAI,CAACM,IAAI,EACP,MAAM,IAAIF,KAAK,CAAC,gBAAgB,CAAC;MACnC,IAAI,CAACe,eAAe,GAAG,IAAIlC,eAAe,CAACiB,MAAM,EAAEI,IAAI,EAAAc,aAAA,KAAOzB,IAAI,CAACI,IAAI,CAAE,CAAC;IAC5E;EAAC;IAAAP,GAAA;IAAAC,KAAA,EAED,SAAA4B,KAAA,EAAO;MACL,IAAI,CAACF,eAAe,CAACE,IAAI,CAAC,CAAC;IAC7B;EAAC;IAAA7B,GAAA;IAAAC,KAAA,EAED,SAAA6B,MAAA,EAAQ;MACN,IAAI,CAACH,eAAe,CAACG,KAAK,CAAC,CAAC;IAC9B;EAAC;IAAA9B,GAAA;IAAAC,KAAA,EAED,SAAA8B,QAAA,EAAU;MACR,IAAI,CAACJ,eAAe,CAACI,OAAO,CAAC,CAAC;IAChC;EAAC;IAAA/B,GAAA;IAAAC,KAAA,EAED,SAAA+B,QAAA,EAAU,CACV;EAAC;IAAAhC,GAAA;IAAAC,KAAA,EAED,SAAAgC,QAAA,EAAS;MACP,IAAI,CAACN,eAAe,CAACO,MAAM,CAAC,CAAC;IAC/B;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EAED,SAAAkC,OAAA,EAAS,CAET;EAAC;EAAA,OAAAxC,MAAA;AAAA;AAGH,eAAeA,MAAM"}
@@ -0,0 +1,27 @@
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
+ export var strategy = {
6
+ motion: function () {
7
+ var _motion = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
8
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
9
+ while (1) switch (_context.prev = _context.next) {
10
+ case 0:
11
+ _context.next = 2;
12
+ return import("./motion");
13
+ case 2:
14
+ return _context.abrupt("return", _context.sent.default);
15
+ case 3:
16
+ case "end":
17
+ return _context.stop();
18
+ }
19
+ }, _callee);
20
+ }));
21
+ function motion() {
22
+ return _motion.apply(this, arguments);
23
+ }
24
+ return motion;
25
+ }()
26
+ };
27
+ //# sourceMappingURL=strategy.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","strategy","motion","_motion","_callee","_callee$","_context","default"],"sources":["../../../src/module/animation/strategy.ts"],"sourcesContent":["export const strategy = {\n motion: async () => (await import('./motion')).default,\n}\n"],"mappings":"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"}
@@ -24,6 +24,7 @@ var Camera = /*#__PURE__*/function () {
24
24
  _defineProperty(this, "camera", void 0);
25
25
  _defineProperty(this, "controls", void 0);
26
26
  _defineProperty(this, "cameraUtils", void 0);
27
+ _defineProperty(this, "target", new Vector3(0, 0, 0));
27
28
  this.app = app;
28
29
  this.camera = app.sceneControl.camera;
29
30
  this.controls = app.sceneControl.controls;
@@ -115,15 +116,19 @@ var Camera = /*#__PURE__*/function () {
115
116
  }, {
116
117
  key: "setCameraLimitOption",
117
118
  value: function setCameraLimitOption(params) {
119
+ var _, _2, _3;
118
120
  var pitchLimit = params.pitchLimit,
119
121
  yawLimit = params.yawLimit,
120
122
  distanceLimit = params.distanceLimit;
121
123
  distanceLimit && (this.controls.minDistance = distanceLimit[0]);
122
- distanceLimit && (this.controls.maxDistance = distanceLimit[1]);
123
- pitchLimit && (this.controls.minPolarAngle = pitchLimit[0]);
124
- pitchLimit && (this.controls.maxPolarAngle = pitchLimit[1]);
125
- yawLimit && (this.controls.minAzimuthAngle = yawLimit[0]);
126
- yawLimit && (this.controls.maxAzimuthAngle = yawLimit[1]);
124
+ distanceLimit && (this.controls.maxDistance = (_ = distanceLimit[1]) !== null && _ !== void 0 ? _ : distanceLimit[0]);
125
+
126
+ // TODO: 不能使用控制器的相关参数控制,需要与游戏引擎保持一致
127
+
128
+ pitchLimit && (this.controls.minPolarAngle = MathUtils.degToRad(pitchLimit[0]));
129
+ pitchLimit && (this.controls.maxPolarAngle = MathUtils.degToRad((_2 = pitchLimit[1]) !== null && _2 !== void 0 ? _2 : pitchLimit[0]));
130
+ yawLimit && (this.controls.minAzimuthAngle = MathUtils.degToRad(yawLimit[0]));
131
+ yawLimit && (this.controls.maxAzimuthAngle = MathUtils.degToRad((_3 = yawLimit[1]) !== null && _3 !== void 0 ? _3 : yawLimit[0]));
127
132
  }
128
133
 
129
134
  /**
@@ -146,11 +151,8 @@ var Camera = /*#__PURE__*/function () {
146
151
  yaw = params.yaw,
147
152
  distance = params.distance;
148
153
  distance && this.setCameraDistance(distance);
149
-
150
- // @ts-ignore
151
- pitch && (this.camera.rotationParent.rotation.x = MathUtils.degToRad(pitch));
152
- // @ts-ignore
153
- yaw && (this.camera.rotationParent.rotation.y = MathUtils.degToRad(yaw));
154
+ yaw !== undefined && this.cameraUtils.setYaw(yaw);
155
+ pitch !== undefined && this.cameraUtils.setPitch(pitch);
154
156
  }
155
157
  }, {
156
158
  key: "setCameraDistance",
@@ -163,7 +165,8 @@ var Camera = /*#__PURE__*/function () {
163
165
  }
164
166
  }, {
165
167
  key: "setCameraTarget",
166
- value: function setCameraTarget(target) {
168
+ value: function setCameraTarget() {
169
+ var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.target.toArray();
167
170
  this.controls.target.copy(new Vector3().fromArray(target));
168
171
  }
169
172
 
@@ -176,11 +179,12 @@ var Camera = /*#__PURE__*/function () {
176
179
  value: (function () {
177
180
  var _set = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
178
181
  var _this2 = this;
179
- var _params$fov, fov, isTrigger, target, position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit, fsm;
182
+ var _params$fov, fov, isTrigger, _params$target, target, position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit, fsm;
180
183
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
181
184
  while (1) switch (_context2.prev = _context2.next) {
182
185
  case 0:
183
- _params$fov = params.fov, fov = _params$fov === void 0 ? 45 : _params$fov, isTrigger = params.isTrigger, target = params.target, position = params.position, distance = params.distance, pitch = params.pitch, yaw = params.yaw, pitchLimit = params.pitchLimit, yawLimit = params.yawLimit, distanceLimit = params.distanceLimit;
186
+ _params$fov = params.fov, fov = _params$fov === void 0 ? 45 : _params$fov, isTrigger = params.isTrigger, _params$target = params.target, target = _params$target === void 0 ? [0, 0, 0] : _params$target, position = params.position, distance = params.distance, pitch = params.pitch, yaw = params.yaw, pitchLimit = params.pitchLimit, yawLimit = params.yawLimit, distanceLimit = params.distanceLimit;
187
+ this.target = new Vector3().fromArray(target);
184
188
  fsm = new StateMachine({
185
189
  init: 'start',
186
190
  transitions: [{
@@ -248,7 +252,7 @@ var Camera = /*#__PURE__*/function () {
248
252
  position ? fsm.handlePosition() : fsm.handleAngle();
249
253
  fsm.handleLimit();
250
254
  return _context2.abrupt("return", this.get());
251
- case 8:
255
+ case 9:
252
256
  case "end":
253
257
  return _context2.stop();
254
258
  }
@@ -272,13 +276,46 @@ var Camera = /*#__PURE__*/function () {
272
276
  mode: 'orbitCamera',
273
277
  position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],
274
278
  target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],
275
- // @ts-ignore
276
- pitch: MathUtils.radToDeg(this.camera.rotationParent.rotation.x),
277
- // @ts-ignore
278
- yaw: MathUtils.radToDeg(this.camera.rotationParent.rotation.y),
279
- distance: this.controls.target.distanceTo(this.camera.position)
279
+ distance: this.controls.target.distanceTo(this.camera.position),
280
+ pitch: this.cameraUtils.getCurrentPitch(),
281
+ yaw: this.cameraUtils.getCurrentYaw()
280
282
  };
281
283
  }
284
+
285
+ /**
286
+ * follow object
287
+ * @param params
288
+ */
289
+ }, {
290
+ key: "follow",
291
+ value: function follow(params) {
292
+ var target = params.target,
293
+ _params$pitch = params.pitch,
294
+ pitch = _params$pitch === void 0 ? 30 : _params$pitch,
295
+ _params$yaw = params.yaw,
296
+ yaw = _params$yaw === void 0 ? 0 : _params$yaw,
297
+ _params$distance = params.distance,
298
+ distance = _params$distance === void 0 ? 0 : _params$distance,
299
+ _params$relativeRotat = params.relativeRotation,
300
+ relativeRotation = _params$relativeRotat === void 0 ? false : _params$relativeRotat;
301
+ var targetObject = hybridList.get(target);
302
+ this.cameraUtils.cancelAllFollow();
303
+ return this.cameraUtils.follow(targetObject, this.camera, {
304
+ relativeRotation: relativeRotation,
305
+ pitch: pitch,
306
+ yaw: yaw,
307
+ distance: distance
308
+ });
309
+ }
310
+
311
+ /**
312
+ * cancel follow
313
+ */
314
+ }, {
315
+ key: "cancelFollow",
316
+ value: function cancelFollow() {
317
+ this.cameraUtils.cancelAllFollow();
318
+ }
282
319
  }]);
283
320
  return Camera;
284
321
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Box3","MathUtils","Vector3","Camera","CameraUtils","StateMachine","MessageType","sendToMessage","EMessageStatus","hybridList","app","_this","camera","sceneControl","controls","cameraUtils","addEventListener","isTransitionPeriod","isTrigger","messageType","Event","messageName","status","Success","position","toArray","_focus","_callee","params","point","entity","box","_callee$","_context","get","concat","updateMatrixWorld","setFromObject","min","x","z","max","focus","_x","setCameraMode","setCameraOption","baseParams","fov","setCameraLimitOption","pitchLimit","yawLimit","distanceLimit","minDistance","maxDistance","minPolarAngle","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","setCameraPosition","copy","fromArray","setCameraAngle","pitch","yaw","distance","setCameraDistance","rotationParent","rotation","degToRad","direction","subVectors","normalize","newPosition","clone","add","multiplyScalar","setCameraTarget","_set","_callee2","_this2","_params$fov","fsm","_callee2$","_context2","init","transitions","from","to","methods","onHandleBaseOption","onHandleMode","onHandleTarget","onHandlePosition","onHandleAngle","onHandleLimit","handleBaseOption","handleMode","handleTarget","handlePosition","handleAngle","handleLimit","set","_x2","mode","radToDeg","distanceTo"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import { Box3, MathUtils, type OrbitControls, type PerspectiveCamera, Vector3 } from '@anov/3d-core'\nimport { Camera as CameraUtils } from '@anov/3d-ability'\nimport StateMachine from 'javascript-state-machine'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport type { BaseModule } from '../../utils/abstract'\nimport { EMessageStatus } from '../../messageStatus'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\nimport type { CameraAngleParams, CameraLimitParams, CameraSetOptions, baseCameraParams } from './type'\n\ntype vector3Array = [number, number, number]\n\nclass Camera implements BaseModule {\n app: Anov3D\n private camera: PerspectiveCamera\n private controls: OrbitControls\n private cameraUtils: CameraUtils\n\n constructor(app: Anov3D) {\n this.app = app\n this.camera = app.sceneControl.camera!\n this.controls = app.sceneControl.controls!\n this.cameraUtils = new CameraUtils(this.camera, this.controls, app.sceneControl)\n\n this.cameraUtils.addEventListener('change', () => {\n if ((this.cameraUtils.isTransitionPeriod && this.cameraUtils.isTrigger) || !this.cameraUtils.isTransitionPeriod) {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onCameraChanged',\n status: EMessageStatus.Success,\n },\n {\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n })\n }\n })\n }\n\n /**\n * focus camera\n * @param params\n */\n async focus(params: {\n target: vector3Array | vector3Array[] | string\n pitch?: number\n yaw?: number\n distance?: number\n duration?: number\n isTrigger?: boolean\n }) {\n const { target } = params\n\n let point = target\n\n if (typeof point === 'string') {\n const entity = hybridList.get(point)\n\n if (!entity)\n throw new Error(`entity ${target} not found`)\n\n entity.updateMatrixWorld()\n const box = new Box3().setFromObject(entity)\n\n point = [\n new Vector3(box.min.x, box.min.y, box.min.z).toArray(),\n new Vector3(box.min.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.min.x, box.max.y, box.min.z).toArray(),\n new Vector3(box.min.x, box.max.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.min.y, box.min.z).toArray(),\n new Vector3(box.max.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.max.y, box.min.z).toArray(),\n new Vector3(box.max.x, box.max.y, box.max.z).toArray(),\n ]\n }\n\n return await this.cameraUtils.focus({\n ...params,\n target: point,\n\n })\n }\n\n /**\n * set camera mode, example:free、orbit、firstPerson\n */\n private setCameraMode() {\n // now only support orbit mode, so now do nothing\n }\n\n /**\n * set camera base option, example:fov\n */\n private setCameraOption(baseParams: baseCameraParams) {\n const { fov } = baseParams\n this.camera.fov = fov\n }\n\n /**\n * set camera limit option, example:pitchLimit、yawLimit、distanceLimit\n * @param params\n */\n private setCameraLimitOption(params: CameraLimitParams) {\n const { pitchLimit, yawLimit, distanceLimit } = params\n\n distanceLimit && (this.controls.minDistance = distanceLimit![0])\n distanceLimit && (this.controls.maxDistance = distanceLimit![1])\n\n pitchLimit && (this.controls.minPolarAngle = pitchLimit![0])\n pitchLimit && (this.controls.maxPolarAngle = pitchLimit![1])\n\n yawLimit && (this.controls.minAzimuthAngle = yawLimit![0])\n yawLimit && (this.controls.maxAzimuthAngle = yawLimit![1])\n }\n\n /**\n * set camera position、target、distance\n */\n private setCameraPosition(position: number[]) {\n this.camera.position.copy(new Vector3().fromArray(position))\n }\n\n /**\n * set camera angle, example:pitch、yaw、distance\n * @param params\n */\n private setCameraAngle(params: CameraAngleParams) {\n const { pitch, yaw, distance } = params\n distance && this.setCameraDistance(distance)\n\n // @ts-ignore\n pitch && (this.camera.rotationParent.rotation.x = MathUtils.degToRad(pitch))\n // @ts-ignore\n yaw && (this.camera.rotationParent.rotation.y = MathUtils.degToRad(yaw))\n }\n\n private setCameraDistance(distance: number) {\n const target = this.controls.target\n const position = this.camera.position\n\n const direction = new Vector3().subVectors(position, target).normalize()\n const newPosition = target.clone().add(direction.multiplyScalar(distance))\n\n this.camera.position.copy(newPosition)\n }\n\n private setCameraTarget(target: number[]) {\n this.controls.target.copy(new Vector3().fromArray(target))\n }\n\n /**\n * set camera\n * @param params\n */\n async set(params: CameraSetOptions) {\n const { fov = 45, isTrigger, target, position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit } = params\n\n const fsm = new StateMachine({\n init: 'start',\n transitions: [\n { name: 'handleBaseOption', from: 'start', to: 'setBaseOption' },\n { name: 'handleMode', from: 'setBaseOption', to: 'setCameraMode' },\n { name: 'handleTarget', from: 'setCameraMode', to: 'setCameraTarget' },\n { name: 'handleMiddel', from: 'setCameraTarget', to: '*' },\n { name: 'handlePosition', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleAngle', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleLimit', from: '*' },\n ],\n methods: {\n onHandleBaseOption: () => this.setCameraOption({ fov }),\n onHandleMode: () => this.setCameraMode(),\n onHandleTarget: () => this.setCameraTarget(target),\n onHandlePosition: () => this.setCameraPosition(position),\n onHandleAngle: () => { this.setCameraAngle({ pitch, yaw, distance }) },\n onHandleLimit: () => this.setCameraLimitOption({ pitchLimit, yawLimit, distanceLimit }),\n },\n })\n\n fsm.handleBaseOption()\n fsm.handleMode()\n fsm.handleTarget()\n position ? fsm.handlePosition() : fsm.handleAngle()\n fsm.handleLimit()\n\n return this.get()\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n fov: this.camera.fov,\n mode: 'orbitCamera',\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n // @ts-ignore\n pitch: MathUtils.radToDeg(this.camera.rotationParent.rotation.x),\n // @ts-ignore\n yaw: MathUtils.radToDeg(this.camera.rotationParent.rotation.y),\n distance: this.controls.target.distanceTo(this.camera.position),\n }\n }\n}\n\nexport default Camera"],"mappings":"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"}
1
+ {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Box3","MathUtils","Vector3","Camera","CameraUtils","StateMachine","MessageType","sendToMessage","EMessageStatus","hybridList","app","_this","camera","sceneControl","controls","cameraUtils","addEventListener","isTransitionPeriod","isTrigger","messageType","Event","messageName","status","Success","position","toArray","_focus","_callee","params","point","entity","box","_callee$","_context","get","concat","updateMatrixWorld","setFromObject","min","x","z","max","focus","_x","setCameraMode","setCameraOption","baseParams","fov","setCameraLimitOption","_","_2","_3","pitchLimit","yawLimit","distanceLimit","minDistance","maxDistance","minPolarAngle","degToRad","maxPolarAngle","minAzimuthAngle","maxAzimuthAngle","setCameraPosition","copy","fromArray","setCameraAngle","pitch","yaw","distance","setCameraDistance","setYaw","setPitch","direction","subVectors","normalize","newPosition","clone","add","multiplyScalar","setCameraTarget","_set","_callee2","_this2","_params$fov","_params$target","fsm","_callee2$","_context2","init","transitions","from","to","methods","onHandleBaseOption","onHandleMode","onHandleTarget","onHandlePosition","onHandleAngle","onHandleLimit","handleBaseOption","handleMode","handleTarget","handlePosition","handleAngle","handleLimit","set","_x2","mode","distanceTo","getCurrentPitch","getCurrentYaw","follow","_params$pitch","_params$yaw","_params$distance","_params$relativeRotat","relativeRotation","targetObject","cancelAllFollow","cancelFollow"],"sources":["../../../src/module/camera/index.ts"],"sourcesContent":["import { Box3, MathUtils, type OrbitControls, type PerspectiveCamera, Quaternion, Vector3 } from '@anov/3d-core'\nimport { Camera as CameraUtils } from '@anov/3d-ability'\nimport StateMachine from 'javascript-state-machine'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport type { BaseModule } from '../../utils/abstract'\nimport { EMessageStatus } from '../../messageStatus'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\nimport type { CameraAngleParams, CameraLimitParams, CameraSetOptions, baseCameraParams } from './type'\n\ntype vector3Array = [number, number, number]\n\nclass Camera implements BaseModule {\n app: Anov3D\n private camera: PerspectiveCamera\n private controls: OrbitControls\n private cameraUtils: CameraUtils\n private target = new Vector3(0, 0, 0)\n\n constructor(app: Anov3D) {\n this.app = app\n this.camera = app.sceneControl.camera!\n this.controls = app.sceneControl.controls!\n this.cameraUtils = new CameraUtils(this.camera, this.controls, app.sceneControl)\n\n this.cameraUtils.addEventListener('change', () => {\n if ((this.cameraUtils.isTransitionPeriod && this.cameraUtils.isTrigger) || !this.cameraUtils.isTransitionPeriod) {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onCameraChanged',\n status: EMessageStatus.Success,\n },\n {\n position: this.camera.position.toArray(),\n target: this.controls.target.toArray(),\n })\n }\n })\n }\n\n /**\n * focus camera\n * @param params\n */\n async focus(params: {\n target: vector3Array | vector3Array[] | string\n pitch?: number\n yaw?: number\n distance?: number\n duration?: number\n isTrigger?: boolean\n }) {\n const { target } = params\n\n let point = target\n\n if (typeof point === 'string') {\n const entity = hybridList.get(point)\n\n if (!entity)\n throw new Error(`entity ${target} not found`)\n\n entity.updateMatrixWorld()\n const box = new Box3().setFromObject(entity)\n\n point = [\n new Vector3(box.min.x, box.min.y, box.min.z).toArray(), new Vector3(box.min.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.min.x, box.max.y, box.min.z).toArray(), new Vector3(box.min.x, box.max.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.min.y, box.min.z).toArray(), new Vector3(box.max.x, box.min.y, box.max.z).toArray(),\n new Vector3(box.max.x, box.max.y, box.min.z).toArray(), new Vector3(box.max.x, box.max.y, box.max.z).toArray(),\n ]\n }\n\n return await this.cameraUtils.focus({\n ...params,\n target: point,\n\n })\n }\n\n /**\n * set camera mode, example:free、orbit、firstPerson\n */\n private setCameraMode() {\n // now only support orbit mode, so now do nothing\n }\n\n /**\n * set camera base option, example:fov\n */\n private setCameraOption(baseParams: baseCameraParams) {\n const { fov } = baseParams\n this.camera.fov = fov\n }\n\n /**\n * set camera limit option, example:pitchLimit、yawLimit、distanceLimit\n * @param params\n */\n private setCameraLimitOption(params: CameraLimitParams) {\n const { pitchLimit, yawLimit, distanceLimit } = params\n\n distanceLimit && (this.controls.minDistance = distanceLimit![0])\n distanceLimit && (this.controls.maxDistance = distanceLimit![1] ?? distanceLimit![0])\n\n // TODO: 不能使用控制器的相关参数控制,需要与游戏引擎保持一致\n\n pitchLimit && (this.controls.minPolarAngle = MathUtils.degToRad(pitchLimit![0]))\n pitchLimit && (this.controls.maxPolarAngle = MathUtils.degToRad(pitchLimit![1] ?? pitchLimit![0]))\n\n yawLimit && (this.controls.minAzimuthAngle = MathUtils.degToRad(yawLimit![0]))\n yawLimit && (this.controls.maxAzimuthAngle = MathUtils.degToRad(yawLimit![1] ?? yawLimit![0]))\n }\n\n /**\n * set camera position、target、distance\n */\n private setCameraPosition(position: number[]) {\n this.camera.position.copy(new Vector3().fromArray(position))\n }\n\n /**\n * set camera angle, example:pitch、yaw、distance\n * @param params\n */\n private setCameraAngle(params: CameraAngleParams) {\n const { pitch, yaw, distance } = params\n distance && this.setCameraDistance(distance)\n\n yaw !== undefined && this.cameraUtils.setYaw(yaw)\n pitch !== undefined && this.cameraUtils.setPitch(pitch)\n }\n\n private setCameraDistance(distance: number) {\n const target = this.controls.target\n const position = this.camera.position\n\n const direction = new Vector3().subVectors(position, target).normalize()\n const newPosition = target.clone().add(direction.multiplyScalar(distance))\n\n this.camera.position.copy(newPosition)\n }\n\n private setCameraTarget(target: number[] = this.target.toArray()) {\n this.controls.target.copy(new Vector3().fromArray(target))\n }\n\n /**\n * set camera\n * @param params\n */\n async set(params: CameraSetOptions) {\n const { fov = 45, isTrigger, target = [0, 0, 0], position, distance, pitch, yaw, pitchLimit, yawLimit, distanceLimit } = params\n this.target = new Vector3().fromArray(target)\n\n const fsm = new StateMachine({\n init: 'start',\n transitions: [\n { name: 'handleBaseOption', from: 'start', to: 'setBaseOption' },\n { name: 'handleMode', from: 'setBaseOption', to: 'setCameraMode' },\n { name: 'handleTarget', from: 'setCameraMode', to: 'setCameraTarget' },\n { name: 'handleMiddel', from: 'setCameraTarget', to: '*' },\n { name: 'handlePosition', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleAngle', from: '*', to: 'setCameraLimitOption' },\n { name: 'handleLimit', from: '*' },\n ],\n methods: {\n onHandleBaseOption: () => this.setCameraOption({ fov }),\n onHandleMode: () => this.setCameraMode(),\n onHandleTarget: () => this.setCameraTarget(target),\n onHandlePosition: () => this.setCameraPosition(position),\n onHandleAngle: () => { this.setCameraAngle({ pitch, yaw, distance }) },\n onHandleLimit: () => this.setCameraLimitOption({ pitchLimit, yawLimit, distanceLimit }),\n },\n })\n\n fsm.handleBaseOption()\n fsm.handleMode()\n fsm.handleTarget()\n position ? fsm.handlePosition() : fsm.handleAngle()\n fsm.handleLimit()\n\n return this.get()\n }\n\n /**\n * get Camera info\n * @returns\n */\n get() {\n return {\n fov: this.camera.fov,\n mode: 'orbitCamera',\n position: [this.camera.position.x, this.camera.position.y, this.camera.position.z],\n target: [this.controls.target.x, this.controls.target.y, this.controls.target.z],\n distance: this.controls.target.distanceTo(this.camera.position),\n pitch: this.cameraUtils.getCurrentPitch(),\n yaw: this.cameraUtils.getCurrentYaw(),\n }\n }\n\n /**\n * follow object\n * @param params\n */\n follow(params: {\n target: string\n pitch?: number\n yaw?: number\n distance?: number\n relativeRotation?: boolean\n }) {\n const { target, pitch = 30, yaw = 0, distance = 0, relativeRotation = false } = params\n const targetObject = hybridList.get(target)\n\n this.cameraUtils.cancelAllFollow()\n\n return this.cameraUtils.follow(\n targetObject,\n this.camera,\n {\n relativeRotation,\n pitch,\n yaw,\n distance,\n },\n )\n }\n\n /**\n * cancel follow\n */\n cancelFollow() {\n this.cameraUtils.cancelAllFollow()\n }\n}\n\nexport default Camera"],"mappings":"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"}
@@ -9,6 +9,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
9
9
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
10
  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); }
11
11
  import { use } from '@anov/3d-core';
12
+ import _ from 'lodash';
12
13
  var BaseEntity = /*#__PURE__*/function () {
13
14
  function BaseEntity() {
14
15
  _classCallCheck(this, BaseEntity);
@@ -59,14 +60,16 @@ var BaseEntity = /*#__PURE__*/function () {
59
60
  key: "create",
60
61
  value: function () {
61
62
  var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(json) {
63
+ var mesh;
62
64
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
63
65
  while (1) switch (_context2.prev = _context2.next) {
64
66
  case 0:
65
67
  _context2.next = 2;
66
68
  return this.applyStrategy('create', json);
67
69
  case 2:
68
- return _context2.abrupt("return", _context2.sent);
69
- case 3:
70
+ mesh = _context2.sent;
71
+ return _context2.abrupt("return", mesh);
72
+ case 4:
70
73
  case "end":
71
74
  return _context2.stop();
72
75
  }
@@ -81,14 +84,25 @@ var BaseEntity = /*#__PURE__*/function () {
81
84
  key: "update",
82
85
  value: function () {
83
86
  var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(mesh, json) {
87
+ var option;
84
88
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
85
89
  while (1) switch (_context3.prev = _context3.next) {
86
90
  case 0:
87
- _context3.next = 2;
88
- return this.applyStrategy('update', json, mesh);
89
- case 2:
90
- return _context3.abrupt("return", _context3.sent);
91
- case 3:
91
+ option = mesh.userData.option || {};
92
+ _.mergeWith(option, json, this.customizer);
93
+ if (!this.isSpecifiedFieldsChanged(json)) {
94
+ _context3.next = 7;
95
+ break;
96
+ }
97
+ this.addToScene(mesh, json, false);
98
+ return _context3.abrupt("return", mesh);
99
+ case 7:
100
+ _context3.next = 9;
101
+ return this.applyStrategy('update', option, mesh);
102
+ case 9:
103
+ mesh = _context3.sent;
104
+ return _context3.abrupt("return", mesh);
105
+ case 11:
92
106
  case "end":
93
107
  return _context3.stop();
94
108
  }
@@ -108,16 +122,17 @@ var BaseEntity = /*#__PURE__*/function () {
108
122
  while (1) switch (_context4.prev = _context4.next) {
109
123
  case 0:
110
124
  _context4.next = 2;
111
- return this.registerStrategy(json.style);
125
+ return this.registerStrategy(json.style || 'default');
112
126
  case 2:
113
127
  strategy = _context4.sent;
114
128
  _context4.next = 5;
115
129
  return strategy[method](json, updateMesh);
116
130
  case 5:
117
131
  mesh = _context4.sent;
132
+ mesh.userData.option = json;
118
133
  this.addToScene(mesh, json);
119
134
  return _context4.abrupt("return", mesh);
120
- case 8:
135
+ case 9:
121
136
  case "end":
122
137
  return _context4.stop();
123
138
  }
@@ -128,16 +143,32 @@ var BaseEntity = /*#__PURE__*/function () {
128
143
  }
129
144
  return applyStrategy;
130
145
  }()
146
+ }, {
147
+ key: "customizer",
148
+ value: function customizer(objValue, srcValue) {
149
+ if (_.isArray(objValue) && srcValue) return srcValue;
150
+ }
151
+ }, {
152
+ key: "isSpecifiedFieldsChanged",
153
+ value: function isSpecifiedFieldsChanged(obj) {
154
+ var fieldsToCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['id', 'visible', 'position', 'scale', 'rotation'];
155
+ for (var key in obj) {
156
+ if (fieldsToCheck.includes(key)) continue;
157
+ return false;
158
+ }
159
+ return true;
160
+ }
131
161
  }, {
132
162
  key: "addToScene",
133
163
  value: function addToScene(mesh, json) {
164
+ var isAdd = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
134
165
  var scale = json.scale,
135
166
  position = json.position,
136
167
  visible = json.visible;
137
168
  if (scale) mesh.scale.fromArray(scale);
138
169
  if (position) mesh.position.fromArray(position);
139
170
  if (visible !== undefined) mesh.visible = visible;
140
- use.useScene().scene.add(mesh);
171
+ isAdd && use.useScene().scene.add(mesh);
141
172
  }
142
173
  }]);
143
174
  return BaseEntity;