@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
package/dist/anov3d.js CHANGED
@@ -1,6 +1,9 @@
1
+ var _excluded = ["position"];
1
2
  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
3
  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
4
  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; }
5
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
6
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
4
7
  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); } }
5
8
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
6
9
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -11,56 +14,51 @@ import { SceneControl, Vector3, utils } from '@anov/3d-core';
11
14
  import EventBus from "./module/eventBus";
12
15
  import { EWeatherType } from "./module/environment/weather/type";
13
16
  import { object2Vector3 } from "./utils/index";
14
- import Model from "./module/model";
15
17
  import { defaultCameraParams } from "./index";
16
18
  var Anov3D = /*#__PURE__*/_createClass(function Anov3D(opts) {
17
- var _camera$fov, _camera$near, _camera$far, _opts$size$width, _opts$size, _opts$size$height, _opts$size2, _opts$size$width2, _opts$size3, _opts$size$height2, _opts$size4, _scene$controls, _opts$camera;
18
19
  _classCallCheck(this, Anov3D);
19
20
  _defineProperty(this, "zoomRatio", 1);
20
21
  _defineProperty(this, "opts", void 0);
21
22
  _defineProperty(this, "sceneControl", void 0);
22
23
  _defineProperty(this, "eventBus", void 0);
23
24
  _defineProperty(this, "EWeatherType", EWeatherType);
24
- _defineProperty(this, "model", void 0);
25
25
  this.opts = opts;
26
- var _ref = opts || {},
27
- _ref$camera = _ref.camera,
28
- camera = _ref$camera === void 0 ? {} : _ref$camera;
29
- var cameraParams = {
30
- fov: (_camera$fov = camera.fov) !== null && _camera$fov !== void 0 ? _camera$fov : defaultCameraParams.fov,
31
- near: (_camera$near = camera.near) !== null && _camera$near !== void 0 ? _camera$near : defaultCameraParams.near,
32
- far: (_camera$far = camera.far) !== null && _camera$far !== void 0 ? _camera$far : defaultCameraParams.far,
33
- position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position)
34
- };
26
+
27
+ // 获取默认和传入的相机参数
28
+ var _opts$camera = opts.camera,
29
+ camera = _opts$camera === void 0 ? {} : _opts$camera,
30
+ _opts$container = opts.container,
31
+ clientWidth = _opts$container.clientWidth,
32
+ clientHeight = _opts$container.clientHeight;
33
+ var defaultPosition = defaultCameraParams.position,
34
+ defaultRest = _objectWithoutProperties(defaultCameraParams, _excluded);
35
+
36
+ // 初始化相机参数
37
+ var cameraParams = _objectSpread(_objectSpread(_objectSpread({}, defaultRest), camera), {}, {
38
+ position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition)
39
+ });
35
40
  var scene = new SceneControl({
36
- orbitControls: opts.controls || {
41
+ orbitControls: {
37
42
  use: true
38
43
  },
39
- defCameraOps: _objectSpread({
40
- aspect: ((_opts$size$width = opts === null || opts === void 0 || (_opts$size = opts.size) === null || _opts$size === void 0 ? void 0 : _opts$size.width) !== null && _opts$size$width !== void 0 ? _opts$size$width : opts.container.clientWidth) / ((_opts$size$height = opts === null || opts === void 0 || (_opts$size2 = opts.size) === null || _opts$size2 === void 0 ? void 0 : _opts$size2.height) !== null && _opts$size$height !== void 0 ? _opts$size$height : opts.container.clientHeight)
41
- }, cameraParams),
44
+ defCameraOps: _objectSpread(_objectSpread({}, cameraParams), {}, {
45
+ aspect: clientWidth / clientHeight
46
+ }),
42
47
  rendererOps: {
43
- shadowMap: true,
44
- size: {
45
- width: (_opts$size$width2 = opts === null || opts === void 0 || (_opts$size3 = opts.size) === null || _opts$size3 === void 0 ? void 0 : _opts$size3.width) !== null && _opts$size$width2 !== void 0 ? _opts$size$width2 : opts.container.clientWidth,
46
- height: (_opts$size$height2 = opts === null || opts === void 0 || (_opts$size4 = opts.size) === null || _opts$size4 === void 0 ? void 0 : _opts$size4.height) !== null && _opts$size$height2 !== void 0 ? _opts$size$height2 : opts.container.clientHeight
47
- }
48
+ shadowMap: true
48
49
  },
49
50
  reset: true,
50
51
  css2DRenderer: true,
51
52
  css3DRenderer: true,
52
53
  ambientLight: true
53
- // fog: 'FogExp2' as any,
54
54
  });
55
55
  scene.render(opts.container);
56
- (_scene$controls = scene.controls) === null || _scene$controls === void 0 || _scene$controls.target.copy((_opts$camera = opts.camera) !== null && _opts$camera !== void 0 && _opts$camera.target ? new Vector3().fromArray(opts.camera.target) : object2Vector3(defaultCameraParams.lookAt));
56
+ scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt));
57
57
  utils.emitter.emit('scene-completed', scene);
