@anov/3d 0.0.94 → 0.0.95

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.
@@ -39,6 +39,7 @@ declare class Factory3D {
39
39
  private pipeline;
40
40
  private realModl;
41
41
  private techModel;
42
+ private whiteModel;
42
43
  private realGroundModel;
43
44
  private realTreeModel;
44
45
  private thermaLimaging;
@@ -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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
7
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
8
- import { AdditiveBlending, Color, InteractionManager, LoadingManager, Mesh, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, use, utils } from '@anov/3d-core';
8
+ import { AdditiveBlending, Color, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
9
9
  import { Camera } from '@anov/3d-ability';
10
10
  import { finirMaterialV1 } from "./utils/finirMaterial";
11
11
  import handleUnit, { toggleTag as _toggleTag } from "./unit";
@@ -14,12 +14,9 @@ import { SceneStyle, SceneTag } from "./utils/constant";
14
14
  import factoryGlobalObject from "./globalControl";
15
15
  import createRiseLayer from "./unit/layer/rise";
16
16
  import { targetProgresspoints } from "./unit/inspection/lineData";
17
+ import { material, uniforms } from "./utils/ground";
17
18
  import frag from "./unit/glsl/heat/frag";
18
19
  import vert from "./unit/glsl/heat/ver";
19
- var vertexShader = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ").concat(ShaderChunk.logdepthbuf_vertex, "\n }\n");
20
-
21
- // Fragment shader
22
- var fragmentShader = /* glsl */"\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
23
20
  export var loadingManager = new LoadingManager();
24
21
  var load = new ModelLoader(loadingManager);
25
22
  var rgbeLoader = new lib.RGBELoader(loadingManager);
@@ -27,63 +24,6 @@ var emitter = utils.emitter;
27
24
  var resourcePath = './';
28
25
  var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
29
26
  export var usePath = false ? resourcePath : resourcePath2;
30
- var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
31
- var _Texture2 = new TextureLoader().load("".concat(usePath, "demo04.jpg"));
32
- var _Texture3 = new TextureLoader().load("".concat(usePath, "test04.jpg"));
33
- _Texture.wrapS = RepeatWrapping;
34
- _Texture.wrapT = RepeatWrapping;
35
- _Texture2.wrapS = RepeatWrapping;
36
- _Texture2.wrapT = RepeatWrapping;
37
- _Texture3.wrapS = RepeatWrapping;
38
- _Texture3.wrapT = RepeatWrapping;
39
- _Texture.repeat.set(5000, 5000);
40
- _Texture2.repeat.set(10, 10);
41
- _Texture3.repeat.set(5000, 5000);
42
- var uniforms = {
43
- _Texture: {
44
- value: _Texture
45
- },
46
- _Texture_ST: {
47
- value: new Vector4()
48
- },
49
- _Color: {
50
- value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5)
51
- },
52
- _ColorS: {
53
- value: 1
54
- },
55
- _TextureMask: {
56
- value: _Texture2
57
- },
58
- _TexturePlane: {
59
- value: _Texture3
60
- },
61
- _MaskUV: {
62
- value: 1
63
- },
64
- _ColorMask: {
65
- value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1)
66
- },
67
- _ColorMaskS: {
68
- value: 1
69
- },
70
- _Speed: {
71
- value: new Vector4(0.0, 0.2, 0, 0)
72
- },
73
- _OP: {
74
- value: 1.0
75
- },
76
- _Time: {
77
- value: 1.0
78
- }
79
- };
80
- var material = new ShaderMaterial({
81
- uniforms: uniforms,
82
- vertexShader: vertexShader,
83
- fragmentShader: fragmentShader,
84
- transparent: true
85
- // depthTest: false,
86
- });
87
27
  var Factory3D = /*#__PURE__*/function () {
88
28
  function Factory3D(option) {
89
29
  _classCallCheck(this, Factory3D);
@@ -107,6 +47,7 @@ var Factory3D = /*#__PURE__*/function () {
107
47
  _defineProperty(this, "pipeline", void 0);
108
48
  _defineProperty(this, "realModl", void 0);
109
49
  _defineProperty(this, "techModel", void 0);
50
+ _defineProperty(this, "whiteModel", void 0);
110
51
  _defineProperty(this, "realGroundModel", void 0);
111
52
  _defineProperty(this, "realTreeModel", void 0);
112
53
  _defineProperty(this, "thermaLimaging", void 0);
@@ -255,6 +196,25 @@ var Factory3D = /*#__PURE__*/function () {
255
196
  _this2.techModel = group;
256
197
  return gltf;
257
198
  });
199
+
200
+ // white model
201
+ load.loadGLTF("".concat(this.usePath, "2222.glb"), false, true, './draco/', function (gltf) {
202
+ gltf.scene.traverse(function (child) {
203
+ if (child.name === '柱体') {
204
+ child.material = new MeshBasicMaterial({
205
+ color: new Color('#fff')
206
+ });
207
+ } else if (child.type === 'Mesh') {
208
+ child.material = new MeshLambertMaterial({
209
+ color: new Color('#aaa')
210
+ });
211
+ }
212
+ });
213
+ _this2.scene.add(gltf.scene);
214
+ gltf.scene.visible = SceneStyle.white === _this2.style;
215
+ _this2.whiteModel = gltf.scene;
216
+ return gltf;
217
+ });
258
218
  var targerMeshName = Object.values(targetProgresspoints).map(function (v) {
259
219
  return v.lookAt;
260
220
  });
@@ -325,6 +285,7 @@ var Factory3D = /*#__PURE__*/function () {
325
285
  this.pipeline.visible = false;
326
286
  this.techModel.visible = true;
327
287
  this.realModl.visible = false;
288
+ this.whiteModel.visible = false;
328
289
  this.realTreeModel.visible = false;
329
290
  this.scene.scene.background = null;
330
291
  this.realGroundModel && (this.realGroundModel.visible = false);
@@ -333,12 +294,23 @@ var Factory3D = /*#__PURE__*/function () {
333
294
  if (params === SceneStyle.real) {
334
295
  this.pipeline.visible = true;
335
296
  this.techModel.visible = false;
297
+ this.whiteModel.visible = false;
336
298
  this.realModl.visible = true;
337
299
  this.realGroundModel && (this.realGroundModel.visible = true);
338
300
  this.realTreeModel && (this.realTreeModel.visible = true);
339
301
  this.scene.scene.background = new Color('#ccc');
340
302
  this.scene.renderer.toneMappingExposure = 0.4;
341
303
  }
304
+ if (params === SceneStyle.white) {
305
+ this.pipeline.visible = false;
306
+ this.techModel.visible = false;
307
+ this.realModl.visible = false;
308
+ this.whiteModel.visible = true;
309
+ this.realTreeModel.visible = false;
310
+ this.scene.scene.background = null;
311
+ this.realGroundModel && (this.realGroundModel.visible = false);
312
+ this.scene.renderer.toneMappingExposure = 0.4;
313
+ }
342
314
  }
343
315
  }, {
344
316
  key: "toggleTag",
@@ -1 +1 @@
1
- {"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","blending","opacity","depthTest","map","offset","tech","techModel","targerMeshName","Object","values","v","lookAt","texture1","texture2","uvScale","includes","thermaLimaging","pipeline","realGroundModel","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\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'\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\nconst vertexShader = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = /* glsl */`\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\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\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n // depthTest: false,\n})\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 realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\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 return new Promise((resolve) => {\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}landScap3.glb`, false, true, './draco/', (gltf) => {\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 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 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 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 // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\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 this.realGroundModel = 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\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.realTreeModel.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.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\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 }\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 }\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 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 }\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":";;;;;;;AACA,SAASA,gBAAgB,EAAeC,KAAK,EAAoCC,kBAAkB,EAAEC,cAAc,EAAEC,IAAI,EAAqBC,WAAW,EAAEC,aAAa,EAAEC,cAAc,EAAkBC,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,EAAEC,OAAO,EAAEC,OAAO,EAAEC,GAAG,EAAgBC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AACrU,SAASC,MAAM,QAAkD,kBAAkB;AACnF,SAASC,eAAe;AACxB,OAAOC,UAAU,IAAIC,SAAS,IAATA,UAAS;AAS9B,SAASC,YAAY;AACrB,SAASC,UAAU,EAAEC,QAAQ;AAE7B,OAAOC,mBAAmB;AAE1B,OAAOC,eAAe;AACtB,SAASC,oBAAoB;AAE7B,OAAOC,IAAI;AACX,OAAOC,IAAI;AASX,IAAMC,YAAY,GAAG,sBACnBrB,WAAW,CAACsB,uBAAuB,yWAY3BtB,WAAW,CAACuB,kBAAkB,cAEvC;;AAED;AACA,IAAMC,cAAc,GAAG,wBACnBxB,WAAW,CAACyB,yBAAyB,gjDAyC/BzB,WAAW,CAAC0B,oBAAoB,cAEzC;AAED,OAAO,IAAMC,cAAc,GAAG,IAAIhC,cAAc,EAAE;AAClD,IAAMiC,IAAI,GAAG,IAAI/B,WAAW,CAAC8B,cAAc,CAAC;AAC5C,IAAME,UAAU,GAAG,IAAIvB,GAAG,CAACwB,UAAU,CAACH,cAAc,CAAC;AACrD,IAAQI,OAAO,GAAKvB,KAAK,CAAjBuB,OAAO;AAEf,IAAMC,YAAY,GAAG,IAAI;AACzB,IAAMC,aAAa,GAAG,+DAA+D;AAErF,OAAO,IAAMC,OAAO,GAAG,QAA4BF,YAAY,GAAGC,aAAa;AAE/E,IAAME,QAAQ,GAAG,IAAIjC,aAAa,EAAE,CAAC0B,IAAI,WAAIM,OAAO,gBAAa;AACjE,IAAME,SAAS,GAAG,IAAIlC,aAAa,EAAE,CAAC0B,IAAI,WAAIM,OAAO,gBAAa;AAClE,IAAMG,SAAS,GAAG,IAAInC,aAAa,EAAE,CAAC0B,IAAI,WAAIM,OAAO,gBAAa;AAElEC,QAAQ,CAACG,KAAK,GAAGvC,cAAc;AAC/BoC,QAAQ,CAACI,KAAK,GAAGxC,cAAc;AAE/BqC,SAAS,CAACE,KAAK,GAAGvC,cAAc;AAChCqC,SAAS,CAACG,KAAK,GAAGxC,cAAc;AAEhCsC,SAAS,CAACC,KAAK,GAAGvC,cAAc;AAChCsC,SAAS,CAACE,KAAK,GAAGxC,cAAc;AAEhCoC,QAAQ,CAACK,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/BL,SAAS,CAACI,MAAM,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5BJ,SAAS,CAACG,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEhC,IAAMC,QAAQ,GAAG;EACfP,QAAQ,EAAE;IAAEQ,KAAK,EAAER;EAAS,CAAC;EAC7BS,WAAW,EAAE;IAAED,KAAK,EAAE,IAAItC,OAAO;EAAG,CAAC;EACrCwC,MAAM,EAAE;IAAEF,KAAK,EAAE,IAAItC,OAAO,CAAC,IAAIZ,KAAK,CAAC,SAAS,CAAC,CAACqD,CAAC,EAAE,IAAIrD,KAAK,CAAC,SAAS,CAAC,CAACsD,CAAC,EAAE,IAAItD,KAAK,CAAC,SAAS,CAAC,CAACuD,CAAC,EAAE,GAAG;EAAE,CAAC;EAC3GC,OAAO,EAAE;IAAEN,KAAK,EAAE;EAAE,CAAC;EACrBO,YAAY,EAAE;IAAEP,KAAK,EAAEP;EAAU,CAAC;EAClCe,aAAa,EAAE;IAAER,KAAK,EAAEN;EAAU,CAAC;EACnCe,OAAO,EAAE;IAAET,KAAK,EAAE;EAAE,CAAC;EACrBU,UAAU,EAAE;IAAEV,KAAK,EAAE,IAAItC,OAAO,CAAC,IAAIZ,KAAK,CAAC,MAAM,CAAC,CAACqD,CAAC,EAAE,IAAIrD,KAAK,CAAC,MAAM,CAAC,CAACsD,CAAC,EAAE,IAAItD,KAAK,CAAC,MAAM,CAAC,CAACuD,CAAC,EAAE,CAAC;EAAE,CAAC;EACpGM,WAAW,EAAE;IAAEX,KAAK,EAAE;EAAE,CAAC;EACzBY,MAAM,EAAE;IAAEZ,KAAK,EAAE,IAAItC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;EAAE,CAAC;EAC9CmD,GAAG,EAAE;IAAEb,KAAK,EAAE;EAAI,CAAC;EACnBc,KAAK,EAAE;IAAEd,KAAK,EAAE;EAAI;AACtB,CAAC;AAED,IAAMe,QAAQ,GAAG,IAAIzD,cAAc,CAAC;EAClCyC,QAAQ,EAARA,QAAQ;EACRrB,YAAY,EAAZA,YAAY;EACZG,cAAc,EAAdA,cAAc;EACdmC,WAAW,EAAE;EACb;AACF,CAAC,CAAC;AAAA,IAEIC,SAAS;EAkCb,mBAAYC,MAAuB,EAAE;IAAA;IAAA,kCAjCjB,IAAIzD,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA,wCAKhBuB,cAAc;IAAA,6BACzBZ,QAAQ,CAAC+C,QAAQ;IAAA,+BACHhD,UAAU,CAACiD,IAAI;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,iCAWhC7B,OAAO;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA,uCAQ8C,IAAI8B,GAAG,EAAE;IAAA;IAAA;IAAA;IAQtE,IAAI,CAACH,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACI,iBAAiB,EAAE;IACxBjD,mBAAmB,CAACkD,UAAU,CAAC,IAAI,CAAC;EACtC;;EAEA;AACF;AACA;EAFE;IAAA;IAAA,OAGA,qBAAYC,KAAmB,EAAE;MAAA;MAC/B,OAAO,IAAIC,OAAO,CAAC,UAACC,OAAO,EAAK;QAC9B,KAAI,CAACF,KAAK,GAAGA,KAAK;QAElB,KAAI,CAACG,UAAU,GAAG,IAAI7D,MAAM,CAAC0D,KAAK,CAACI,MAAM,EAAGJ,KAAK,CAACK,QAAQ,EAAGL,KAAK,CAAC;QACnE,KAAI,CAACM,OAAO,GAAGN,KAAK,CAACK,QAAS;QAC9BL,KAAK,CAACI,MAAM,CAACG,MAAM,CAACjC,GAAG,CAAC,CAAC,CAAC;QAE1Bb,IAAI,CAAC+C,QAAQ,WAAI,KAAI,CAACzC,OAAO,oBAAiB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;UAC/E,KAAI,CAACC,aAAa,GAAID,IAAI,CAACT,KAAe;;UAE1C;;UAEA;UACA;UACA;UACA;;UAEAS,IAAI,CAACT,KAAK,CAACW,QAAQ,CAAC,UAACC,KAAK,EAAK;YAC7BA,KAAK,CAACL,MAAM,CAACM,MAAM,CAAC,CAAC,CAAC;YAEtB,IAAID,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;cACzBF,KAAK,CAACG,UAAU,GAAG,IAAI;cACvBH,KAAK,CAACI,aAAa,GAAG,IAAI;YAC5B;UACF,CAAC,CAAC;UAEFhB,KAAK,CAACiB,GAAG,CAAC,KAAI,CAACP,aAAa,CAAC;UAE7B,OAAOD,IAAI;QACb,CAAC,CAAC;QAEF,IAAMS,kBAAkB,GAAG,IAAI3F,kBAAkB,CAC/C,KAAI,CAACyE,KAAK,CAACmB,QAAQ,EACnB,KAAI,CAACnB,KAAK,CAACI,MAAM,EACjB,KAAI,CAACJ,KAAK,CAACmB,QAAQ,CAACC,UAAU,CAC/B,CADiC;QACjC;;QAED,KAAI,CAACF,kBAAkB,GAAGA,kBAAkB;QAE5C7E,KAAK,CAACgF,eAAe,CAAC/C,GAAG,CAAC,oBAAoB,EAAE4C,kBAAkB,CAAC;QAEnE9E,GAAG,CAACkF,QAAQ,CAAC,YAAM;UACjBJ,kBAAkB,CAACK,MAAM,EAAE;QAC7B,CAAC,CAAC;QAEF,KAAI,CAACC,SAAS,EAAE;QAEhBhE,cAAc,CAACiE,MAAM,GAAG,YAAM;UAC5BvB,OAAO,CAAC,SAAS,CAAC;QACpB,CAAC;;QAED;;QAEAF,KAAK,CAACmB,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC1C,CAAC,CAAC;IACJ;EAAC;IAAA;IAAA,OAED,qBAAoB;MAAA;MAClB;MACAjE,IAAI,CAAC+C,QAAQ,WAAI,IAAI,CAACzC,OAAO,cAAW,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;QACzE,MAAI,CAACT,KAAK,CAACiB,GAAG,CAACR,IAAI,CAACT,KAAK,CAAC;QAE1BS,IAAI,CAACT,KAAK,CAAC2B,OAAO,GAAGhF,UAAU,CAACiD,IAAI,KAAK,MAAI,CAACgC,KAAK;QAEnD,MAAI,CAACC,QAAQ,GAAGpB,IAAI,CAACT,KAAc;;QAEnC;;QAEA;QACA;QACA;QACA;;QAEAS,IAAI,CAACT,KAAK,CAACW,QAAQ,CAAC,UAACC,KAAK,EAAK;UAC7BA,KAAK,CAACL,MAAM,CAACM,MAAM,CAAC,CAAC,CAAC;UAEtB,IAAID,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;YACzBF,KAAK,CAACG,UAAU,GAAG,IAAI;YACvBH,KAAK,CAACI,aAAa,GAAG,IAAI;UAC5B;QACF,CAAC,CAAC;QAEFxE,UAAU,CAACsF,IAAI,CAAC,MAAI,CAAC;QAErB,OAAOrB,IAAI;MACb,CAAC,CAAC;;MAEF;MACAhD,IAAI,CAAC+C,QAAQ,WAAI,IAAI,CAACzC,OAAO,eAAY,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;QAC1E,IAAMsB,KAAK,GAAGtB,IAAI,CAACT,KAAK;QAExB5D,GAAG,CAACkF,QAAQ,CAAC,YAAM;UACjB,IAAI/C,QAAQ,CAACe,KAAK,CAACd,KAAK,GAAG,GAAG,EAC5BD,QAAQ,CAACe,KAAK,CAACd,KAAK,GAAG,CAAC;UAE1BD,QAAQ,CAACe,KAAK,CAACd,KAAK,IAAI,MAAM;QAChC,CAAC,CAAC;QAEFuD,KAAK,CAACpB,QAAQ,CAAC,UAACC,KAAK,EAAK;UACxB;UACA,IAAIA,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;YACzB,IAAIF,KAAK,CAACoB,IAAI,KAAK,IAAI,EAAE;cACvB;cACApB,KAAK,CAACe,OAAO,GAAG,KAAK;cACrB,IAAMM,QAAQ,GAAG,IAAItG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC;cAC9C,IAAMuG,KAAK,GAAG,IAAIzG,IAAI,CAACwG,QAAQ,EAAE1C,QAAQ,CAAC;cAC1C2C,KAAK,CAACC,QAAQ,CAACC,CAAC,GAAG,CAACC,IAAI,CAACC,EAAE,GAAG,CAAC;cAE/BJ,KAAK,CAACK,QAAQ,CAACjE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;cAC9B4D,KAAK,CAACM,WAAW,GAAG,CAAC,CAAC;cAEtBT,KAAK,CAACd,GAAG,CAACiB,KAAK,CAAC;YAClB,CAAC,MAEI;cACH;cACAtB,KAAK,CAACrB,QAAQ,GAAGhD,eAAe;YAClC;UACF;QACF,CAAC,CAAC;QAEFkB,IAAI,CAAC+C,QAAQ,WAAI,MAAI,CAACzC,OAAO,gBAAa,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;UAC3EA,IAAI,CAACT,KAAK,CAACyC,KAAK,CAACnE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;UAEnC,IAAMoE,IAAI,GAAG,IAAI3G,aAAa,EAAE,CAAC0B,IAAI,WAAI,MAAI,CAACM,OAAO,cAAW;UAEhE2E,IAAI,CAACvE,KAAK,GAAGvC,cAAc;UAC3B8G,IAAI,CAACtE,KAAK,GAAGxC,cAAc;UAE3B8G,IAAI,CAACrE,MAAM,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;UAErBmC,IAAI,CAACT,KAAK,CAACW,QAAQ,CAAC,UAACC,KAAK,EAAK;YAC7B,IAAIA,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;cACzB;cACAF,KAAK,CAACrB,QAAQ,CAACoD,QAAQ,GAAGtH,gBAAgB;cAC1C;cACAuF,KAAK,CAACrB,QAAQ,CAACC,WAAW,GAAG,IAAI;cACjC;cACAoB,KAAK,CAACrB,QAAQ,CAACqD,OAAO,GAAG,CAAC;cAC1B;cACAhC,KAAK,CAACrB,QAAQ,CAACsD,SAAS,GAAG,IAAI;;cAE/B;cACAjC,KAAK,CAACrB,QAAQ,CAACuD,GAAG,GAAGJ,IAAI;YAC3B;UACF,CAAC,CAAC;UAEFtG,GAAG,CAACkF,QAAQ,CAAC,YAAM;YACjBoB,IAAI,CAACK,MAAM,CAACX,CAAC,IAAI,IAAI;UACvB,CAAC,CAAC;UAEFL,KAAK,CAACd,GAAG,CAACR,IAAI,CAACT,KAAK,CAAC;UAErB,OAAOS,IAAI;QACb,CAAC,CAAC;QAEF3D,eAAe,EAAE;QAEjB,MAAI,CAACkD,KAAK,CAACiB,GAAG,CAACc,KAAK,CAAC;QAErBA,KAAK,CAACJ,OAAO,GAAGhF,UAAU,CAACqG,IAAI,KAAK,MAAI,CAACpB,KAAK;QAC9C,MAAI,CAACqB,SAAS,GAAGlB,KAAc;QAE/B,OAAOtB,IAAI;MACb,CAAC,CAAC;MAEF,IAAMyC,cAAc,GAAGC,MAAM,CAACC,MAAM,CAACrG,oBAAoB,CAAC,CAAC+F,GAAG,CAAC,UAAAO,CAAC;QAAA,OAAIA,CAAC,CAACC,MAAM;MAAA,EAAC;;MAE7E;MACA7F,IAAI,CAAC+C,QAAQ,WAAI,IAAI,CAACzC,OAAO,eAAY,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;QAC1E,IAAMsB,KAAK,GAAGtB,IAAI,CAACT,KAAK;QACxB+B,KAAK,CAACpB,QAAQ,CAAC,UAACC,KAAK,EAAK;UACxB,IAAIA,KAAK,CAACE,IAAI,KAAK,MAAM,EAAE;YACzB;YACAF,KAAK,CAACrB,QAAQ,GAAG,IAAIzD,cAAc,CAAC;cAClCoB,YAAY,EAAED,IAAI;cAClBI,cAAc,EAAEL,IAAI;cACpBuB,QAAQ,EAAE;gBACRgF,QAAQ,EAAE;kBAAE/E,KAAK,EAAE,IAAIzC,aAAa,CAAC,MAAI,CAACyB,cAAc,CAAC,CAACC,IAAI,WAAI,MAAI,CAACM,OAAO;gBAAc,CAAC;gBAC7FyF,QAAQ,EAAE;kBAAEhF,KAAK,EAAE,IAAIzC,aAAa,CAAC,MAAI,CAACyB,cAAc,CAAC,CAACC,IAAI,WAAI,MAAI,CAACM,OAAO;gBAAc,CAAC;gBAC7F0F,OAAO,EAAE;kBAAEjF,KAAK,EAAE,IAAIxC,OAAO,CAAC,CAAC,EAAE,CAAC;gBAAE;cACtC;YACF,CAAC,CAAC;YAEF4E,KAAK,CAACL,MAAM,CAACjC,GAAG,CAAC,CAAC,CAAC;YAEnB,IAAI4E,cAAc,CAACQ,QAAQ,CAAC9C,KAAK,CAACoB,IAAI,CAAC;cACvC;cACEpB,KAAK,CAACrB,QAAQ,CAACsD,SAAS,GAAG,KAAK;UACpC;QACF,CAAC,CAAC;QAEF,MAAI,CAAC7C,KAAK,CAACiB,GAAG,CAACc,KAAK,CAAC;QAErB,MAAI,CAAC4B,cAAc,GAAG5B,KAAc;QAEpC,OAAOtB,IAAI;MACb,CAAC,CAAC;MAEFhD,IAAI,CAAC+C,QAAQ,WAAI,IAAI,CAACzC,OAAO,kBAAe,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;QAC7E,MAAI,CAACT,KAAK,CAACiB,GAAG,CAACR,IAAI,CAACT,KAAK,CAAC;QAE1B,MAAI,CAAC4D,QAAQ,GAAGnD,IAAI,CAACT,KAAc;QACnC,OAAOS,IAAI;MACb,CAAC,CAAC;;MAEF;MACAhD,IAAI,CAAC+C,QAAQ,WAAI,IAAI,CAACzC,OAAO,mBAAgB,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,UAAC0C,IAAI,EAAK;QAC9E,MAAI,CAACT,KAAK,CAACiB,GAAG,CAACR,IAAI,CAACT,KAAK,CAAC;;QAE1B;;QAEA;QACA;QACA;QACA;;QAEA,MAAI,CAAC6D,eAAe,GAAGpD,IAAI,CAACT,KAAc;QAC1C,OAAOS,IAAI;MACb,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,0BAAiBqD,MAAkB,EAAE;MACnC,IAAI,IAAI,CAAClC,KAAK,KAAKkC,MAAM,EACvB;MAEF,IAAI,CAAClC,KAAK,GAAGkC,MAAM;MAEnB,IAAI,IAAI,CAAClC,KAAK,KAAKjF,UAAU,CAACqG,IAAI,EAAE;QAClC,IAAI,CAACY,QAAQ,CAACjC,OAAO,GAAG,KAAK;QAC7B,IAAI,CAACsB,SAAS,CAACtB,OAAO,GAAG,IAAI;QAC7B,IAAI,CAACE,QAAQ,CAACF,OAAO,GAAG,KAAK;QAC7B,IAAI,CAACjB,aAAa,CAACiB,OAAO,GAAG,KAAK;QAClC,IAAI,CAAC3B,KAAK,CAACA,KAAK,CAAC+D,UAAU,GAAG,IAAI;QAClC,IAAI,CAACF,eAAe,KAAK,IAAI,CAACA,eAAe,CAAClC,OAAO,GAAG,KAAK,CAAC;QAE9D,IAAI,CAAC3B,KAAK,CAACmB,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC/C;MAEA,IAAIoC,MAAM,KAAKnH,UAAU,CAACiD,IAAI,EAAE;QAC9B,IAAI,CAACgE,QAAQ,CAACjC,OAAO,GAAG,IAAI;QAC5B,IAAI,CAACsB,SAAS,CAACtB,OAAO,GAAG,KAAK;QAC9B,IAAI,CAACE,QAAQ,CAACF,OAAO,GAAG,IAAI;QAC5B,IAAI,CAACkC,eAAe,KAAK,IAAI,CAACA,eAAe,CAAClC,OAAO,GAAG,IAAI,CAAC;QAC7D,IAAI,CAACjB,aAAa,KAAK,IAAI,CAACA,aAAa,CAACiB,OAAO,GAAG,IAAI,CAAC;QACzD,IAAI,CAAC3B,KAAK,CAACA,KAAK,CAAC+D,UAAU,GAAG,IAAIzI,KAAK,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC0E,KAAK,CAACmB,QAAQ,CAACO,mBAAmB,GAAG,GAAG;MAC/C;IACF;EAAC;IAAA;IAAA,OAED,mBAAiBsC,GAAa,EAAE;MAC9B,IAAI,IAAI,CAACA,GAAG,KAAKA,GAAG,EAClB;MACFvH,UAAS,CAACuH,GAAG,CAAC,CAACC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;IACpC;EAAC;IAAA;IAAA,OAED,6BAA4B;MAAA;MAC1BvH,YAAY,CAACwH,OAAO,CAAC,UAACC,QAAQ,EAAK;QACjCvG,OAAO,CAACwG,EAAE,CAACD,QAAQ,EAAE,UAACE,IAAI,EAAK;UAAA;UAC7B,+BAAI,CAACC,aAAa,CAACC,GAAG,CAACJ,QAAQ,CAAC,0DAAhC,sBAAkCD,OAAO,CAAC,UAACM,EAAE,EAAK;YAChDA,EAAE,CAACH,IAAI,CAAC;UACV,CAAC,CAAC;QACJ,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;EAFE;IAAA;IAAA,OAGA,oBAAWI,QAAiB,EAAE;MAC5B,IAAI,IAAI,CAACT,GAAG,KAAKpH,QAAQ,CAAC,kBAAkB,CAAC,EAC3C;MAEF,IAAI6H,QAAQ,EAAE;QACZ,IAAIA,QAAQ,KAAK,OAAO,EAAE;UACxB,IAAI,IAAI,CAACzE,KAAK,CAAC0E,YAAY,KAAK,IAAI,CAACC,UAAU,CAACC,SAAS,EAAE;YACzD,IAAMF,YAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;YAE9C,IAAI,CAAC5E,KAAK,CAAC0E,YAAY,GAAG,IAAI,CAACC,UAAU,CAACE,SAAS;YACnD,IAAI,CAACC,UAAU,GAAG,IAAI,CAAC9E,KAAK,CAACI,MAAM;YACnC,IAAI,CAACJ,KAAK,CAACI,MAAM,GAAGsE,YAAY;YAEhCrI,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,MAAM,CAAC;YAC1B1I,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;UAC3C;QACF;QAEA,IAAIN,QAAQ,KAAK,QAAQ,EAAE;UACzB,IAAI,IAAI,CAACzE,KAAK,CAAC0E,YAAY,KAAK,IAAI,CAACC,UAAU,CAACC,SAAS,EAAE;YACzD,IAAME,UAAU,GAAG,IAAI,CAACA,UAAU;YAClC,IAAMJ,aAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;YAE9C,IAAI,CAAC5E,KAAK,CAACI,MAAM,GAAG0E,UAAU;YAC9B,IAAI,CAAC9E,KAAK,CAAC0E,YAAY,GAAGA,aAAY;YAEtCrI,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,MAAM,CAAC;YAC1B1I,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;UAC5C;QACF;MACF,CAAC,MACI;QACH;QACA,IAAI,IAAI,CAAC/E,KAAK,CAAC0E,YAAY,KAAK,IAAI,CAACC,UAAU,CAACC,SAAS,EAAE;UACzD,IAAMF,cAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;UAE9C,IAAI,CAAC5E,KAAK,CAAC0E,YAAY,GAAG,IAAI,CAACC,UAAU,CAACE,SAAS;UAEnD,IAAI,CAACC,UAAU,GAAG,IAAI,CAAC9E,KAAK,CAACI,MAAM;UACnC,IAAI,CAACJ,KAAK,CAACI,MAAM,GAAGsE,cAAY;UAEhCrI,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,MAAM,CAAC;UAC1B1I,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,CAAC,MACI;UACH;UACA,IAAMD,WAAU,GAAG,IAAI,CAACA,UAAU;UAClC,IAAMJ,cAAY,GAAG,IAAI,CAACC,UAAU,CAACC,SAAS;UAE9C,IAAI,CAAC5E,KAAK,CAACI,MAAM,GAAG0E,WAAU;UAC9B,IAAI,CAAC9E,KAAK,CAAC0E,YAAY,GAAGA,cAAY;UAEtCrI,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,MAAM,CAAC;UAC1B1I,KAAK,CAACuB,OAAO,CAACmH,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC;QAC5C;MACF;IACF;EAAC;IAAA;IAAA,OAED,0BAAiBC,SAAiB,EAAEC,QAA8B,EAAE;MAClE,IAAI,IAAI,CAACX,aAAa,CAACC,GAAG,CAACS,SAAS,CAAC,EACnC,IAAI,CAACV,aAAa,CAACC,GAAG,CAACS,SAAS,CAAC,CAACE,IAAI,CAACD,QAAQ,CAAC,MAGhD,IAAI,CAACX,aAAa,CAAChG,GAAG,CAAC0G,SAAS,EAAE,CAACC,QAAQ,CAAC,CAAC;IACjD;EAAC;EAAA;AAAA;AAGH,eAAexF,SAAS"}
1
+ {"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","name","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","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","thermaLimaging","pipeline","realGroundModel","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\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 realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\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 return new Promise((resolve) => {\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}landScap3.glb`, false, true, './draco/', (gltf) => {\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 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\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\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 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 // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\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 this.realGroundModel = 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.realTreeModel.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.realTreeModel && (this.realTreeModel.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.realTreeModel.visible = false\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 }\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 }\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 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 }\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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"}
@@ -13,6 +13,7 @@ declare class InspectionObject {
13
13
  tempDemo: any;
14
14
  isStartUp: boolean;
15
15
  initialMinCameraQuaternion: any;
16
+ contineCount: number;
16
17
  constructor(inspection: any);
17
18
  private loadModel;
18
19
  private breathinglamp;
@@ -30,6 +31,7 @@ declare class InspectionObject {
30
31
  private startRotate;
31
32
  private generateTempPathMesh;
32
33
  private cleanTempPathMesh;
34
+ private takeOffAnimation;
33
35
  gotoTarget(targetPosition: Vector3, targetProgress: number): void;
34
36
  setSpeed(speed: number): void;
35
37
  stop(): void;
@@ -33,6 +33,7 @@ var InspectionObject = /*#__PURE__*/function () {
33
33
  _defineProperty(this, "tempDemo", void 0);
34
34
  _defineProperty(this, "isStartUp", false);
35
35
  _defineProperty(this, "initialMinCameraQuaternion", void 0);
36
+ _defineProperty(this, "contineCount", 0);
36
37
  _defineProperty(this, "startRotate", function (targetQuaternion, mesh, cb) {
37
38
  var clock = new Clock();
38
39
  if (mesh.quaternion.equals(targetQuaternion)) return cb();
@@ -183,8 +184,6 @@ var InspectionObject = /*#__PURE__*/function () {
183
184
  // @ts-ignore
184
185
  target.material.color.set(currentColor);
185
186
  });
186
-
187
- // model.add(light)
188
187
  }
189
188
  }, {
190
189
  key: "loadPosAudio",
@@ -233,6 +232,7 @@ var InspectionObject = /*#__PURE__*/function () {
233
232
  this.model.position.copy(curve.getPointAt(0));
234
233
  setTimeout(function () {
235
234
  _this3.stop();
235
+ _this3.model.position.y = _this3.model.position.y - 20;
236
236
  }, 20);
237
237
  this.sendCompassInfo();
238
238
  use.useframe(function () {
@@ -373,7 +373,7 @@ var InspectionObject = /*#__PURE__*/function () {
373
373
  // @ts-ignore
374
374
  if (!targetMesh.finirMesh) {
375
375
  finirMesh = targetMesh.clone();
376
- var finirMaterialV2 = createFinirMaterial('#08A6E3', 5.3);
376
+ var finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3);
377
377
  finirMesh.traverse(function (child) {
378
378
  child.layers.set(3);
379
379
  if (child.type === 'Mesh') {
@@ -382,7 +382,7 @@ var InspectionObject = /*#__PURE__*/function () {
382
382
 
383
383
  // @ts-ignore
384
384
  var lineSegments = new LineSegments(new EdgesGeometry(child.geometry), new LineBasicMaterial({
385
- color: 'yellow'
385
+ color: '#08A6E3'
386
386
  }));
387
387
  lineSegments.layers.set(3);
388
388
  finirMesh.add(lineSegments);
@@ -473,10 +473,24 @@ var InspectionObject = /*#__PURE__*/function () {
473
473
  this.tempPathMesh.removeFromParent();
474
474
  }
475
475
  }
476
+ }, {
477
+ key: "takeOffAnimation",
478
+ value: function takeOffAnimation() {
479
+ var _this7 = this;
480
+ var currentPosition = this.model.position;
481
+ var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z));
482
+ var upControl = utils.moveWithLine(this.model, upCurve, 10, {
483
+ loop: false,
484
+ lookat: false
485
+ });
486
+ upControl.addEventListener('end', function () {
487
+ _this7.control.contine();
488
+ });
489
+ }
476
490
  }, {
477
491
  key: "gotoTarget",
478
492
  value: function gotoTarget(targetPosition, targetProgress) {
479
- var _this7 = this;
493
+ var _this8 = this;
480
494
  if (this.isAnimation) return;
481
495
  this.isAnimation = true;
482
496
  this.control.stop();
@@ -486,27 +500,27 @@ var InspectionObject = /*#__PURE__*/function () {
486
500
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
487
501
  this.startRotate(targetQuaternion, this.model, function () {
488
502
  var tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z);
489
- _this7.generateTempPathMesh(_this7.generateTempPath(new Vector3(_this7.model.position.x, 1.1, _this7.model.position.z), tempPathMeshtargetPosition));
490
- var currentPosition = _this7.model.position;
503
+ _this8.generateTempPathMesh(_this8.generateTempPath(new Vector3(_this8.model.position.x, 1.1, _this8.model.position.z), tempPathMeshtargetPosition));
504
+ var currentPosition = _this8.model.position;
491
505
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z));
492
- var upControl = utils.moveWithLine(_this7.model, upCurve, 10, {
506
+ var upControl = utils.moveWithLine(_this8.model, upCurve, 10, {
493
507
  loop: false,
494
508
  lookat: targetPosition
495
509
  });
496
510
 
497
511
  // up end
498
512
  upControl.addEventListener('end', function () {
499
- var tempCurve = _this7.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
500
- var tempControl = utils.moveWithLine(_this7.model, tempCurve, 60, {
513
+ var tempCurve = _this8.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
514
+ var tempControl = utils.moveWithLine(_this8.model, tempCurve, 60, {
501
515
  loop: false,
502
516
  lookat: false
503
517
  });
504
518
 
505
519
  // temp end
506
520
  tempControl.addEventListener('end', function () {
507
- var lastPosition = _this7.model.position;
521
+ var lastPosition = _this8.model.position;
508
522
  var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z));
509
- var downControl = utils.moveWithLine(_this7.model, downCurve, 10, {
523
+ var downControl = utils.moveWithLine(_this8.model, downCurve, 10, {
510
524
  loop: false,
511
525
  lookat: false
512
526
  });
@@ -515,15 +529,15 @@ var InspectionObject = /*#__PURE__*/function () {
515
529
  downControl.addEventListener('end', function () {
516
530
  var rotationMatrix2 = new Matrix4();
517
531
  var targetQuaternion2 = new Quaternion();
518
- var targetPosition2 = _this7.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
519
- rotationMatrix2.lookAt(targetPosition2, _this7.model.position, _this7.model.up);
532
+ var targetPosition2 = _this8.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
533
+ rotationMatrix2.lookAt(targetPosition2, _this8.model.position, _this8.model.up);
520
534
  targetQuaternion2.setFromRotationMatrix(rotationMatrix2);
521
- _this7.startRotate(targetQuaternion2, _this7.model, function () {
535
+ _this8.startRotate(targetQuaternion2, _this8.model, function () {
522
536
  setTimeout(function () {
523
- _this7.cleanTempPathMesh();
524
- _this7.isAnimation = false;
525
- _this7.control.setProgress(targetProgress);
526
- _this7.control.contine();
537
+ _this8.cleanTempPathMesh();
538
+ _this8.isAnimation = false;
539
+ _this8.control.setProgress(targetProgress);
540
+ _this8.control.contine();
527
541
  }, 500);
528
542
  });
529
543
  });
@@ -544,7 +558,13 @@ var InspectionObject = /*#__PURE__*/function () {
544
558
  }, {
545
559
  key: "contineMove",
546
560
  value: function contineMove() {
547
- if (this.control) this.control.contine();
561
+ if (!this.control) throw new Error('control not init');
562
+ if (this.contineCount === 0) {
563
+ this.takeOffAnimation();
564
+ } else {
565
+ this.control.contine();
566
+ }
567
+ this.contineCount++;
548
568
  this.isStartUp = true;
549
569
  utils.emitter.emit('continue', true);
550
570
  if (this.inspection.minCamera === this.inspection.gobal.scene.camera) utils.emitter.emit('play');
@@ -1 +1 @@
1
- {"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","verticalSpeed","horizontalSpeed","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","upCurve","upControl","loop","lookat","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","contine","speed","setSpeed","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n\n // model.add(light)\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop()\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n /**\n * send compass info\n * not use useframe, because useframe will be lose some frame\n */\n private sendCompassInfo() {\n setInterval(() => {\n const mesh = this.model\n mesh.updateMatrixWorld(true)\n\n const worldQuaternion = new Quaternion()\n mesh.getWorldQuaternion(worldQuaternion)\n\n const worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ')\n const rotationY = worldEuler.y\n const rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY))\n\n sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {\n rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),\n degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,\n distance: this.getSportsProgress * this.inspection.curve.getLength(),\n verticalSpeed: 0,\n horizontalSpeed: 10,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 5.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: 'yellow' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n if (this.control)\n this.control.contine()\n\n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
1
+ {"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","verticalSpeed","horizontalSpeed","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","upCurve","upControl","loop","lookat","contine","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","speed","setSpeed","Error","contineCount","takeOffAnimation","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y-20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n /**\n * send compass info\n * not use useframe, because useframe will be lose some frame\n */\n private sendCompassInfo() {\n setInterval(() => {\n const mesh = this.model\n mesh.updateMatrixWorld(true)\n\n const worldQuaternion = new Quaternion()\n mesh.getWorldQuaternion(worldQuaternion)\n\n const worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ')\n const rotationY = worldEuler.y\n const rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY))\n\n sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {\n rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),\n degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,\n distance: this.getSportsProgress * this.inspection.curve.getLength(),\n verticalSpeed: 0,\n horizontalSpeed: 10,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation(){\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: false })\n\n upControl.addEventListener('end',()=>{\n this.control.contine()\n })\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n\n if (!this.control)\n throw new Error('control not init')\n\n if (this.contineCount===0){\n this.takeOffAnimation()\n }else{\n this.control.contine()\n }\n\n this.contineCount++\n \n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
@@ -16,8 +16,8 @@ import InspectionObject from "./InspectionObject";
16
16
  import DefaultFirstPerspectiveControls from "./defaultFirstPerspectiveControls";
17
17
  var storeManagement = utils.storeManagement;
18
18
  var viewInfoPro = {
19
- width: 502,
20
- height: 256,
19
+ width: 430,
20
+ height: 210,
21
21
  top: 170,
22
22
  left: 90
23
23
  };
@@ -298,7 +298,7 @@ var Inspection = /*#__PURE__*/function () {
298
298
  if (this.minCamera) {
299
299
  minCamera = this.minCamera;
300
300
  } else {
301
- minCamera = new PerspectiveCamera(30, window.innerWidth / window.innerHeight, 0.1, 1000);
301
+ minCamera = new PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);
302
302
  }
303
303
  this.gobal.scene.cutoutCamera = minCamera;
304
304
  this.gobal.scene.cutoutArea = {
@@ -1 +1 @@
1
- {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","depthTest","depthWrite","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 170,\n left: 90,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n // const demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(30,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
1
+ {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","depthTest","depthWrite","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 430,\n height: 210,\n top: 170,\n left: 90,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n })\n }\n else {\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n }\n }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n // const demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(60,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export declare enum SceneStyle {
2
2
  'real' = 0,
3
- 'tech' = 1
3
+ 'tech' = 1,
4
+ 'white' = 2
4
5
  }
5
6
  export declare enum SceneTag {
6
7
  'overview' = "Overview",
@@ -2,6 +2,7 @@ export var SceneStyle;
2
2
  (function (SceneStyle) {
3
3
  SceneStyle[SceneStyle["real"] = 0] = "real";
4
4
  SceneStyle[SceneStyle["tech"] = 1] = "tech";
5
+ SceneStyle[SceneStyle["white"] = 2] = "white";
5
6
  })(SceneStyle || (SceneStyle = {}));
6
7
  export var SceneTag;
7
8
  (function (SceneTag) {
@@ -1 +1 @@
1
- {"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'Inspection',\n 'security-operation' = 'Maintenance',\n 'standBy' = 'StandBy',\n}"],"mappings":"AAAA,WAAYA,UAAU;AAGrB,WAHWA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU;AAKtB,WAAYC,QAAQ;AAMnB,WANWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ"}
1
+ {"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n 'white'\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'Inspection',\n 'security-operation' = 'Maintenance',\n 'standBy' = 'StandBy',\n}"],"mappings":"AAAA,WAAYA,UAAU;AAIrB,WAJWA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU;AAMtB,WAAYC,QAAQ;AAMnB,WANWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ"}
@@ -0,0 +1,40 @@
1
+ import { ShaderMaterial, Vector4 } from "@anov/3d-core";
2
+ export declare const uniforms: {
3
+ _Texture: {
4
+ value: import("@anov/3d-core").Texture;
5
+ };
6
+ _Texture_ST: {
7
+ value: Vector4;
8
+ };
9
+ _Color: {
10
+ value: Vector4;
11
+ };
12
+ _ColorS: {
13
+ value: number;
14
+ };
15
+ _TextureMask: {
16
+ value: import("@anov/3d-core").Texture;
17
+ };
18
+ _TexturePlane: {
19
+ value: import("@anov/3d-core").Texture;
20
+ };
21
+ _MaskUV: {
22
+ value: number;
23
+ };
24
+ _ColorMask: {
25
+ value: Vector4;
26
+ };
27
+ _ColorMaskS: {
28
+ value: number;
29
+ };
30
+ _Speed: {
31
+ value: Vector4;
32
+ };
33
+ _OP: {
34
+ value: number;
35
+ };
36
+ _Time: {
37
+ value: number;
38
+ };
39
+ };
40
+ export declare const material: ShaderMaterial;
@@ -0,0 +1,65 @@
1
+ import { Color, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector4 } from "@anov/3d-core";
2
+ var resourcePath = './';
3
+ var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
4
+ var usePath = false ? resourcePath : resourcePath2;
5
+ var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
6
+ var _Texture2 = new TextureLoader().load("".concat(usePath, "demo04.jpg"));
7
+ var _Texture3 = new TextureLoader().load("".concat(usePath, "test04.jpg"));
8
+ _Texture.wrapS = RepeatWrapping;
9
+ _Texture.wrapT = RepeatWrapping;
10
+ _Texture2.wrapS = RepeatWrapping;
11
+ _Texture2.wrapT = RepeatWrapping;
12
+ _Texture3.wrapS = RepeatWrapping;
13
+ _Texture3.wrapT = RepeatWrapping;
14
+ _Texture.repeat.set(5000, 5000);
15
+ _Texture2.repeat.set(10, 10);
16
+ _Texture3.repeat.set(5000, 5000);
17
+ export var uniforms = {
18
+ _Texture: {
19
+ value: _Texture
20
+ },
21
+ _Texture_ST: {
22
+ value: new Vector4()
23
+ },
24
+ _Color: {
25
+ value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5)
26
+ },
27
+ _ColorS: {
28
+ value: 1
29
+ },
30
+ _TextureMask: {
31
+ value: _Texture2
32
+ },
33
+ _TexturePlane: {
34
+ value: _Texture3
35
+ },
36
+ _MaskUV: {
37
+ value: 1
38
+ },
39
+ _ColorMask: {
40
+ value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1)
41
+ },
42
+ _ColorMaskS: {
43
+ value: 1
44
+ },
45
+ _Speed: {
46
+ value: new Vector4(0.0, 0.2, 0, 0)
47
+ },
48
+ _OP: {
49
+ value: 1.0
50
+ },
51
+ _Time: {
52
+ value: 1.0
53
+ }
54
+ };
55
+ var vertexShader = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_vertex, "\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ").concat(ShaderChunk.logdepthbuf_vertex, "\n }\n");
56
+
57
+ // Fragment shader
58
+ var fragmentShader = /* glsl */"\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
59
+ export var material = new ShaderMaterial({
60
+ uniforms: uniforms,
61
+ vertexShader: vertexShader,
62
+ fragmentShader: fragmentShader,
63
+ transparent: true
64
+ });
65
+ //# sourceMappingURL=ground.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Color","RepeatWrapping","ShaderChunk","ShaderMaterial","TextureLoader","Vector4","resourcePath","resourcePath2","usePath","_Texture","load","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","material","transparent"],"sources":["../../../src/factory/utils/ground.ts"],"sourcesContent":["\nimport { Color, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector4 } from \"@anov/3d-core\"\n\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\nconst usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\n\nexport const uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\n\nconst vertexShader = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = /* glsl */`\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\n\nexport const material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})"],"mappings":"AACA,SAASA,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,QAAQ,eAAe;AAG1G,IAAMC,YAAY,GAAG,IAAI;AACzB,IAAMC,aAAa,GAAG,+DAA+D;AACrF,IAAMC,OAAO,GAAG,QAA4BF,YAAY,GAAGC,aAAa;AAExE,IAAME,QAAQ,GAAG,IAAIL,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AACjE,IAAMG,SAAS,GAAG,IAAIP,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AAClE,IAAMI,SAAS,GAAG,IAAIR,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AAElEC,QAAQ,CAACI,KAAK,GAAGZ,cAAc;AAC/BQ,QAAQ,CAACK,KAAK,GAAGb,cAAc;AAE/BU,SAAS,CAACE,KAAK,GAAGZ,cAAc;AAChCU,SAAS,CAACG,KAAK,GAAGb,cAAc;AAEhCW,SAAS,CAACC,KAAK,GAAGZ,cAAc;AAChCW,SAAS,CAACE,KAAK,GAAGb,cAAc;AAEhCQ,QAAQ,CAACM,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/BL,SAAS,CAACI,MAAM,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5BJ,SAAS,CAACG,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAGhC,OAAO,IAAMC,QAAQ,GAAG;EACpBR,QAAQ,EAAE;IAAES,KAAK,EAAET;EAAS,CAAC;EAC7BU,WAAW,EAAE;IAAED,KAAK,EAAE,IAAIb,OAAO;EAAG,CAAC;EACrCe,MAAM,EAAE;IAAEF,KAAK,EAAE,IAAIb,OAAO,CAAC,IAAIL,KAAK,CAAC,SAAS,CAAC,CAACqB,CAAC,EAAE,IAAIrB,KAAK,CAAC,SAAS,CAAC,CAACsB,CAAC,EAAE,IAAItB,KAAK,CAAC,SAAS,CAAC,CAACuB,CAAC,EAAE,GAAG;EAAE,CAAC;EAC3GC,OAAO,EAAE;IAAEN,KAAK,EAAE;EAAE,CAAC;EACrBO,YAAY,EAAE;IAAEP,KAAK,EAAEP;EAAU,CAAC;EAClCe,aAAa,EAAE;IAAER,KAAK,EAAEN;EAAU,CAAC;EACnCe,OAAO,EAAE;IAAET,KAAK,EAAE;EAAE,CAAC;EACrBU,UAAU,EAAE;IAAEV,KAAK,EAAE,IAAIb,OAAO,CAAC,IAAIL,KAAK,CAAC,MAAM,CAAC,CAACqB,CAAC,EAAE,IAAIrB,KAAK,CAAC,MAAM,CAAC,CAACsB,CAAC,EAAE,IAAItB,KAAK,CAAC,MAAM,CAAC,CAACuB,CAAC,EAAE,CAAC;EAAE,CAAC;EACpGM,WAAW,EAAE;IAAEX,KAAK,EAAE;EAAE,CAAC;EACzBY,MAAM,EAAE;IAAEZ,KAAK,EAAE,IAAIb,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;EAAE,CAAC;EAC9C0B,GAAG,EAAE;IAAEb,KAAK,EAAE;EAAI,CAAC;EACnBc,KAAK,EAAE;IAAEd,KAAK,EAAE;EAAI;AACxB,CAAC;AAGD,IAAMe,YAAY,GAAG,sBACnB/B,WAAW,CAACgC,uBAAuB,yWAY3BhC,WAAW,CAACiC,kBAAkB,cAEvC;;AAED;AACA,IAAMC,cAAc,GAAG,wBACnBlC,WAAW,CAACmC,yBAAyB,gjDAyC/BnC,WAAW,CAACoC,oBAAoB,cAEzC;AAGD,OAAO,IAAMC,QAAQ,GAAG,IAAIpC,cAAc,CAAC;EACvCc,QAAQ,EAARA,QAAQ;EACRgB,YAAY,EAAZA,YAAY;EACZG,cAAc,EAAdA,cAAc;EACdI,WAAW,EAAE;AACjB,CAAC,CAAC"}
@@ -10,4 +10,7 @@ export declare class Scene implements BaseModule {
10
10
  growIn(): Promise<unknown>;
11
11
  growOut(): Promise<unknown>;
12
12
  toPage(params: any): void;
13
+ setTheme(params: {
14
+ name: 'Real' | 'Fresnel' | 'Pure';
15
+ }): void;
13
16
  }
@@ -9,6 +9,7 @@ import { Grow } from '@anov/3d-ability';
9
9
  import { MessageType, sendToMessage } from "../../utils/messageFn";
10
10
  import { EMessageStatus } from "../../messageStatus";
11
11
  import factoryGlobalObject from "../../factory/globalControl";
12
+ import { SceneStyle } from "../../factory/utils/constant";
12
13
  export var Scene = /*#__PURE__*/function () {
13
14
  function Scene(app) {
14
15
  _classCallCheck(this, Scene);
@@ -109,6 +110,23 @@ export var Scene = /*#__PURE__*/function () {
109
110
  }
110
111
  factoryGlobalObject.factory3D.toggleTag(params.name);
111
112
  }
113
+ }, {
114
+ key: "setTheme",
115
+ value: function setTheme(params) {
116
+ var map = {
117
+ Real: SceneStyle.real,
118
+ Fresnel: SceneStyle.tech,
119
+ Pure: SceneStyle.white
120
+ };
121
+ if (params.name === 'Fresnel') {
122
+ // @ts-ignore
123
+ this.app.environment.skyControl.disabledSun();
124
+ } else {
125
+ // @ts-ignore
126
+ this.app.environment.skyControl.enabledSun();
127
+ }
128
+ factoryGlobalObject.factory3D.toggleSceneStyle(map[params.name]);
129
+ }
112
130
  }]);
113
131
  return Scene;
114
132
  }();
@@ -1 +1 @@
1
- {"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","Scene","app","grow","opt","Promise","res","Object","assign","onGrowInitCompleted","console","log","Event","Success","onGrowInStart","onGrowInCompleted","onGrowOutStart","onGrowOutCompleted","success","in","message","out","params","name","environment","skyControl","disabledSun","enabledSun","factory3D","toggleTag"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import type { Vector3 } from '@anov/3d-core'\nimport type { GrowOption } from '@anov/3d-ability'\nimport { EEaseType, ESceneGrowType, Grow } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport factoryGlobalObject from '../../factory/globalControl'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\n\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private grow: Grow\n private opt: GrowOption\n\n constructor(app: Anov3D) {\n this.app = app\n this.grow = null\n this.opt = {}\n }\n\n // [API:场景进出场初始化]\n growInit(opt?: GrowOption) {\n return new Promise ((res) => {\n Object.assign(this.opt, opt || {},\n {\n onGrowInitCompleted: () => {\n console.log('------:onGrowInitCompleted')\n sendToMessage(MessageType.Event, 'onGrowInitCompleted', EMessageStatus.Success)\n },\n onGrowInStart: () => {\n console.log('------:onGrowInStart')\n\n // opt.onGrowInStart && opt.onGrowInStart()\n sendToMessage(MessageType.Event, 'onGrowInStart', EMessageStatus.Success)\n },\n onGrowInCompleted: () => {\n console.log('------:onGrowInCompleted')\n\n // opt.onGrowInCompleted && opt.onGrowInCompleted()\n sendToMessage(MessageType.Event, 'onGrowInCompleted', EMessageStatus.Success)\n },\n onGrowOutStart: () => {\n // opt.onGrowOutStart && opt.onGrowOutStart()\n console.log('------:onGrowOutStart')\n sendToMessage(MessageType.Event, 'onGrowOutStart', EMessageStatus.Success)\n },\n onGrowOutCompleted: () => {\n // opt.onGrowOutCompleted && opt.onGrowOutCompleted()\n console.log('------:onGrowOutCompleted')\n sendToMessage(MessageType.Event, 'onGrowOutCompleted', EMessageStatus.Success)\n },\n })\n this.grow = new Grow(this.opt)\n res({ success: true })\n })\n }\n\n // [API:场景进出场动画]\n growIn() {\n return new Promise ((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.in(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // [API:场景进出场动画]\n growOut() {\n return new Promise ((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.out(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // temporary solution by lM\n toPage(params: any) {\n console.log('params:', params)\n\n if (params.name === 'Person') {\n // @ts-ignore\n this.app.environment.skyControl.disabledSun()\n }\n\n else {\n // @ts-ignore\n this.app.environment.skyControl.enabledSun()\n }\n\n factoryGlobalObject.factory3D.toggleTag(params.name)\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","SceneStyle","Scene","app","grow","opt","Promise","res","Object","assign","onGrowInitCompleted","console","log","Event","Success","onGrowInStart","onGrowInCompleted","onGrowOutStart","onGrowOutCompleted","success","in","message","out","params","name","environment","skyControl","disabledSun","enabledSun","factory3D","toggleTag","map","Real","real","Fresnel","tech","Pure","white","toggleSceneStyle"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import type { Vector3 } from '@anov/3d-core'\nimport type { GrowOption } from '@anov/3d-ability'\nimport { EEaseType, ESceneGrowType, Grow } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport factoryGlobalObject from '../../factory/globalControl'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { SceneStyle } from '../../factory/utils/constant'\n\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private grow: Grow\n private opt: GrowOption\n\n constructor(app: Anov3D) {\n this.app = app\n this.grow = null\n this.opt = {}\n }\n\n // [API:场景进出场初始化]\n growInit(opt?: GrowOption) {\n return new Promise((res) => {\n Object.assign(this.opt, opt || {},\n {\n onGrowInitCompleted: () => {\n console.log('------:onGrowInitCompleted')\n sendToMessage(MessageType.Event, 'onGrowInitCompleted', EMessageStatus.Success)\n },\n onGrowInStart: () => {\n console.log('------:onGrowInStart')\n\n // opt.onGrowInStart && opt.onGrowInStart()\n sendToMessage(MessageType.Event, 'onGrowInStart', EMessageStatus.Success)\n },\n onGrowInCompleted: () => {\n console.log('------:onGrowInCompleted')\n\n // opt.onGrowInCompleted && opt.onGrowInCompleted()\n sendToMessage(MessageType.Event, 'onGrowInCompleted', EMessageStatus.Success)\n },\n onGrowOutStart: () => {\n // opt.onGrowOutStart && opt.onGrowOutStart()\n console.log('------:onGrowOutStart')\n sendToMessage(MessageType.Event, 'onGrowOutStart', EMessageStatus.Success)\n },\n onGrowOutCompleted: () => {\n // opt.onGrowOutCompleted && opt.onGrowOutCompleted()\n console.log('------:onGrowOutCompleted')\n sendToMessage(MessageType.Event, 'onGrowOutCompleted', EMessageStatus.Success)\n },\n })\n this.grow = new Grow(this.opt)\n res({ success: true })\n })\n }\n\n // [API:场景进出场动画]\n growIn() {\n return new Promise((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.in(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // [API:场景进出场动画]\n growOut() {\n return new Promise((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.out(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // temporary solution by lM\n toPage(params: any) {\n console.log('params:', params)\n\n if (params.name === 'Person') {\n // @ts-ignore\n this.app.environment.skyControl.disabledSun()\n }\n\n else {\n // @ts-ignore\n this.app.environment.skyControl.enabledSun()\n }\n\n factoryGlobalObject.factory3D.toggleTag(params.name)\n }\n\n setTheme(params: { name: 'Real' | 'Fresnel' | 'Pure' }) {\n\n const map = {\n Real: SceneStyle.real,\n Fresnel: SceneStyle.tech,\n Pure: SceneStyle.white\n }\n\n if (params.name === 'Fresnel') {\n // @ts-ignore\n this.app.environment.skyControl.disabledSun()\n } else {\n // @ts-ignore\n this.app.environment.skyControl.enabledSun()\n }\n\n factoryGlobalObject.factory3D.toggleSceneStyle(map[params.name])\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.94",
3
+ "version": "0.0.95",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",
@@ -22,8 +22,8 @@
22
22
  "localforage": "^1.10.0",
23
23
  "resize-observer-polyfill": "^1.5.1",
24
24
  "uuid": "^9.0.1",
25
- "@anov/3d-core": "^0.0.13",
26
- "@anov/3d-ability": "^0.0.14"
25
+ "@anov/3d-ability": "^0.0.14",
26
+ "@anov/3d-core": "^0.0.13"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/uuid": "^9.0.7"