@anov/3d 0.0.89 → 0.0.90

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.
@@ -387,12 +387,14 @@ var Factory3D = /*#__PURE__*/function () {
387
387
  this.scene.cutoutCamera = this.inspection.mapCamera;
388
388
  this.mainCamera = this.scene.camera;
389
389
  this.scene.camera = _cutoutCamera2;
390
+ utils.emitter.emit('play');
390
391
  } else {
391
392
  // toggle to main camera
392
393
  var _mainCamera = this.mainCamera;
393
394
  var _cutoutCamera3 = this.inspection.minCamera;
394
395
  this.scene.camera = _mainCamera;
395
396
  this.scene.cutoutCamera = _cutoutCamera3;
397
+ utils.emitter.emit('stop');
396
398
  }
397
399
  }
398
400
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AdditiveBlending","Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","SRGBColorSpace","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","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","type","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","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","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 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 = `\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 = `\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\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\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 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\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 rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\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.scene.environment = this.boxSkeyTexture\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 }\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 }\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 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 }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
1
+ {"version":3,"names":["AdditiveBlending","Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","SRGBColorSpace","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","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","type","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","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","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 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 = `\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 = `\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\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\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 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\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 rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\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.scene.environment = this.boxSkeyTexture\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 }\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 }\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 }\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 utils.emitter.emit('stop')\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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"}
@@ -117,6 +117,7 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
117
117
  var cutoutCamera = this.inspection.minCamera;
118
118
  this.scene.camera = mainCamera;
119
119
  this.scene.cutoutCamera = cutoutCamera;
120
+ utils.emitter.emit('stop');
120
121
  }
121
122
  this.scene.controls.enableRotate = true;
122
123
  this.scene.controls.enableZoom = true;
@@ -129,6 +130,7 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
129
130
  var cutoutCamera = this.inspection.minCamera;
130
131
  this.scene.camera = mainCamera;
131
132
  this.scene.cutoutCamera = cutoutCamera;
133
+ utils.emitter.emit('stop');
132
134
  }
133
135
  this.scene.controls.enableRotate = true;
134
136
  this.scene.controls.enableZoom = true;
@@ -141,6 +143,7 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
141
143
  var cutoutCamera = this.inspection.minCamera;
142
144
  this.scene.camera = mainCamera;
143
145
  this.scene.cutoutCamera = cutoutCamera;
146
+ utils.emitter.emit('stop');
144
147
  }
145
148
  this.scene.controls.enableRotate = false;
146
149
  this.scene.controls.enableZoom = false;
@@ -153,6 +156,7 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
153
156
  var cutoutCamera = this.inspection.minCamera;
154
157
  this.scene.camera = mainCamera;
155
158
  this.scene.cutoutCamera = cutoutCamera;
159
+ utils.emitter.emit('stop');
156
160
  }
157
161
  this.scene.controls.enableRotate = true;
158
162
  this.scene.controls.enableZoom = true;
@@ -165,6 +169,7 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
165
169
  var cutoutCamera = this.inspection.minCamera;
166
170
  this.scene.camera = mainCamera;
167
171
  this.scene.cutoutCamera = cutoutCamera;
172
+ utils.emitter.emit('stop');
168
173
  }
169
174
  this.scene.controls.enableRotate = true;
170
175
  this.scene.controls.enableZoom = true;
