@anov/3d 0.0.142 → 0.0.156

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 (61) hide show
  1. package/README.md +3 -1
  2. package/dist/anov3d.js +15 -25
  3. package/dist/anov3d.js.map +1 -1
  4. package/dist/applicationApi.js +14 -90
  5. package/dist/applicationApi.js.map +1 -1
  6. package/dist/applicationApiType.js +2 -0
  7. package/dist/applicationApiType.js.map +1 -0
  8. package/dist/factory/3d.js +1 -9
  9. package/dist/factory/3d.js.map +1 -1
  10. package/dist/factory/unit/CameraPoi.js +0 -2
  11. package/dist/factory/unit/CameraPoi.js.map +1 -1
  12. package/dist/factory/unit/circle.js +0 -3
  13. package/dist/factory/unit/circle.js.map +1 -1
  14. package/dist/factory/unit/cylinder.js +0 -2
  15. package/dist/factory/unit/cylinder.js.map +1 -1
  16. package/dist/factory/unit/inspection/InspectionObject.js +18 -15
  17. package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
  18. package/dist/factory/unit/poi.js +8 -14
  19. package/dist/factory/unit/poi.js.map +1 -1
  20. package/dist/factory/unit/region.js +1 -2
  21. package/dist/factory/unit/region.js.map +1 -1
  22. package/dist/hooksManager.js +37 -13
  23. package/dist/hooksManager.js.map +1 -1
  24. package/dist/module/animation/index.js +118 -0
  25. package/dist/module/animation/index.js.map +1 -0
  26. package/dist/module/animation/motion/index.js +61 -0
  27. package/dist/module/animation/motion/index.js.map +1 -0
  28. package/dist/module/animation/strategy.js +27 -0
  29. package/dist/module/animation/strategy.js.map +1 -0
  30. package/dist/module/camera/index.js +246 -217
  31. package/dist/module/camera/index.js.map +1 -1
  32. package/dist/module/camera/type.js +2 -0
  33. package/dist/module/camera/type.js.map +1 -0
  34. package/dist/module/entity/hybridList.js +5 -0
  35. package/dist/module/entity/hybridList.js.map +1 -1
  36. package/dist/module/entity/index.js +256 -117
  37. package/dist/module/entity/index.js.map +1 -1
  38. package/dist/module/entity/model/index.js +3 -3
  39. package/dist/module/entity/model/index.js.map +1 -1
  40. package/dist/module/entity/model/load/loadFbx.js +14 -1
  41. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  42. package/dist/module/entity/model/load/loadGlb.js +17 -3
  43. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  44. package/dist/module/entity/poi/index.js +232 -19
  45. package/dist/module/entity/poi/index.js.map +1 -1
  46. package/dist/module/entity/poi/indexBack.js +29 -0
  47. package/dist/module/entity/poi/indexBack.js.map +1 -0
  48. package/dist/module/entity/poi/type.js.map +1 -1
  49. package/dist/module/entity/poi/utils.js +42 -0
  50. package/dist/module/entity/poi/utils.js.map +1 -0
  51. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  52. package/dist/module/entity/type.js.map +1 -1
  53. package/dist/module/eventBus/index.js +20 -7
  54. package/dist/module/eventBus/index.js.map +1 -1
  55. package/dist/sdkEntry.js +4 -0
  56. package/dist/sdkEntry.js.map +1 -1
  57. package/dist/utils/index.js +16 -4
  58. package/dist/utils/index.js.map +1 -1
  59. package/dist/utils/messageFn.js +5 -2
  60. package/dist/utils/messageFn.js.map +1 -1
  61. package/package.json +5 -3
package/README.md CHANGED
@@ -1 +1,3 @@
1
- # @anov/3d
1
+ # @anov/3d
2
+
3
+ > 3d 统一api anov-3d-webgl
package/dist/anov3d.js CHANGED
@@ -7,66 +7,56 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons
7
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
8
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
9
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 { InteractionManager, SceneControl, Vector3, use, utils } from '@anov/3d-core';
10
+ import { SceneControl, Vector3, utils } from '@anov/3d-core';
11
11
  import EventBus from "./module/eventBus";
12
12
  import { EWeatherType } from "./module/environment/weather/type";
13
13
  import { object2Vector3 } from "./utils/index";
14
- import Model from "./module/model";
15
14
  import { defaultCameraParams } from "./index";
16
15
  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
16
  _classCallCheck(this, Anov3D);