58
58
 
59
59
  // 不考虑 tree-shaking
60
60
  this.sceneControl = scene;
61
61
  this.eventBus = new EventBus(this);
62
- this.model = new Model();
63
- this.opts.model && this.model.load(this.opts.model);
64
62
  utils.storeManagement.set('event-bus', this.eventBus);
65
63
  utils.emitter.emit('instantiation-completed', this);
66
64
  });
@@ -1 +1 @@
1
- {"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","Model","defaultCameraParams","Anov3D","_createClass","opts","_camera$fov","_camera$near","_camera$far","_opts$size$width","_opts$size","_opts$size$height","_opts$size2","_opts$size$width2","_opts$size3","_opts$size$height2","_opts$size4","_scene$controls","_opts$camera","_classCallCheck","_defineProperty","_ref","_ref$camera","camera","cameraParams","fov","near","far","position","fromArray","scene","orbitControls","controls","use","defCameraOps","_objectSpread","aspect","size","width","container","clientWidth","height","clientHeight","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","target","copy","lookAt","emitter","emit","sceneControl","eventBus","model","load","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, lib, use, utils } from '@anov/3d-core'\nimport EventBus from './module/eventBus'\nimport { EWeatherType } from './module/environment/weather/type'\nimport type { InitOptions } from './applicationApi'\nimport { object2Vector3 } from './utils/index'\nimport Model from './module/model'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n size?: {\n width: number\n height: number\n }\n camera?: InitOptions['camera']\n environment?: InitOptions['environment']\n model?: InitOptions['model']\n controls?: InitOptions['controls']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n model: Model\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n const { camera = {} } = opts || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position),\n }\n\n const scene = new SceneControl({\n orbitControls: opts.controls || { use: true },\n defCameraOps: {\n aspect: (opts?.size?.width ?? opts.container.clientWidth) / (opts?.size?.height ?? opts.container.clientHeight),\n ...cameraParams,\n },\n rendererOps: {\n shadowMap: true,\n size: {\n width: opts?.size?.width ?? opts.container.clientWidth,\n height: opts?.size?.height ?? opts.container.clientHeight,\n },\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n // fog: 'FogExp2' as any,\n })\n\n scene.render(opts.container)\n\n scene.controls?.target.copy(opts.camera?.target ? new Vector3().fromArray(opts.camera.target) : object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n\n this.eventBus = new EventBus(this)\n this.model = new Model()\n this.opts.model && (this.model.load(this.opts.model))\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":";;;;;;;;;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAYC,KAAK,QAAQ,eAAe;AACtE,OAAOC,QAAQ;AACf,SAASC,YAAY;AAErB,SAASC,cAAc;AACvB,OAAOC,KAAK;AACZ,SAASC,mBAAmB;AAAiB,IAcvCC,MAAM,gBAAAC,YAAA,CAQV,SAAAD,OAAYE,IAAmB,EAAE;EAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,WAAA,EAAAC,gBAAA,EAAAC,UAAA,EAAAC,iBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,WAAA,EAAAC,kBAAA,EAAAC,WAAA,EAAAC,eAAA,EAAAC,YAAA;EAAAC,eAAA,OAAAhB,MAAA;EAAAiB,eAAA,oBAPrB,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA,uBAIuBrB,YAAY;EAAAqB,eAAA;EAI9C,IAAI,CAACf,IAAI,GAAGA,IAAI;EAChB,IAAAgB,IAAA,GAAwBhB,IAAI,IAAI,CAAC,CAAC;IAAAiB,WAAA,GAAAD,IAAA,CAA1BE,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;EAEnB,IAAME,YAAY,GAAG;IACnBC,GAAG,GAAAnB,WAAA,GAAEiB,MAAM,CAACE,GAAG,cAAAnB,WAAA,cAAAA,WAAA,GAAIJ,mBAAmB,CAACuB,GAAG;IAC1CC,IAAI,GAAAnB,YAAA,GAAEgB,MAAM,CAACG,IAAI,cAAAnB,YAAA,cAAAA,YAAA,GAAIL,mBAAmB,CAACwB,IAAI;IAC7CC,GAAG,GAAAnB,WAAA,GAAEe,MAAM,CAACI,GAAG,cAAAnB,WAAA,cAAAA,WAAA,GAAIN,mBAAmB,CAACyB,GAAG;IAC1CC,QAAQ,EAAEL,MAAM,CAACK,QAAQ,GAAG,IAAIhC,OAAO,CAAC,CAAC,CAACiC,SAAS,CAACN,MAAM,CAACK,QAAQ,CAAC,GAAG5B,cAAc,CAACE,mBAAmB,CAAC0B,QAAQ;EACpH,CAAC;EAED,IAAME,KAAK,GAAG,IAAInC,YAAY,CAAC;IAC7BoC,aAAa,EAAE1B,IAAI,CAAC2B,QAAQ,IAAI;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC7CC,YAAY,EAAAC,aAAA;MACVC,MAAM,EAAE,EAAA3B,gBAAA,GAACJ,IAAI,aAAJA,IAAI,gBAAAK,UAAA,GAAJL,IAAI,CAAEgC,IAAI,cAAA3B,UAAA,uBAAVA,UAAA,CAAY4B,KAAK,cAAA7B,gBAAA,cAAAA,gBAAA,GAAIJ,IAAI,CAACkC,SAAS,CAACC,WAAW,MAAA7B,iBAAA,GAAKN,IAAI,aAAJA,IAAI,gBAAAO,WAAA,GAAJP,IAAI,CAAEgC,IAAI,cAAAzB,WAAA,uBAAVA,WAAA,CAAY6B,MAAM,cAAA9B,iBAAA,cAAAA,iBAAA,GAAIN,IAAI,CAACkC,SAAS,CAACG,YAAY;IAAC,GAC5GlB,YAAY,CAChB;IACDmB,WAAW,EAAE;MACXC,SAAS,EAAE,IAAI;MACfP,IAAI,EAAE;QACJC,KAAK,GAAAzB,iBAAA,GAAER,IAAI,aAAJA,IAAI,gBAAAS,WAAA,GAAJT,IAAI,CAAEgC,IAAI,cAAAvB,WAAA,uBAAVA,WAAA,CAAYwB,KAAK,cAAAzB,iBAAA,cAAAA,iBAAA,GAAIR,IAAI,CAACkC,SAAS,CAACC,WAAW;QACtDC,MAAM,GAAA1B,kBAAA,GAAEV,IAAI,aAAJA,IAAI,gBAAAW,WAAA,GAAJX,IAAI,CAAEgC,IAAI,cAAArB,WAAA,uBAAVA,WAAA,CAAYyB,MAAM,cAAA1B,kBAAA,cAAAA,kBAAA,GAAIV,IAAI,CAACkC,SAAS,CAACG;MAC/C;IACF,CAAC;IACDG,KAAK,EAAE,IAAI;IACXC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;IACd;EACF,CAAC,CAAC;EAEFlB,KAAK,CAACmB,MAAM,CAAC5C,IAAI,CAACkC,SAAS,CAAC;EAE5B,CAAAtB,eAAA,GAAAa,KAAK,CAACE,QAAQ,cAAAf,eAAA,eAAdA,eAAA,CAAgBiC,MAAM,CAACC,IAAI,CAAC,CAAAjC,YAAA,GAAAb,IAAI,CAACkB,MAAM,cAAAL,YAAA,eAAXA,YAAA,CAAagC,MAAM,GAAG,IAAItD,OAAO,CAAC,CAAC,CAACiC,SAAS,CAACxB,IAAI,CAACkB,MAAM,CAAC2B,MAAM,CAAC,GAAGlD,cAAc,CAACE,mBAAmB,CAACkD,MAAM,CAAC,CAAC;EAE3IvD,KAAK,CAACwD,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAExB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACyB,YAAY,GAAGzB,KAAK;EAEzB,IAAI,CAAC0B,QAAQ,GAAG,IAAI1D,QAAQ,CAAC,IAAI,CAAC;EAClC,IAAI,CAAC2D,KAAK,GAAG,IAAIxD,KAAK,CAAC,CAAC;EACxB,IAAI,CAACI,IAAI,CAACoD,KAAK,IAAK,IAAI,CAACA,KAAK,CAACC,IAAI,CAAC,IAAI,CAACrD,IAAI,CAACoD,KAAK,CAAE;EAErD5D,KAAK,CAAC8D,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACJ,QAAQ,CAAC;EACrD3D,KAAK,CAACwD,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAenD,MAAM"}
1
+ {"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","defaultCameraParams","Anov3D","_createClass","opts","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","defaultPosition","position","defaultRest","_objectWithoutProperties","_excluded","cameraParams","_objectSpread","fromArray","scene","orbitControls","use","defCameraOps","aspect","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","controls","target","copy","lookAt","emitter","emit","sceneControl","eventBus","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { SceneControl, Vector3, utils } from '@anov/3d-core'\nimport EventBus from './module/eventBus'\nimport { EWeatherType } from './module/environment/weather/type'\nimport { object2Vector3 } from './utils/index'\nimport type { InitOptions } from './applicationApiType'\nimport { defaultCameraParams } from './index'\n\ntype Anov3DOptions = {\n container: HTMLElement\n camera?: InitOptions['camera']\n}\n\nclass Anov3D {\n zoomRatio = 1\n opts: Anov3DOptions\n sceneControl: SceneControl\n eventBus: EventBus\n EWeatherType: typeof EWeatherType = EWeatherType\n\n constructor(opts: Anov3DOptions) {\n this.opts = opts\n\n // 获取默认和传入的相机参数\n const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const { position: defaultPosition, ...defaultRest } = defaultCameraParams\n\n // 初始化相机参数\n const cameraParams = {\n ...defaultRest,\n ...camera,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultPosition),\n }\n\n const scene = new SceneControl({\n orbitControls: { use: true },\n defCameraOps: {\n ...cameraParams,\n aspect: clientWidth / clientHeight,\n },\n rendererOps: {\n shadowMap: true,\n },\n reset: true,\n css2DRenderer: true,\n css3DRenderer: true,\n ambientLight: true,\n })\n\n scene.render(opts.container)\n scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt))\n\n utils.emitter.emit('scene-completed', scene)\n\n // 不考虑 tree-shaking\n this.sceneControl = scene\n this.eventBus = new EventBus(this)\n\n utils.storeManagement.set('event-bus', this.eventBus)\n utils.emitter.emit('instantiation-completed', this)\n }\n}\n\nexport default Anov3D"],"mappings":";;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,OAAO,EAAEC,KAAK,QAAQ,eAAe;AAC5D,OAAOC,QAAQ;AACf,SAASC,YAAY;AACrB,SAASC,cAAc;AAEvB,SAASC,mBAAmB;AAAiB,IAOvCC,MAAM,gBAAAC,YAAA,CAOV,SAAAD,OAAYE,IAAmB,EAAE;EAAAC,eAAA,OAAAH,MAAA;EAAAI,eAAA,oBANrB,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA;EAAAA,eAAA,uBAIuBP,YAAY;EAG9C,IAAI,CAACK,IAAI,GAAGA,IAAI;;EAEhB;EACA,IAAAG,YAAA,GAAkEH,IAAI,CAA9DI,MAAM;IAANA,MAAM,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;IAAAE,eAAA,GAA+CL,IAAI,CAAjDM,SAAS;IAAIC,WAAW,GAAAF,eAAA,CAAXE,WAAW;IAAEC,YAAY,GAAAH,eAAA,CAAZG,YAAY;EAC3D,IAAkBC,eAAe,GAAqBZ,mBAAmB,CAAjEa,QAAQ;IAAsBC,WAAW,GAAAC,wBAAA,CAAKf,mBAAmB,EAAAgB,SAAA;;EAEzE;EACA,IAAMC,YAAY,GAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,KACbJ,WAAW,GACXP,MAAM;IACTM,QAAQ,EAAEN,MAAM,CAACM,QAAQ,GAAG,IAAIlB,OAAO,CAAC,CAAC,CAACwB,SAAS,CAACZ,MAAM,CAACM,QAAQ,CAAC,GAAGd,cAAc,CAACa,eAAe;EAAC,EACvG;EAED,IAAMQ,KAAK,GAAG,IAAI1B,YAAY,CAAC;IAC7B2B,aAAa,EAAE;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC5BC,YAAY,EAAAL,aAAA,CAAAA,aAAA,KACPD,YAAY;MACfO,MAAM,EAAEd,WAAW,GAAGC;IAAY,EACnC;IACDc,WAAW,EAAE;MACXC,SAAS,EAAE;IACb,CAAC;IACDC,KAAK,EAAE,IAAI;IACXC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEFV,KAAK,CAACW,MAAM,CAAC5B,IAAI,CAACM,SAAS,CAAC;EAC5BW,KAAK,CAACY,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACnC,cAAc,CAACC,mBAAmB,CAACmC,MAAM,CAAC,CAAC;EAEtEvC,KAAK,CAACwC,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAEjB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACkB,YAAY,GAAGlB,KAAK;EACzB,IAAI,CAACmB,QAAQ,GAAG,IAAI1C,QAAQ,CAAC,IAAI,CAAC;EAElCD,KAAK,CAAC4C,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACF,QAAQ,CAAC;EACrD3C,KAAK,CAACwC,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAepC,MAAM"}
@@ -11,18 +11,16 @@ import { utils } from '@anov/3d-core';
11
11
  import { getFnByFnkey } from "./utils/index";