@@ -1 +1 @@
1
- {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","tech","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n else\n this.districtLine.removeHighLightLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\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\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\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 this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\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 this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\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 this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\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 this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","tech","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n else\n this.districtLine.removeHighLightLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\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 utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\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 utils.emitter.emit('stop')\n }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\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 utils.emitter.emit('stop')\n }\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\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 utils.emitter.emit('stop')\n }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\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 utils.emitter.emit('stop')\n }\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n this.districtLine.setHighLightLine(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
@@ -4,7 +4,6 @@ declare class InspectionObject {
4
4
  model: any;
5
5
  private inspection;
6
6
  private control;
7
- private tempLine;
8
7
  private isLock;
9
8
  private isAnimation;
10
9
  walkCurveMesh: any;
@@ -12,13 +11,17 @@ declare class InspectionObject {
12
11
  css2d: Css2DPoi;
13
12
  temp: any;
14
13
  tempDemo: any;
14
+ isStartUp: boolean;
15
15
  constructor(inspection: any);
16
16
  private loadModel;
17
17
  private loadPosAudio;
18
18
  startMove(curve: any): Promise<void>;
19
+ /**
20
+ * send compass info
21
+ * not use useframe, because useframe will be lose some frame
22
+ */
23
+ private sendCompassInfo;
19
24
  get getSportsProgress(): any;
20
- private getTargetQuaternion;
21
- private getTargetQuaternionV2;
22
25
  subscription(): Promise<unknown>;
23
26
  private checkAnimation;
24
27
  generateTempPath(currentPosition: Vector3, targetPosition: Vector3): LineCurve3;
@@ -24,7 +24,6 @@ var InspectionObject = /*#__PURE__*/function () {
24
24
  _defineProperty(this, "model", void 0);
25
25
  _defineProperty(this, "inspection", void 0);
26
26
  _defineProperty(this, "control", void 0);
27
- _defineProperty(this, "tempLine", void 0);
28
27
  _defineProperty(this, "isLock", false);
29
28
  _defineProperty(this, "isAnimation", false);
30
29
  _defineProperty(this, "walkCurveMesh", void 0);
@@ -32,6 +31,7 @@ var InspectionObject = /*#__PURE__*/function () {
32
31
  _defineProperty(this, "css2d", void 0);
33
32
  _defineProperty(this, "temp", void 0);
34
33
  _defineProperty(this, "tempDemo", void 0);
34
+ _defineProperty(this, "isStartUp", false);
35
35
  _defineProperty(this, "startRotate", function (targetQuaternion, mesh, cb) {
36
36
  var clock = new Clock();
37
37
  if (mesh.quaternion.equals(targetQuaternion)) return cb();
@@ -141,7 +141,8 @@ var InspectionObject = /*#__PURE__*/function () {
141
141
  child.layers.enable(5);
142
142
  });
143
143
  this.inspection.gobal.scene.add(this.model);
144
- case 48:
144
+ this.loadPosAudio();
145
+ case 49:
145
146
  case "end":
146
147
  return _context.stop();
147
148
  }
@@ -158,40 +159,22 @@ var InspectionObject = /*#__PURE__*/function () {
158
159
  var _this2 = this;
159
160
  var handleMouseMove = function handleMouseMove() {
160
161
  var listener = new AudioListener();
161
- _this2.inspection.gobal.scene.camera.add(listener);
162
+ _this2.inspection.minCamera.add(listener);
162
163
  var posAudio = new PositionalAudio(listener);
163
164
  _this2.model.add(posAudio);
164
165
  var audioLoader = new AudioLoader();
165
- var startAudio = /*#__PURE__*/function () {
166
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
167
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
168
- while (1) switch (_context2.prev = _context2.next) {
169
- case 0:
170
- if (!(listener.context.state === 'suspended')) {
171
- _context2.next = 3;
172
- break;
173
- }
174
- _context2.next = 3;
175
- return listener.context.resume();
176
- case 3:
177
- audioLoader.load("".concat(usePath, "demo.mp3"), function (audioBuffer) {
178
- posAudio.setBuffer(audioBuffer);
179
- posAudio.setVolume(0.8);
180
- posAudio.setRefDistance(200);
181
- posAudio.setLoop(true);
182
- posAudio.play();
183
- });
184
- case 4:
185
- case "end":
186
- return _context2.stop();
187
- }
188
- }, _callee2);
189
- }));
190
- return function startAudio() {
191
- return _ref.apply(this, arguments);
192
- };
193
- }();
194
- startAudio();
166
+ audioLoader.load("".concat(usePath, "demo.mp3"), function (audioBuffer) {
167
+ posAudio.setBuffer(audioBuffer);
168
+ posAudio.setVolume(0.8);
169
+ posAudio.setRefDistance(200);
170
+ posAudio.setLoop(true);
171
+ });
172
+ utils.emitter.on('play', function () {
173
+ _this2.isStartUp && posAudio.play();
174
+ });
175
+ utils.emitter.on('stop', function () {
176
+ posAudio.stop();
177
+ });
195
178
  document.removeEventListener('mousemove', handleMouseMove);
196
179
  };
197
180
  document.addEventListener('mousemove', handleMouseMove);
@@ -199,16 +182,16 @@ var InspectionObject = /*#__PURE__*/function () {
199
182
  }, {
200
183
  key: "startMove",
201
184
  value: function () {
202
- var _startMove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(curve) {
185
+ var _startMove = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(curve) {
203
186
  var _this3 = this;
204
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
205
- while (1) switch (_context3.prev = _context3.next) {
187
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
188
+ while (1) switch (_context2.prev = _context2.next) {
206
189
  case 0:
207
190
  if (this.model) {
208
- _context3.next = 3;
191
+ _context2.next = 3;
209
192
  break;
210
193
  }
211
- _context3.next = 3;
194
+ _context2.next = 3;
212
195
  return this.loadModel();
213
196
  case 3:
214
197
  this.control = utils.moveWithLine(this.model, curve, 10, {
@@ -218,75 +201,56 @@ var InspectionObject = /*#__PURE__*/function () {
218
201
  setTimeout(function () {
219
202
  _this3.stop();
220
203
  }, 20);
204
+ this.sendCompassInfo();
221
205
  use.useframe(function () {
222
206
  _this3.inspection.groundMaterial.uniforms.u_time.value = _this3.getSportsProgress - 0.01;
223
207
  _this3.inspection.mapMaterial.uniforms.u_time.value = _this3.getSportsProgress - 0.01;
224
- var mesh = _this3.model;
225
- mesh.updateMatrixWorld(true);
226
- var worldQuaternion = new Quaternion();
227
- mesh.getWorldQuaternion(worldQuaternion);
228
- var worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ');
229
- var rotationY = worldEuler.y;
230
- var rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY));
231
- sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {
232
- rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),
233
- degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,
234
- distance: _this3.getSportsProgress * _this3.inspection.curve.getLength(),
235
- verticalSpeed: 0,
236
- horizontalSpeed: 10
237
- });
238
208
  sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {
239
209
  percentage: _this3.getSportsProgress
240
210
  });
241
211
  });
242
- case 7:
212
+ case 8:
243
213
  case "end":
244
- return _context3.stop();
214
+ return _context2.stop();
245
215
  }
246
- }, _callee3, this);
216
+ }, _callee2, this);
247
217
  }));