19
17
  _defineProperty(this, "zoomRatio", 1);
20
18
  _defineProperty(this, "opts", void 0);
21
19
  _defineProperty(this, "sceneControl", void 0);
22
20
  _defineProperty(this, "eventBus", void 0);
23
21
  _defineProperty(this, "EWeatherType", EWeatherType);
24
- _defineProperty(this, "model", void 0);
25
- _defineProperty(this, "interactionManager", void 0);
26
22
  this.opts = opts;
27
- var _ref = opts || {},
28
- _ref$camera = _ref.camera,
29
- camera = _ref$camera === void 0 ? {} : _ref$camera;
23
+ var _opts$camera = opts.camera,
24
+ camera = _opts$camera === void 0 ? {} : _opts$camera,
25
+ _opts$container = opts.container,
26
+ clientWidth = _opts$container.clientWidth,
27
+ clientHeight = _opts$container.clientHeight;
30
28
  var cameraParams = {
31
- fov: (_camera$fov = camera.fov) !== null && _camera$fov !== void 0 ? _camera$fov : defaultCameraParams.fov,
32
- near: (_camera$near = camera.near) !== null && _camera$near !== void 0 ? _camera$near : defaultCameraParams.near,
33
- far: (_camera$far = camera.far) !== null && _camera$far !== void 0 ? _camera$far : defaultCameraParams.far,
29
+ fov: defaultCameraParams.fov,
30
+ near: defaultCameraParams.near,
31
+ far: defaultCameraParams.far,
34
32
  position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position)
35
33
  };
36
34
  var scene = new SceneControl({
37
- orbitControls: opts.controls || {
35
+ orbitControls: {
38
36
  use: true
39
37
  },
40
38
  defCameraOps: _objectSpread({
41
- 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)
39
+ aspect: clientWidth / clientHeight
42
40
  }, cameraParams),
43
41
  rendererOps: {
44
42
  shadowMap: true,
45
43
  size: {
46
- 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,
47
- 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
44
+ width: clientWidth,
45
+ height: clientHeight
48
46
  }
49
47
  },
50
- reset: true,
48
+ reset: false,
51
49
  css2DRenderer: true,
52
50
  css3DRenderer: true,
53
51
  ambientLight: true
54
- // fog: 'FogExp2' as any,
55
52
  });
56
53
  scene.render(opts.container);
57
- (_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));
54
+ scene.controls.target.copy(object2Vector3(defaultCameraParams.lookAt));
58
55
  utils.emitter.emit('scene-completed', scene);
59
- var interactionManager = new InteractionManager(scene.renderer, scene.camera, scene.renderer.domElement);
60
- this.interactionManager = interactionManager;
61
- use.useframe(function () {
62
- interactionManager.update();
63
- });
64
56
 
65
57
  // 不考虑 tree-shaking
66
58
  this.sceneControl = scene;
67
59
  this.eventBus = new EventBus(this);
68
- this.model = new Model();
69
- this.opts.model && this.model.load(this.opts.model);
70
60
  utils.storeManagement.set('event-bus', this.eventBus);
71
61
  utils.emitter.emit('instantiation-completed', this);
72
62
  });