12
12
  import { MessageType, sendToMessage } from "./utils/messageFn";
13
13
  import { EMessageStatus } from "./messageStatus";
14
- import Factory3D from "./factory/3d";
15
- import Anov3D, { defaultCameraParams } from "./index";
14
+ import FileParse from "./module/scene/fileParse";
15
+ import Anov3D from "./index";
16
16
  var storeManagement = utils.storeManagement;
17
17
  var Application = /*#__PURE__*/function () {
18
- function Application(opts, progressCb) {
18
+ function Application(opts) {
19
19
  _classCallCheck(this, Application);
20
20
  _defineProperty(this, "container", void 0);
21
21
  _defineProperty(this, "iEngine", void 0);
22
- _defineProperty(this, "progressCb", void 0);
23
- _defineProperty(this, "lastProgressCount", 0);
24
22
  this.container = opts.el;
25
- this.progressCb = progressCb;
23
+ utils.storeManagement.set('decoderPath', opts.decoderPath);
26
24
  sendToMessage({
27
25
  messageType: MessageType.Api,
28
26
  messageName: 'engineReady',
@@ -32,82 +30,28 @@ var Application = /*#__PURE__*/function () {
32
30
  _createClass(Application, [{
33
31
  key: "init",
34
32
  value: function init(params, id) {
35
- var _this = this;
36
33
  try {
37
- var _camera$fov, _camera$near, _camera$far, _params$size$width, _params$size, _params$size$height, _params$size2, _params$environment, _params$environment2, _set$zoomRatio;
34
+ var _set$zoomRatio;
38
35
  var _ref = params || {},
39
36
  _ref$camera = _ref.camera,
40
37
  camera = _ref$camera === void 0 ? {} : _ref$camera,
41
38
  set = _ref.set;
42
39
  var cameraParams = {
43
- fov: (_camera$fov = camera.fov) !== null && _camera$fov !== void 0 ? _camera$fov : defaultCameraParams.fov,
44
- near: (_camera$near = camera.near) !== null && _camera$near !== void 0 ? _camera$near : defaultCameraParams.near,
45
- far: (_camera$far = camera.far) !== null && _camera$far !== void 0 ? _camera$far : defaultCameraParams.far,
46
- position: camera.position,
47
- target: camera.target
40
+ position: camera.position
48
41
  };
49
42
  var anov3D = new Anov3D({
50
43
  container: this.container,
51
- model: params !== null && params !== void 0 && params.case ? '' : params === null || params === void 0 ? void 0 : params.model,
52
- // temporary solution by LM
53
- size: {
54
- width: (_params$size$width = params === null || params === void 0 || (_params$size = params.size) === null || _params$size === void 0 ? void 0 : _params$size.width) !== null && _params$size$width !== void 0 ? _params$size$width : this.container.clientWidth,
55
- height: (_params$size$height = params === null || params === void 0 || (_params$size2 = params.size) === null || _params$size2 === void 0 ? void 0 : _params$size2.height) !== null && _params$size$height !== void 0 ? _params$size$height : this.container.clientHeight
56
- },
57
- camera: _objectSpread({}, cameraParams),
58
- environment: {
59
- weather: params === null || params === void 0 || (_params$environment = params.environment) === null || _params$environment === void 0 ? void 0 : _params$environment.weather,
60
- time: params === null || params === void 0 || (_params$environment2 = params.environment) === null || _params$environment2 === void 0 ? void 0 : _params$environment2.time
61
- },
62
- controls: params === null || params === void 0 ? void 0 : params.controls
44
+ camera: _objectSpread({}, cameraParams)
63
45
  });
64
46
  this.iEngine = anov3D;
65
47
  this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
66
48
  storeManagement.set('container', this.container);
67
- var caseInstance = (params === null || params === void 0 ? void 0 : params.case) && this.loadCase(anov3D, params);
68
- if (caseInstance) {
69
- // @ts-ignore
70
- this.iEngine.caseInstance = caseInstance;
71
- caseInstance.loadingManager.onLoad = function () {
72
- sendToMessage({
73
- messageType: MessageType.Api,
74
- messageName: 'core.init',
75
- status: EMessageStatus.Success,
76
- id: id
77
- });
78
- };
79
- caseInstance.loadingManager.onProgress = function (_, loaded, total) {
80
- var progress = loaded / total;
81
- if (_this.progressCb && _this.lastProgressCount <= progress) {
82
- _this.progressCb(progress);
83
- _this.lastProgressCount = progress;
84
- }
85
- if (progress >= 1) {
86
- sendToMessage({
87
- messageType: MessageType.Api,
88
- messageName: 'core.init',
89
- status: EMessageStatus.Success,
90
- id: id
91
- });
92
- }
93
- sendToMessage({
94
- messageType: MessageType.Event,
95
- messageName: 'onInitProgress',
96
- status: EMessageStatus.Success,
97
- id: id
98
- }, {
99
- progress: progress
100
- });
101
- };
102
- } else {
103
- // 空场景,返回初始成功消息
104
- sendToMessage({
105
- messageType: MessageType.Api,
106
- messageName: 'core.init',
107
- status: EMessageStatus.Success,
108
- id: id
109
- });
110
- }
49
+ sendToMessage({
50
+ messageType: MessageType.Api,
51
+ messageName: 'core.init',
52
+ status: EMessageStatus.Success,
53
+ id: id
54
+ });
111
55
  } catch (error) {
112
56
  sendToMessage({
113
57
  messageType: MessageType.Api,
@@ -118,12 +62,54 @@ var Application = /*#__PURE__*/function () {
118
62
  console.error(error);
119
63
  }
120
64
  }
65
+ }, {
66
+ key: "initScene",
67
+ value: function initScene(params, id) {
68
+ try {
69
+ var _scc$nodes;
70
+ var scc = params.scc;
71
+ // 相机参数
72
+ var cameraNode = scc === null || scc === void 0 || (_scc$nodes = scc.nodes) === null || _scc$nodes === void 0 ? void 0 : _scc$nodes.find(function (node) {
73
+ return node.type === 'camera';
74
+ });
75
+ var cameraParams = cameraNode ? _objectSpread(_objectSpread({}, cameraNode.private || {}), {}, {
76
+ position: cameraNode.position
77
+ }) : undefined;
78
+ var anov3D = new Anov3D({
79
+ container: this.container,
80
+ camera: cameraParams
81
+ });
82
+ this.iEngine = anov3D;
83
+ storeManagement.set('container', this.container);
84
+
85
+ // 解析SCC
86
+ var sccParse = new FileParse(anov3D, scc);
87
+ sccParse.parseScene();
88
+ sendToMessage({
89
+ messageType: MessageType.Api,
90
+ messageName: 'scene.init',
91
+ status: EMessageStatus.Success,
92
+ id: id
93
+ });
94
+ } catch (error) {
95
+ sendToMessage({
96
+ messageType: MessageType.Api,
97
+ messageName: 'scene.init',
98
+ status: EMessageStatus.EventHandleFailed,
99
+ id: id
100
+ });
101
+ }
102
+ }
121
103
  }, {
122
104
  key: "sendMessage",
123
105
  value: function sendMessage(req) {
106
+ // core.init 遗留逻辑
124
107
  if (req.name === 'Core.init' || req.name === 'core.init') {
125
108
  this.init(req.params, req.id);
126
109
  return;
110
+ } else if (req.name === 'scene.init') {
111
+ this.initScene(req.params, req.id);
112
+ return;
127
113
  }
128
114
  if (!this.iEngine) throw new Error('please init first!');
129
115
  var fn = getFnByFnkey(this.iEngine, req.name, req.id);
@@ -153,33 +139,14 @@ var Application = /*#__PURE__*/function () {
153
139
  value: function receiveMessage(eventName, cb) {
154
140
  utils.storeManagement.set(eventName, cb);
155
141
  }
156
-
157
- // 此方法 用于直接加载案例
158
- }, {
159
- key: "loadCase",
160
- value: function loadCase(anov3D, option) {
161
- switch (option.case) {
162
- case 'factory':
163
- // eslint-disable-next-line no-case-declarations
164
- var factory = new Factory3D({
165
- model: option.model,
166
- environment: option.envMaps.imgBox,
167
- decoderPath: option.decoderPath,
168
- controls: option.controls
169
- });
170
- factory.renderScene(anov3D.sceneControl);
171
- return factory;
172
- }
173
- }
174
142
  }]);
175
143
  return Application;
176
144
  }();
177
145
  /**
178
- * createInstance
146
+ * create an instance of Application
179
147
  * @returns
180
148
  */
181
149
  export var createInstance = function createInstance(opts) {
182
- var progressCb = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {};
183
- return new Application(opts, progressCb !== null && progressCb !== void 0 ? progressCb : function () {});
150
+ return new Application(opts);
184
151
  };
185
152
  //# sourceMappingURL=applicationApi.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Factory3D","Anov3D","defaultCameraParams","storeManagement","Application","opts","progressCb","_classCallCheck","_defineProperty","container","el","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_this","_camera$fov","_camera$near","_camera$far","_params$size$width","_params$size","_params$size$height","_params$size2","_params$environment","_params$environment2","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","fov","near","far","position","target","anov3D","model","case","size","width","clientWidth","height","clientHeight","_objectSpread","environment","weather","time","controls","iEngine","zoomRatio","caseInstance","loadCase","loadingManager","onLoad","onProgress","_","loaded","total","progress","lastProgressCount","Event","error","EventHandleFailed","console","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","option","factory","envMaps","imgBox","decoderPath","renderScene","sceneControl","createInstance","arguments","length","undefined"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport Factory3D from './factory/3d'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nexport type InitOptions = {\n case?: string // 案例名称,用于兼容init直接加载项目\n camera?: {\n fov?: number\n near?: number\n far?: number\n position?: [\n number,\n number,\n number,\n ]\n target?: [\n number,\n number,\n number,\n ]\n }\n model?: string\n decoderPath?: string // DRACO压缩 资源文件路径\n size?: {\n width: number\n height: number\n }\n environment?: {\n weather?: string\n time?: number\n }\n envMaps: {\n use?: boolean\n imgBox?: Array<string> | string\n }\n controls: {\n // 相机缩放范围\n minDistance?: number\n maxDistance?: number\n // 上下旋转范围\n minPolarAngle?: number// 默认值0\n maxPolarAngle?: number\n // 左右旋转范围\n minAzimuthAngle?: number\n maxAzimuthAngle?: number\n }\n set?: {\n zoomRatio?: number\n }\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D | undefined\n private progressCb: (progress: number) => {}\n private lastProgressCount = 0\n\n constructor(opts: ApplicationOptions, progressCb: () => {}) {\n this.container = opts.el\n this.progressCb = progressCb\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n fov: camera.fov ?? defaultCameraParams.fov,\n near: camera.near ?? defaultCameraParams.near,\n far: camera.far ?? defaultCameraParams.far,\n position: camera.position,\n target: camera.target,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n model: params?.case ? '' : params?.model, // temporary solution by LM\n size: {\n width: params?.size?.width ?? this.container.clientWidth,\n height: params?.size?.height ?? this.container.clientHeight,\n },\n camera: {\n ...cameraParams,\n },\n environment: {\n weather: params?.environment?.weather,\n time: params?.environment?.time,\n },\n controls: params?.controls,\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n const caseInstance = params?.case && this.loadCase(anov3D, params)\n\n if (caseInstance) {\n // @ts-ignore\n this.iEngine.caseInstance = caseInstance\n\n caseInstance.loadingManager.onLoad = () => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n caseInstance.loadingManager.onProgress = (_, loaded, total) => {\n const progress = loaded / total\n\n if (this.progressCb && this.lastProgressCount <= progress) {\n this.progressCb(progress)\n this.lastProgressCount = progress\n }\n\n if (progress >= 1) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onInitProgress',\n status: EMessageStatus.Success,\n id,\n },\n {\n progress,\n })\n }\n }\n else {\n // 空场景,返回初始成功消息\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n\n // 此方法 用于直接加载案例\n private loadCase(anov3D: Anov3D, option: InitOptions) {\n switch (option.case) {\n case 'factory':\n\n // eslint-disable-next-line no-case-declarations\n const factory = new Factory3D({ model: option.model, environment: option.envMaps.imgBox as string, decoderPath: option.decoderPath, controls: option.controls })\n factory.renderScene(anov3D.sceneControl)\n return factory\n }\n }\n}\n\n/**\n * createInstance\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions, progressCb = () => {}): Application => {\n return new Application(opts, progressCb ?? (() => { }) as any)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","FileParse","Anov3D","storeManagement","Application","opts","_classCallCheck","_defineProperty","container","el","set","decoderPath","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","cameraParams","position","anov3D","_objectSpread","iEngine","zoomRatio","error","EventHandleFailed","console","initScene","_scc$nodes","scc","cameraNode","nodes","find","node","type","private","undefined","sccParse","parseScene","sendMessage","req","name","Error","fn","res","Promise","resolve","then","failMessage","message","receiveMessage","eventName","cb","createInstance"],"sources":["../src/applicationApi.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { getFnByFnkey } from './utils/index'\nimport { MessageType, sendToMessage } from './utils/messageFn'\nimport { EMessageStatus } from './messageStatus'\nimport type { InitOptions } from './applicationApiType'\nimport FileParse from './module/scene/fileParse'\nimport Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n decoderPath?: string\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\n\n utils.storeManagement.set('decoderPath', opts.decoderPath)\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'engineReady',\n status: EMessageStatus.Success,\n })\n }\n\n private init(params: InitOptions, id: string) {\n try {\n const { camera = {}, set } = params || {}\n\n const cameraParams = {\n position: camera.position,\n }\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: {\n ...cameraParams,\n },\n })\n\n this.iEngine = anov3D\n this.iEngine.zoomRatio = set?.zoomRatio ?? 1\n\n storeManagement.set('container', this.container)\n\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'core.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n console.error(error)\n }\n }\n\n private initScene(params: any, id: string) {\n try {\n const { scc } = params\n // 相机参数\n const cameraNode = scc?.nodes?.find(node => node.type === 'camera')\n const cameraParams = cameraNode\n ? {\n ...(cameraNode.private || {}),\n position: cameraNode.position,\n }\n : undefined\n\n const anov3D = new Anov3D({\n container: this.container,\n camera: cameraParams,\n })\n this.iEngine = anov3D\n\n storeManagement.set('container', this.container)\n\n // 解析SCC\n const sccParse = new FileParse(anov3D, scc)\n sccParse.parseScene()\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.Success,\n id,\n })\n }\n catch (error) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: 'scene.init',\n status: EMessageStatus.EventHandleFailed,\n id,\n })\n }\n }\n\n sendMessage(req: { name: string; id: string; params: any }) {\n // core.init 遗留逻辑\n if (req.name === 'Core.init' || req.name === 'core.init') {\n this.init(req.params, req.id)\n return\n }\n else if (req.name === 'scene.init') {\n this.initScene(req.params, req.id)\n return\n }\n\n if (!this.iEngine)\n throw new Error('please init first!')\n\n const fn = getFnByFnkey(this.iEngine, req.name, req.id) as any\n\n try {\n const res = fn(req.params)\n\n Promise.resolve(res).then((res) => {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.Success,\n id: req.id,\n }, res)\n })\n }\n catch (error: any) {\n sendToMessage({\n messageType: MessageType.Api,\n messageName: req.name,\n status: EMessageStatus.EventHandleFailed,\n id: req.id,\n }, {\n failMessage: error.message,\n })\n }\n }\n\n receiveMessage(eventName: string, cb: (params: any) => void) {\n utils.storeManagement.set(eventName, cb)\n }\n}\n\n/**\n * create an instance of Application\n * @returns\n */\nexport const createInstance = (opts: ApplicationOptions): Application => {\n return new Application(opts)\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=applicationApiType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../src/applicationApiType.ts"],"sourcesContent":["export type InitOptions = {\n camera?: {\n position?: [\n number,\n number,\n number,\n ]\n }\n set?: {\n zoomRatio?: number\n }\n}\n"],"mappings":""}
@@ -232,7 +232,8 @@ var InspectionObject = /*#__PURE__*/function () {
232
232
  _context2.next = 3;
233
233
  return this.loadModel();
234
234
  case 3:
235
- this.control = utils.moveWithLine(this.model, curve, 10, {
235
+ this.control = utils.moveWithLine(this.model, curve, {
236
+ speed: 10,
236
237
  groundCurve: this.inspection.groundCurve
237
238
  });
238
239
  this.model.position.copy(curve.getPointAt(0));
@@ -489,14 +490,15 @@ var InspectionObject = /*#__PURE__*/function () {
489
490
  var _this7 = this;
490
491
  var currentPosition = this.model.position;
491
492
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z));
492
- var upControl = utils.moveWithLine(this.model, upCurve, 10, {
493
- loop: false,
493
+ var upControl = utils.moveWithLine(this.model, upCurve, {
494
+ speed: 10,
495
+ repeat: 1,
494
496
  lookat: false
495
497
  });
496
498
  this.compassInfo.horizontalSpeed = 0;
497
499
  this.compassInfo.verticalSpeed = 10;
498
500
  upControl.addEventListener('end', function () {
499
- _this7.control.contine();
501
+ _this7.control.continue();
500
502
  _this7.compassInfo.verticalSpeed = 0;
501
503
  _this7.compassInfo.horizontalSpeed = 10;
502
504
  });
@@ -519,8 +521,9 @@ var InspectionObject = /*#__PURE__*/function () {
519
521
  _this8.generateTempPathMesh(_this8.generateTempPath(new Vector3(_this8.model.position.x, 1.1, _this8.model.position.z), tempPathMeshtargetPosition));
520
522
  var currentPosition = _this8.model.position;
521
523
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z));
522
- var upControl = utils.moveWithLine(_this8.model, upCurve, 10, {
523
- loop: false,
524
+ var upControl = utils.moveWithLine(_this8.model, upCurve, {
525
+ speed: 10,
526
+ repeat: 1,
524
527
  lookat: targetPosition
525
528
  });
526
529
  _this8.compassInfo.verticalSpeed = 10;
@@ -529,8 +532,9 @@ var InspectionObject = /*#__PURE__*/function () {
529
532
  // up end
530
533
  upControl.addEventListener('end', function () {
531
534
  var tempCurve = _this8.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
532
- var tempControl = utils.moveWithLine(_this8.model, tempCurve, 60, {
533
- loop: false,
535
+ var tempControl = utils.moveWithLine(_this8.model, tempCurve, {
536
+ speed: 60,
537
+ repeat: 1,
534
538
  lookat: false
535
539
  });
536
540
  _this8.compassInfo.verticalSpeed = 0;
@@ -540,8 +544,9 @@ var InspectionObject = /*#__PURE__*/function () {
540
544
  tempControl.addEventListener('end', function () {
541
545
  var lastPosition = _this8.model.position;
542
546
  var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z));
543
- var downControl = utils.moveWithLine(_this8.model, downCurve, 10, {
544
- loop: false,
547
+ var downControl = utils.moveWithLine(_this8.model, downCurve, {
548
+ speed: 10,
549
+ repeat: 1,
545
550
  lookat: false
546
551
  });
547
552
  _this8.compassInfo.verticalSpeed = 10;
@@ -559,7 +564,7 @@ var InspectionObject = /*#__PURE__*/function () {
559
564
  _this8.cleanTempPathMesh();
560
565
  _this8.isAnimation = false;
561
566
  _this8.control.setProgress(targetProgress);
562
- _this8.control.contine();
567
+ _this8.control.continue();
563
568
  _this8.compassInfo.verticalSpeed = 0;
564
569
  _this8.compassInfo.horizontalSpeed = 10;
565
570
  }, 500);
@@ -583,7 +588,7 @@ var InspectionObject = /*#__PURE__*/function () {
583
588
  key: "contineMove",
584
589
  value: function contineMove() {
585
590
  if (!this.control) throw new Error('control not init');
586
- if (this.contineCount === 0) this.takeOffAnimation();else this.control.contine();
591
+ if (this.contineCount === 0) this.takeOffAnimation();else this.control.continue();
587
592
  this.contineCount++;
588
593
  this.isStartUp = true;
589
594
  utils.emitter.emit('continue', true);