248
218
  function startMove(_x) {
249
219
  return _startMove.apply(this, arguments);
250
220
  }
251
221
  return startMove;
252
222
  }()
223
+ /**
224
+ * send compass info
225
+ * not use useframe, because useframe will be lose some frame
226
+ */
227
+ }, {
228
+ key: "sendCompassInfo",
229
+ value: function sendCompassInfo() {
230
+ var _this4 = this;
231
+ setInterval(function () {
232
+ var mesh = _this4.model;
233
+ mesh.updateMatrixWorld(true);
234
+ var worldQuaternion = new Quaternion();
235
+ mesh.getWorldQuaternion(worldQuaternion);
236
+ var worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ');
237
+ var rotationY = worldEuler.y;
238
+ var rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY));
239
+ sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {
240
+ rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),
241
+ degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,
242
+ distance: _this4.getSportsProgress * _this4.inspection.curve.getLength(),
243
+ verticalSpeed: 0,
244
+ horizontalSpeed: 10
245
+ });
246
+ }, 100);
247
+ }
253
248
  }, {
254
249
  key: "getSportsProgress",
255
250
  get: function get() {
256
251
  if (!this.control) return 0;
257
252
  return this.control.getProgress();
258
253
  }
259
- }, {
260
- key: "getTargetQuaternion",
261
- value: function getTargetQuaternion(targetMesh) {
262
- targetMesh.updateMatrixWorld(true);
263
- var localForward = new Vector3(0, 0, -1);
264
- var worldForward = localForward.applyQuaternion(targetMesh.quaternion.clone()).normalize();
265
- var target = targetMesh.position.clone();
266
- var direction = target.sub(this.model.position).normalize();
267
- var targetQuaternion = new Quaternion().setFromUnitVectors(worldForward, direction);
268
- var dotProduct = worldForward.dot(direction);
269
- var angleRadians = Math.acos(dotProduct);
270
- var angleDegrees = angleRadians * (180 / Math.PI);
271
-
272
- // todo: some problem
273
- if (angleDegrees < 60) {
274
- var flipQuaternion = new Quaternion();
275
- flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
276
- targetQuaternion.multiply(flipQuaternion);
277
- }
278
- }
279
- }, {
280
- key: "getTargetQuaternionV2",
281
- value: function getTargetQuaternionV2(lastFromPositin, currentPositin, targetPosition) {
282
- var vTo = targetPosition.clone().sub(currentPositin).normalize();
283
- var vFrom = currentPositin.clone().sub(lastFromPositin).normalize();
284
- var targetQuaternion = new Quaternion().setFromUnitVectors(vFrom, vTo);
285
- var flipQuaternion = new Quaternion();
286
- flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI);
287
- targetQuaternion.multiply(flipQuaternion);
288
- return targetQuaternion;
289
- }
290
254
  }, {
291
255
  key: "subscription",
292
256
  value: function subscription() {
@@ -299,7 +263,7 @@ var InspectionObject = /*#__PURE__*/function () {
299
263
  }, {
300
264
  key: "checkAnimation",
301
265
  value: function checkAnimation(progress) {
302
- var _this4 = this;
266
+ var _this5 = this;
303
267
  this.isLock = true;
304
268
  this.isAnimation = true;
305
269
  var key = Object.keys(targetProgresspoints).find(function (p) {
@@ -313,7 +277,7 @@ var InspectionObject = /*#__PURE__*/function () {
313
277
  this.contineMove();
314
278
  this.isAnimation = false;
315
279
  setTimeout(function () {
316
- _this4.isLock = false;
280
+ _this5.isLock = false;
317
281
  }, 500);
318
282
  return;
319
283
  }
@@ -328,33 +292,33 @@ var InspectionObject = /*#__PURE__*/function () {
328
292
  setTimeout(function () {
329
293
  var rotationMatrix = new Matrix4();
330
294
  var targetQuaternion = new Quaternion();
331
- var startQuaternion = _this4.model.quaternion.clone();
295
+ var startQuaternion = _this5.model.quaternion.clone();
332
296
  var targetMeshPosition = targetMesh.position.clone();
333
297
  targetMeshPosition.y = targetMeshPosition.y + (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40 ? 20 : 0);
334
- rotationMatrix.lookAt(targetMeshPosition, _this4.model.position, _this4.model.up);
298
+ rotationMatrix.lookAt(targetMeshPosition, _this5.model.position, _this5.model.up);
335
299
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
336
300
  var forwardTween = new Tween({
337
301
  t: 0
338
302
  }).to({
339
303
  t: 1
340
304
  }, 2000).onUpdate(function (obj) {
341
- _this4.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
305
+ _this5.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
342
306
  });
343
307
  var backwardTween = new Tween({
344
308
  t: 1
345
309
  }).to({
346
310
  t: 0
347
311
  }, 2000).onUpdate(function (obj) {
348
- _this4.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
312
+ _this5.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t);
349
313
  });
350
314
  forwardTween.onComplete(function () {
351
315
  var finirMesh = null;
352
316
  sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {
353
317
  target: targetProgresspoints[key].name
354
318
  });
355
- if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this4.inspection.minCamera.layers.set(2);
319
+ if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this5.inspection.minCamera.layers.set(2);
356
320
  if (Number(key) === 0.15 || Number(key) === 0.24) {
357
- _this4.inspection.minCamera.layers.enable(3);
321
+ _this5.inspection.minCamera.layers.enable(3);
358
322
  // @ts-ignore
359
323
  if (!targetMesh.finirMesh) {
360
324
  finirMesh = targetMesh.clone();
@@ -376,7 +340,7 @@ var InspectionObject = /*#__PURE__*/function () {
376
340
 
377
341
  // @ts-ignore
378
342
  targetMesh.finirMesh = finirMesh;
379
- _this4.inspection.gobal.scene.add(finirMesh);
343
+ _this5.inspection.gobal.scene.add(finirMesh);
380
344
  } else {
381
345
  // @ts-ignore
382
346
  finirMesh = targetMesh.finirMesh;
@@ -386,7 +350,7 @@ var InspectionObject = /*#__PURE__*/function () {
386
350
 
387
351
  // 异常点
388
352
  if (Number(key) === 0.15 || Number(key) === 0.24) {
389
- _this4.subscription().then(function (data) {
353
+ _this5.subscription().then(function (data) {
390
354
  if (data) {
391
355
  finirMesh.visible = false;
392
356
  backwardTween.start();
@@ -395,7 +359,7 @@ var InspectionObject = /*#__PURE__*/function () {
395
359
  });
396
360
  } else {
397
361
  setTimeout(function () {
398
- if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this4.inspection.minCamera.layers.set(0);
362
+ if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) _this5.inspection.minCamera.layers.set(0);
399
363
 
400
364
  // if (Number(key) === 0.40)
401
365
  // finirMesh.visible = false
@@ -408,8 +372,8 @@ var InspectionObject = /*#__PURE__*/function () {
408
372
  forwardTween.start();
409
373
  }, 1000);
410
374
  backwardTween.onComplete(function () {
411
- _this4.isAnimation = false;
412
- _this4.contineMove();
375
+ _this5.isAnimation = false;
376
+ _this5.contineMove();
413
377
  currentAnchor.traverse(function (child) {
414
378
  if (child.name === 'cylinder') child.material = new MeshBasicMaterial({
415
379
  color: new Color('#cdccca')
@@ -418,7 +382,7 @@ var InspectionObject = /*#__PURE__*/function () {
418
382
  });
419
383
  });
420
384
  setTimeout(function () {
421
- _this4.isLock = false;
385
+ _this5.isLock = false;
422
386
  }, 500);
423
387
  });
424
388
  }, 1000);
@@ -431,7 +395,7 @@ var InspectionObject = /*#__PURE__*/function () {
431
395
  }, {
432
396
  key: "generateTempPathMesh",
433
397
  value: function generateTempPathMesh(curve) {
434
- var _this5 = this;
398
+ var _this6 = this;
435
399
  // @ts-ignore
436
400
  var tube = new TubeGeometryV2(curve, 100, 5, 2, false);
437
401
  var tempPathMesh = new Mesh(tube, new MeshBasicMaterial({
@@ -444,7 +408,7 @@ var InspectionObject = /*#__PURE__*/function () {
444
408
  tempPathMesh.layers.enable(5);
445
409
  this.temp.repeat.set(curve.getLength() / 500, 2);
446
410
  this.tempDemo = use.useframe(function () {
447
- _this5.temp.offset.x -= -0.0009;
411
+ _this6.temp.offset.x -= -0.0009;
448
412
  });
449
413
  }
450
414
  }, {
@@ -460,7 +424,7 @@ var InspectionObject = /*#__PURE__*/function () {
460
424
  }, {
461
425
  key: "gotoTarget",
462
426
  value: function gotoTarget(targetPosition, targetProgress) {
463
- var _this6 = this;
427
+ var _this7 = this;
464
428
  if (this.isAnimation) return;
465
429
  this.isAnimation = true;
466
430
  this.control.stop();
@@ -470,27 +434,27 @@ var InspectionObject = /*#__PURE__*/function () {
470
434
  targetQuaternion.setFromRotationMatrix(rotationMatrix);
471
435
  this.startRotate(targetQuaternion, this.model, function () {
472
436
  var tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z);
473
- _this6.generateTempPathMesh(_this6.generateTempPath(new Vector3(_this6.model.position.x, 1.1, _this6.model.position.z), tempPathMeshtargetPosition));
474
- var currentPosition = _this6.model.position;
437
+ _this7.generateTempPathMesh(_this7.generateTempPath(new Vector3(_this7.model.position.x, 1.1, _this7.model.position.z), tempPathMeshtargetPosition));
438
+ var currentPosition = _this7.model.position;
475
439
  var upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z));
476
- var upControl = utils.moveWithLine(_this6.model, upCurve, 10, {
440
+ var upControl = utils.moveWithLine(_this7.model, upCurve, 10, {
477
441
  loop: false,
478
442
  lookat: targetPosition
479
443
  });
480
444
 
481
445
  // up end
482
446
  upControl.addEventListener('end', function () {
483
- var tempCurve = _this6.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
484
- var tempControl = utils.moveWithLine(_this6.model, tempCurve, 60, {
447
+ var tempCurve = _this7.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z));
448
+ var tempControl = utils.moveWithLine(_this7.model, tempCurve, 60, {
485
449
  loop: false,
486
450
  lookat: false
487
451
  });
488
452
 
489
453
  // temp end
490
454
  tempControl.addEventListener('end', function () {
491
- var lastPosition = _this6.model.position;
455
+ var lastPosition = _this7.model.position;
492
456
  var downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z));
493
- var downControl = utils.moveWithLine(_this6.model, downCurve, 10, {
457
+ var downControl = utils.moveWithLine(_this7.model, downCurve, 10, {
494
458
  loop: false,
495
459
  lookat: false
496
460
  });
@@ -499,15 +463,15 @@ var InspectionObject = /*#__PURE__*/function () {
499
463
  downControl.addEventListener('end', function () {
500
464
  var rotationMatrix2 = new Matrix4();
501
465
  var targetQuaternion2 = new Quaternion();
502
- var targetPosition2 = _this6.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
503
- rotationMatrix2.lookAt(targetPosition2, _this6.model.position, _this6.model.up);
466
+ var targetPosition2 = _this7.inspection.curve.getPointAt((targetProgress + 0.01) % 1);
467
+ rotationMatrix2.lookAt(targetPosition2, _this7.model.position, _this7.model.up);
504
468
  targetQuaternion2.setFromRotationMatrix(rotationMatrix2);
505
- _this6.startRotate(targetQuaternion2, _this6.model, function () {
469
+ _this7.startRotate(targetQuaternion2, _this7.model, function () {
506
470
  setTimeout(function () {
507
- _this6.cleanTempPathMesh();
508
- _this6.isAnimation = false;
509
- _this6.control.setProgress(targetProgress);
510
- _this6.control.contine();
471
+ _this7.cleanTempPathMesh();
472
+ _this7.isAnimation = false;
473
+ _this7.control.setProgress(targetProgress);
474
+ _this7.control.contine();
511
475
  }, 500);
512
476
  });
513
477
  });
@@ -529,8 +493,9 @@ var InspectionObject = /*#__PURE__*/function () {
529
493
  key: "contineMove",
530
494
  value: function contineMove() {
531
495
  if (this.control) this.control.contine();
532
- this.loadPosAudio();
496
+ this.isStartUp = true;
533
497
  utils.emitter.emit('continue', true);
498
+ if (this.inspection.minCamera === this.inspection.gobal.scene.camera) utils.emitter.emit('play');
534
499
  }
535
500
 
536
501
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","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","copy","clone","add","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","model","gobal","interactionManager","visible","addEventListener","traverse","child","layers","enable","handleMouseMove","listener","camera","posAudio","audioLoader","startAudio","context","state","resume","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","groundMaterial","uniforms","u_time","value","mapMaterial","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","Event","Success","undefined","rotate","abs","degree","distance","getLength","verticalSpeed","horizontalSpeed","percentage","getProgress","targetMesh","localForward","worldForward","applyQuaternion","normalize","target","direction","sub","setFromUnitVectors","dotProduct","dot","angleRadians","acos","angleDegrees","flipQuaternion","setFromAxisAngle","multiply","lastFromPositin","currentPositin","targetPosition","vTo","vFrom","Promise","resolve","emitter","on","data","progress","isAnimation","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","name","material","rotationMatrix","startQuaternion","targetMeshPosition","Number","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","tube","tempPathMesh","map","transparent","depthTest","tempDemo","offset","x","dispose","removeFromParent","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","upCurve","upControl","loop","lookat","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","contine","speed","setSpeed","loadPosAudio","emit"],"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, MirroredRepeatWrapping, ModelLoader, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, Vector3, 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 { invertMap } from '../handle'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\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 tempLine\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\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 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 const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 15\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\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\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.gobal.scene.camera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n const startAudio = async () => {\n if (listener.context.state === 'suspended')\n await listener.context.resume()\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 posAudio.play()\n })\n }\n\n startAudio()\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 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 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\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n private getTargetQuaternion(targetMesh: Group) {\n targetMesh.updateMatrixWorld(true)\n const localForward = new Vector3(0, 0, -1)\n const worldForward = localForward.applyQuaternion(targetMesh.quaternion.clone()).normalize()\n\n const target = targetMesh.position.clone()\n const direction = target.sub(this.model.position).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(worldForward, direction)\n\n const dotProduct = worldForward.dot(direction)\n const angleRadians = Math.acos(dotProduct)\n const angleDegrees = angleRadians * (180 / Math.PI)\n\n // todo: some problem\n if (angleDegrees < 60) {\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n }\n }\n\n private getTargetQuaternionV2(lastFromPositin: Vector3, currentPositin: Vector3, targetPosition: Vector3) {\n const vTo = targetPosition.clone().sub(currentPositin).normalize()\n const vFrom = currentPositin.clone().sub(lastFromPositin).normalize()\n\n const targetQuaternion = new Quaternion().setFromUnitVectors(vFrom, vTo)\n\n const flipQuaternion = new Quaternion()\n flipQuaternion.setFromAxisAngle(new Vector3(0, 1, 0), Math.PI)\n targetQuaternion.multiply(flipQuaternion)\n\n return targetQuaternion\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\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\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 setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.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 })\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('yellow', 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.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.loadPosAudio()\n utils.emitter.emit('continue', true)\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","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","copy","clone","add","z","getSportsProgress","isLock","stop","checkAnimation","group","minCamera","y","rotateY","model","gobal","interactionManager","visible","addEventListener","traverse","child","layers","enable","loadPosAudio","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","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","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","name","material","rotationMatrix","startQuaternion","targetMeshPosition","Number","up","setFromRotationMatrix","forwardTween","t","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","target","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","map","transparent","depthTest","tempDemo","offset","x","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, MirroredRepeatWrapping, ModelLoader, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, Vector3, 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\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 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 const group = new Group()\n group.add(glb.scene)\n group.add(poi)\n group.add(this.inspection.minCamera)\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 15\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\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 }\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 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\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\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 setTimeout(() => {\n const rotationMatrix = new Matrix4()\n\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.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 })\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('yellow', 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.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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"}
@@ -18,6 +18,10 @@ declare class Inspection {
18
18
  map: any;
19
19
  mapCamera: any;
20
20
  constructor(gobal: Factory3D);
21
+ /**
22
+ * create view element, use to switch view [like a button]
23
+ */
24
+ private createViewElement;
21
25
  /**
22
26
  * generate inspection path
23
27
  * @param linePosition
@@ -6,7 +6,7 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
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
8
  import { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, use, utils } from '@anov/3d-core';
9
- import { RoundLineGeometry, initPostEffects } from '@anov/3d-ability';
9
+ import { RoundLineGeometry } from '@anov/3d-ability';
10
10
  import fragmentShader from "../glsl/highway/fragmentShader";
11
11
  import vertexShader from "../glsl/highway/vertexShader";
12
12
  import fragmentShader2 from "../glsl/highway/fragmentShader2";
@@ -29,11 +29,6 @@ var viewInfoDev = {
29
29
  var viewInfo = false ? viewInfoDev : viewInfoPro;
30
30
  var Inspection = /*#__PURE__*/function () {
31
31
  function Inspection(gobal) {
32
- var _app$envServer$scaleR,
33
- _window,
34
- _window$app,
35
- _window$app$envServer,
36
- _this = this;
37
32
  _classCallCheck(this, Inspection);
38
33
  _defineProperty(this, "gobal", void 0);
39
34
  _defineProperty(this, "inspectionObject", void 0);
@@ -57,44 +52,58 @@ var Inspection = /*#__PURE__*/function () {
57
52
  this.inspectionObject = new InspectionObject(this);
58
53
  this.startInspection(this.curve);
59
54
  this.hide();
60
- var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 ? void 0 : (_window$app = _window.app) === null || _window$app === void 0 ? void 0 : (_window$app$envServer = _window$app.envServer) === null || _window$app$envServer === void 0 ? void 0 : _window$app$envServer.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
61
- var _storeManagement$get$ = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
62
- left = _storeManagement$get$.left,
63
- top = _storeManagement$get$.top;
64
- var viewElement = document.createElement('div');
65
- viewElement.style.position = 'absolute';
66
- viewElement.style.width = "".concat(viewInfo.width * scale, "px");
67
- viewElement.style.height = "".concat(viewInfo.height * scale, "px");
68
- viewElement.style.cursor = 'pointer';
69
- viewElement.style.top = "".concat(viewInfo.top * scale + top, "px");
70
- viewElement.style.left = "".concat(viewInfo.left * scale + left, "px");
71
- viewElement.addEventListener('click', function () {
72
- _this.gobal.toggleView();
73
- });
74
- var handleObserve = function handleObserve() {
75
- setTimeout(function () {
76
- var _app$envServer$scaleR2, _window2, _window2$app, _window2$app$envServe;
77
- var scale = (_app$envServer$scaleR2 = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$app = _window2.app) === null || _window2$app === void 0 ? void 0 : (_window2$app$envServe = _window2$app.envServer) === null || _window2$app$envServe === void 0 ? void 0 : _window2$app$envServe.scaleRatio) !== null && _app$envServer$scaleR2 !== void 0 ? _app$envServer$scaleR2 : 1;
78
- var _storeManagement$get$2 = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
79
- left = _storeManagement$get$2.left,
80
- top = _storeManagement$get$2.top;
81
- viewElement.style.width = "".concat(viewInfo.width * scale, "px");
82
- viewElement.style.height = "".concat(viewInfo.height * scale, "px");
83
- viewElement.style.top = "".concat(viewInfo.top * scale + top, "px");
84
- viewElement.style.left = "".concat(viewInfo.left * scale + left, "px");
85
- }, 500);
86
- };
87
- document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), function () {
88
- handleObserve();
89
- });
90
- this.viewElement = viewElement;
55
+ this.createViewElement();
91
56
  }
92
57
 
93
58
  /**
94
- * generate inspection path
95
- * @param linePosition
59
+ * create view element, use to switch view [like a button]
96
60
  */
97
61
  _createClass(Inspection, [{
62
+ key: "createViewElement",
63
+ value: function createViewElement() {
64
+ var _app$envServer$scaleR,
65
+ _window,
66
+ _window$app,
67
+ _window$app$envServer,
68
+ _this = this;
69
+ var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 ? void 0 : (_window$app = _window.app) === null || _window$app === void 0 ? void 0 : (_window$app$envServer = _window$app.envServer) === null || _window$app$envServer === void 0 ? void 0 : _window$app$envServer.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
70
+ var _storeManagement$get$ = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
71
+ left = _storeManagement$get$.left,
72
+ top = _storeManagement$get$.top;
73
+ var viewElement = document.createElement('div');
74
+ viewElement.style.position = 'absolute';
75
+ viewElement.style.width = "".concat(viewInfo.width * scale, "px");
76
+ viewElement.style.height = "".concat(viewInfo.height * scale, "px");
77
+ viewElement.style.cursor = 'pointer';
78
+ viewElement.style.top = "".concat(viewInfo.top * scale + top, "px");
79
+ viewElement.style.left = "".concat(viewInfo.left * scale + left, "px");
80
+ viewElement.addEventListener('click', function () {
81
+ _this.gobal.toggleView();
82
+ });
83
+ var handleObserve = function handleObserve() {
84
+ setTimeout(function () {
85
+ var _app$envServer$scaleR2, _window2, _window2$app, _window2$app$envServe;
86
+ var scale = (_app$envServer$scaleR2 = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$app = _window2.app) === null || _window2$app === void 0 ? void 0 : (_window2$app$envServe = _window2$app.envServer) === null || _window2$app$envServe === void 0 ? void 0 : _window2$app$envServe.scaleRatio) !== null && _app$envServer$scaleR2 !== void 0 ? _app$envServer$scaleR2 : 1;
87
+ var _storeManagement$get$2 = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
88
+ left = _storeManagement$get$2.left,
89
+ top = _storeManagement$get$2.top;
90
+ viewElement.style.width = "".concat(viewInfo.width * scale, "px");
91
+ viewElement.style.height = "".concat(viewInfo.height * scale, "px");
92
+ viewElement.style.top = "".concat(viewInfo.top * scale + top, "px");
93
+ viewElement.style.left = "".concat(viewInfo.left * scale + left, "px");
94
+ }, 500);
95
+ };
96
+ document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), function () {
97
+ handleObserve();
98
+ });
99
+ this.viewElement = viewElement;
100
+ }
101
+
102
+ /**
103
+ * generate inspection path
104
+ * @param linePosition
105
+ */
106
+ }, {
98
107
  key: "generateInspectionPath",
99
108
  value: function generateInspectionPath() {
100
109
  var flyLine = new RoundLineGeometry(flyLinePoints, {
@@ -282,9 +291,6 @@ var Inspection = /*#__PURE__*/function () {
282
291
  if (this.gobal.scene.camera === this.minCamera) {
283
292
  this.gobal.scene.camera = this.gobal.scene.cutoutCamera;
284
293
  this.gobal.scene.cutoutCamera = this.minCamera;
285
- initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {
286
- type: 'sub'
287
- });
288
294
  }
289
295
  this.gobal.scene.cutout = false;
290
296
  this.gobal.scene.cutMain(this.gobal.scene.renderer);
@@ -1 +1 @@
1
- {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","use","utils","RoundLineGeometry","initPostEffects","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","mesh3","layers","set","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","minCamera","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","renderer","type","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D, Vector3 } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, MirroredRepeatWrapping, OrthographicCamera, PerspectiveCamera, PlaneGeometry, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, TubeGeometry, lib, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry, addColorifyPass, createBloomSelectedTool, createHighSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport { usePath } 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 InspectionMap from './map'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 110,\n left: 40,\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 anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\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\n this.hide()\n\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 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 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 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 this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\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 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\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 initPostEffects(this.gobal.scene.scene, this.gobal.scene.renderer, this.gobal.scene.cutoutCamera, {\n type: 'sub',\n })\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","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","mesh2","mapMaterial","mesh3","layers","set","groundGroup","add","y","groundCurve","line","scene","anchorMesh","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","minCamera","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","renderer","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, 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'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 502,\n height: 256,\n top: 110,\n left: 40,\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 anchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\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 }\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 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 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 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 this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\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 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\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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.89",
3
+ "version": "0.0.90",
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-ability": "^0.0.13",
26
- "@anov/3d-core": "^0.0.13"
25
+ "@anov/3d-core": "^0.0.13",
26
+ "@anov/3d-ability": "^0.0.13"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@types/uuid": "^9.0.7"