@@ -1 +1 @@
1
- {"version":3,"names":["InteractionManager","SceneControl","Vector3","use","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","defCameraOps","_objectSpread","aspect","size","width","container","clientWidth","height","clientHeight","rendererOps","shadowMap","reset","css2DRenderer","css3DRenderer","ambientLight","render","target","copy","lookAt","emitter","emit","interactionManager","renderer","domElement","useframe","update","sceneControl","eventBus","model","load","storeManagement","set"],"sources":["../src/anov3d.ts"],"sourcesContent":["import { InteractionManager, 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 interactionManager: InteractionManager\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 const interactionManager = new InteractionManager(\n scene.renderer,\n scene.camera,\n scene.renderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n use.useframe(() => {\n interactionManager.update()\n })\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":"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"}
1
+ {"version":3,"names":["SceneControl","Vector3","utils","EventBus","EWeatherType","object2Vector3","defaultCameraParams","Anov3D","_createClass","opts","_classCallCheck","_defineProperty","_opts$camera","camera","_opts$container","container","clientWidth","clientHeight","cameraParams","fov","near","far","position","fromArray","scene","orbitControls","use","defCameraOps","_objectSpread","aspect","rendererOps","shadowMap","size","width","height","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 const { camera = {}, container: { clientWidth, clientHeight } } = opts\n const cameraParams = {\n fov: defaultCameraParams.fov,\n near: defaultCameraParams.near,\n far: defaultCameraParams.far,\n position: camera.position ? new Vector3().fromArray(camera.position) : object2Vector3(defaultCameraParams.position),\n }\n\n const scene = new SceneControl({\n orbitControls: { use: true },\n defCameraOps: {\n aspect: clientWidth / clientHeight,\n ...cameraParams,\n },\n rendererOps: {\n shadowMap: true,\n size: {\n width: clientWidth,\n height: clientHeight,\n },\n },\n reset: false,\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;EAChB,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,IAAMC,YAAY,GAAG;IACnBC,GAAG,EAAEb,mBAAmB,CAACa,GAAG;IAC5BC,IAAI,EAAEd,mBAAmB,CAACc,IAAI;IAC9BC,GAAG,EAAEf,mBAAmB,CAACe,GAAG;IAC5BC,QAAQ,EAAET,MAAM,CAACS,QAAQ,GAAG,IAAIrB,OAAO,CAAC,CAAC,CAACsB,SAAS,CAACV,MAAM,CAACS,QAAQ,CAAC,GAAGjB,cAAc,CAACC,mBAAmB,CAACgB,QAAQ;EACpH,CAAC;EAED,IAAME,KAAK,GAAG,IAAIxB,YAAY,CAAC;IAC7ByB,aAAa,EAAE;MAAEC,GAAG,EAAE;IAAK,CAAC;IAC5BC,YAAY,EAAAC,aAAA;MACVC,MAAM,EAAEb,WAAW,GAAGC;IAAY,GAC/BC,YAAY,CAChB;IACDY,WAAW,EAAE;MACXC,SAAS,EAAE,IAAI;MACfC,IAAI,EAAE;QACJC,KAAK,EAAEjB,WAAW;QAClBkB,MAAM,EAAEjB;MACV;IACF,CAAC;IACDkB,KAAK,EAAE,KAAK;IACZC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBC,YAAY,EAAE;EAChB,CAAC,CAAC;EAEFd,KAAK,CAACe,MAAM,CAAC9B,IAAI,CAACM,SAAS,CAAC;EAC5BS,KAAK,CAACgB,QAAQ,CAACC,MAAM,CAACC,IAAI,CAACrC,cAAc,CAACC,mBAAmB,CAACqC,MAAM,CAAC,CAAC;EAEtEzC,KAAK,CAAC0C,OAAO,CAACC,IAAI,CAAC,iBAAiB,EAAErB,KAAK,CAAC;;EAE5C;EACA,IAAI,CAACsB,YAAY,GAAGtB,KAAK;EACzB,IAAI,CAACuB,QAAQ,GAAG,IAAI5C,QAAQ,CAAC,IAAI,CAAC;EAElCD,KAAK,CAAC8C,eAAe,CAACC,GAAG,CAAC,WAAW,EAAE,IAAI,CAACF,QAAQ,CAAC;EACrD7C,KAAK,CAAC0C,OAAO,CAACC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC;AACrD,CAAC;AAGH,eAAetC,MAAM"}
@@ -11,18 +11,14 @@ 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 Anov3D from "./index";
16
15
  var storeManagement = utils.storeManagement;
17
16
  var Application = /*#__PURE__*/function () {
18
- function Application(opts, progressCb) {
17
+ function Application(opts) {
19
18
  _classCallCheck(this, Application);
20
19
  _defineProperty(this, "container", void 0);
21
20
  _defineProperty(this, "iEngine", void 0);
22
- _defineProperty(this, "progressCb", void 0);
23
- _defineProperty(this, "lastProgressCount", 0);
24
21
  this.container = opts.el;
25
- this.progressCb = progressCb;
26
22
  sendToMessage({
27
23
  messageType: MessageType.Api,
28
24
  messageName: 'engineReady',
@@ -32,82 +28,28 @@ var Application = /*#__PURE__*/function () {
32
28
  _createClass(Application, [{
33
29
  key: "init",
34
30
  value: function init(params, id) {
35
- var _this = this;
36
31
  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;
32
+ var _set$zoomRatio;
38
33
  var _ref = params || {},
39
34
  _ref$camera = _ref.camera,
40
35
  camera = _ref$camera === void 0 ? {} : _ref$camera,
41
36
  set = _ref.set;
42
37
  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
38
+ position: camera.position
48
39
  };
49
40
  var anov3D = new Anov3D({
50
41
  container: this.container,
51
- model: 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.controls
42
+ camera: _objectSpread({}, cameraParams)
63
43
  });
64
44
  this.iEngine = anov3D;
65
45
  this.iEngine.zoomRatio = (_set$zoomRatio = set === null || set === void 0 ? void 0 : set.zoomRatio) !== null && _set$zoomRatio !== void 0 ? _set$zoomRatio : 1;
66
46
  storeManagement.set('container', this.container);
67
- var caseInstance = 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
- }
47
+ sendToMessage({
48
+ messageType: MessageType.Api,
49
+ messageName: 'core.init',
50
+ status: EMessageStatus.Success,
51
+ id: id
52
+ });
111
53
  } catch (error) {
112
54
  sendToMessage({
113
55
  messageType: MessageType.Api,
@@ -153,32 +95,14 @@ var Application = /*#__PURE__*/function () {
153
95
  value: function receiveMessage(eventName, cb) {
154
96
  utils.storeManagement.set(eventName, cb);
155
97
  }
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
98
  }]);
175
99
  return Application;
176
100
  }();
177
101
  /**
178
- * createInstance
102
+ * create an instance of Application
179
103
  * @returns
180
104
  */
181
- export var createInstance = function createInstance(opts, progressCb) {
182
- return new Application(opts, progressCb);
105
+ export var createInstance = function createInstance(opts) {
106
+ return new Application(opts);
183
107
  };
184
108
  //# 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"],"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 = 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)\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","getFnByFnkey","MessageType","sendToMessage","EMessageStatus","Anov3D","storeManagement","Application","opts","_classCallCheck","_defineProperty","container","el","messageType","Api","messageName","status","Success","_createClass","key","value","init","params","id","_set$zoomRatio","_ref","_ref$camera","camera","set","cameraParams","position","anov3D","_objectSpread","iEngine","zoomRatio","error","EventHandleFailed","console","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 Anov3D, { defaultCameraParams } from './index'\n\nconst { storeManagement } = utils\n\ntype ApplicationOptions = {\n el: HTMLElement\n}\n\nclass Application {\n container: HTMLElement\n iEngine: Anov3D\n\n constructor(opts: ApplicationOptions) {\n this.container = opts.el\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 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/**\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":""}
@@ -5,7 +5,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
5
5
  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; }
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
7
  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); }
8
- import { AdditiveBlending, Color, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
8
+ import { AdditiveBlending, Color, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
9
9
  import { Camera, SpritePoi } from '@anov/3d-ability';
10
10
  import { MessageType, sendToMessage } from "../utils/messageFn";
11
11
  import { EMessageStatus } from "../messageStatus";
@@ -59,7 +59,6 @@ var Factory3D = /*#__PURE__*/function () {
59
59
  _defineProperty(this, "massifMesh", []);
60
60
  _defineProperty(this, "isLoad", false);
61
61
  _defineProperty(this, "mainCamera", void 0);
62
- _defineProperty(this, "interactionManager", void 0);
63
62
  this.option = option;
64
63
  this.globalEventsAgent();
65
64
  factoryGlobalObject.setFactory(this);
@@ -153,13 +152,6 @@ var Factory3D = /*#__PURE__*/function () {
153
152
 
154
153
  return gltf;
155
154
  });
156
- var interactionManager = new InteractionManager(_this.scene.renderer, _this.scene.camera, _this.scene.renderer.domElement) // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,
157
- ;
158
- _this.interactionManager = interactionManager;
159
- utils.storeManagement.set('interactionManager', interactionManager);
160
- use.useframe(function () {
161
- interactionManager.update();
162
- });
163
155
  _this.loadModel();
164
156
  loadingManager.onLoad = function () {
165
157
  resolve('success');
@@ -1 +1 @@
1
- {"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","_classCallCheck","_defineProperty","overview","real","Map","globalEventsAgent","setFactory","_createClass","key","value","renderScene","scene","_this","loadCSS","url","callback","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","blob","Blob","responseText","type","blobURL","URL","createObjectURL","link","document","createElement","rel","href","crossOrigin","head","appendChild","console","log","concat","error","statusText","onerror","err","send","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","_this2","visible","style","realModl","call","group","_Time","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","_app$envServer$scaleR","_window","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","img3","poi03","thermaLimaging","pipeline","toggleSceneStyle","params","background","tag","apply","_this3","forEach","eventKey","on","args","_this3$eventHandleFn$","eventHandleFn","get","fn","toggleView","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","messageType","Event","messageName","Success","fov","updateProjectionMatrix","addEventListener","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoaderModule, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n private isLoad = false\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n const loadCSS = (url, callback) => {\n const xhr = new XMLHttpRequest()\n xhr.open('GET', url, true)\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n const blob = new Blob([xhr.responseText], { type: 'text/css' })\n const blobURL = URL.createObjectURL(blob)\n\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = blobURL\n link.crossOrigin = 'anonymous'\n document.head.appendChild(link)\n\n if (typeof callback === 'function')\n callback()\n\n console.log(`CSS 加载成功: ${url}`)\n }\n else {\n console.error(`Failed to load CSS: ${url}`, xhr.statusText)\n }\n }\n }\n xhr.onerror = function (err) {\n console.error(`Failed to load CSS: ${url}`, err)\n }\n xhr.send()\n }\n\n return new Promise((resolve) => {\n loadCSS(`${resourcePath2}result.css`, () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n // @ts-ignore\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n const img3 = document.createElement('img')\n img3.src = `${usePath}demo.png`\n\n const poi03 = new SpritePoi(img3, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi03.layers.set(2)\n group.add(poi03)\n poi03.scale.set(80, 40, 1)\n poi03.position.set(-290.869, 2, -127.770)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
1
+ {"version":3,"names":["AdditiveBlending","Color","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","_classCallCheck","_defineProperty","overview","real","Map","globalEventsAgent","setFactory","_createClass","key","value","renderScene","scene","_this","loadCSS","url","callback","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","blob","Blob","responseText","type","blobURL","URL","createObjectURL","link","document","createElement","rel","href","crossOrigin","head","appendChild","console","log","concat","error","statusText","onerror","err","send","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","loadModel","onLoad","renderer","toneMappingExposure","_this2","visible","style","realModl","call","group","useframe","_Time","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","_app$envServer$scaleR","_window","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","img3","poi03","thermaLimaging","pipeline","toggleSceneStyle","params","background","tag","apply","_this3","forEach","eventKey","on","args","_this3$eventHandleFn$","eventHandleFn","get","fn","toggleView","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","messageType","Event","messageName","Success","fov","updateProjectionMatrix","addEventListener","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, LoaderModule, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n private isLoad = false\n\n mainCamera: any\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n const loadCSS = (url, callback) => {\n const xhr = new XMLHttpRequest()\n xhr.open('GET', url, true)\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n const blob = new Blob([xhr.responseText], { type: 'text/css' })\n const blobURL = URL.createObjectURL(blob)\n\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = blobURL\n link.crossOrigin = 'anonymous'\n document.head.appendChild(link)\n\n if (typeof callback === 'function')\n callback()\n\n console.log(`CSS 加载成功: ${url}`)\n }\n else {\n console.error(`Failed to load CSS: ${url}`, xhr.statusText)\n }\n }\n }\n xhr.onerror = function (err) {\n console.error(`Failed to load CSS: ${url}`, err)\n }\n xhr.send()\n }\n\n return new Promise((resolve) => {\n loadCSS(`${resourcePath2}result.css`, () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n // @ts-ignore\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n const img3 = document.createElement('img')\n img3.src = `${usePath}demo.png`\n\n const poi03 = new SpritePoi(img3, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi03.layers.set(2)\n group.add(poi03)\n poi03.scale.set(80, 40, 1)\n poi03.position.set(-290.869, 2, -127.770)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onViewTypeChange',\n status: EMessageStatus.Success,\n },\n {\n viewType: 'Global',\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
@@ -153,7 +153,6 @@ var CameraPoi = /*#__PURE__*/function () {
153
153
  scan.position.copy(position.clone().add(new Vector3(0, -2, 0)));
154
154
  group.add(scan);
155
155
  _this.cameraMesh.set(region.name, group);
156
- _this.gobal.interactionManager.add(group);
157
156
  _this.cameraEvent(group, region);
158
157
  _this.gobal.scene.add(group);
159
158
  });
@@ -166,7 +165,6 @@ var CameraPoi = /*#__PURE__*/function () {
166
165
  mesh = new SpritePoi("".concat(usePath, "p4/warn.png"), {
167
166
  scale: [22, 22, 1]
168
167
  });
169
- _this.gobal.interactionManager.add(mesh);
170
168
  _this.probeEvent(mesh, item);
171
169
  // 使用GSAP创建跳动动画
172
170
  gsap.to(mesh.position, {