@anov/3d 0.0.142 → 0.0.153
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.
- package/README.md +3 -1
- package/dist/anov3d.js +1 -7
- package/dist/anov3d.js.map +1 -1
- package/dist/applicationApi.js +6 -5
- package/dist/applicationApi.js.map +1 -1
- package/dist/factory/3d.js +1 -9
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/CameraPoi.js +0 -2
- package/dist/factory/unit/CameraPoi.js.map +1 -1
- package/dist/factory/unit/circle.js +0 -3
- package/dist/factory/unit/circle.js.map +1 -1
- package/dist/factory/unit/cylinder.js +0 -2
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.js +1 -3
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/unit/poi.js +8 -14
- package/dist/factory/unit/poi.js.map +1 -1
- package/dist/factory/unit/region.js +1 -2
- package/dist/factory/unit/region.js.map +1 -1
- package/dist/hooksManager.js +37 -13
- package/dist/hooksManager.js.map +1 -1
- package/dist/module/camera/index.js +215 -222
- package/dist/module/camera/index.js.map +1 -1
- package/dist/module/camera/type.js +2 -0
- package/dist/module/camera/type.js.map +1 -0
- package/dist/module/entity/hybridList.js +5 -0
- package/dist/module/entity/hybridList.js.map +1 -1
- package/dist/module/entity/index.js +256 -117
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +3 -3
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/entity/model/load/loadFbx.js +14 -1
- package/dist/module/entity/model/load/loadFbx.js.map +1 -1
- package/dist/module/entity/model/load/loadGlb.js +16 -2
- package/dist/module/entity/model/load/loadGlb.js.map +1 -1
- package/dist/module/entity/poi/index.js +208 -19
- package/dist/module/entity/poi/index.js.map +1 -1
- package/dist/module/entity/poi/indexBack.js +29 -0
- package/dist/module/entity/poi/indexBack.js.map +1 -0
- package/dist/module/entity/poi/type.js.map +1 -1
- package/dist/module/entity/poi/utils.js +42 -0
- package/dist/module/entity/poi/utils.js.map +1 -0
- package/dist/module/entity/type.js.map +1 -1
- package/dist/module/eventBus/index.js +20 -7
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/utils/index.js +16 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/messageFn.js +5 -2
- package/dist/utils/messageFn.js.map +1 -1
- package/package.json +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","_this","_classCallCheck","_defineProperty","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","_createClass","key","value","generateCylinder","_this2","forEach","item","_this2$option$visible","_this2$option","cylinder","getMesh","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","handleClick","style","real","_item$camera","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","_this2$gobal$district","hoverAreaId","districtLine","setHighLightLine","_this2$gobal$district2","removeHighLightLine","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","arguments","length","undefined","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","vertexShader","fragmentShader","rotateY","Math","PI","cameraAddListener","cameraListenerHandle","_this3","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n private highLightAreaId: string\n private hoverAreaId: string\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n // @ts-ignore\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","_this","_classCallCheck","_defineProperty","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","_createClass","key","value","generateCylinder","_this2","forEach","item","_this2$option$visible","_this2$option","cylinder","getMesh","group","name","visible","copy","fromArray","handleClick","style","real","_item$camera","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","_this2$gobal$district","hoverAreaId","districtLine","setHighLightLine","_this2$gobal$district2","removeHighLightLine","add","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","arguments","length","undefined","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","vertexShader","fragmentShader","rotateY","Math","PI","cameraAddListener","cameraListenerHandle","_this3","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n private highLightAreaId: string\n private hoverAreaId: string\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n // @ts-ignore\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
@@ -145,8 +145,6 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
145
145
|
this.inspection.minCamera.rotateY(Math.PI);
|
|
146
146
|
this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone();
|
|
147
147
|
this.model = group;
|
|
148
|
-
this.inspection.gobal.interactionManager.add(poi);
|
|
149
|
-
this.inspection.gobal.interactionManager.add(poi2);
|
|
150
148
|
poi2.visible = false;
|
|
151
149
|
poi.addEventListener('click', function () {
|
|
152
150
|
group.add(poi2);
|
|
@@ -165,7 +163,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
165
163
|
this.inspection.gobal.scene.add(this.model);
|
|
166
164
|
this.loadPosAudio();
|
|
167
165
|
this.breathinglamp(this.model);
|
|
168
|
-
case
|
|
166
|
+
case 58:
|
|
169
167
|
case "end":
|
|
170
168
|
return _context.stop();
|
|
171
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","SceneTag","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","verticalSpeed","horizontalSpeed","height","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","concat","wrapS","wrapT","repeat","set","rotation","Math","PI","_loadModel","_callee","_this","glb","div","img","span","poi","img2","poi2","fly1","fly2","fly3","fly4","planeGeometry","planeMaterial","plyMap","group","_callee$","_context","loadGLTF","document","createElement","style","position","src","innerText","fontFamily","top","left","transform","color","fontSize","fontWeight","appendChild","width","scale","scene","getObjectByName","map","transparent","x","copy","layers","add","minCamera","clone","z","getSportsProgress","isLock","checkAnimation","compassInfo","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","loadModel","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","sin","currentColor","lerp","material","_this2","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","_startMove","_callee2","curve","_this3","_callee2$","_context2","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","mapMaterial","mapAnchorObject","mapAnchor","uColor","Event","Success","percentage","startMove","_x","_this4","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","get","getProgress","subscription","data","progress","_this5","isAnimation","defaultFirstPerspectiveControls","enabled","find","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","currentMapAnchor","numberKey","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","lineSegments","geometry","start","off","generateTempPath","currentPosition","targetPosition","generateTempPathMesh","_this6","tube","tempPathMesh","depthTest","tempDemo","offset","tag","cleanTempPathMesh","dispose","removeFromParent","takeOffAnimation","_this7","upCurve","upControl","loop","lookat","contine","gotoTarget","targetProgress","_this8","startRotate","tempPathMeshtargetPosition","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","setProgress","setSpeed","speed","contineCount","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { SceneTag } from '../../utils/constant'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n compassInfo = {\n verticalSpeed: 0,\n horizontalSpeed: 10,\n height: 0,\n }\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.fontFamily = 'YouSheBiaoTiHei3D'\n span.style.position = 'absolute'\n span.style.top = '8px'\n span.style.left = '45%'\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(80, 30, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 0\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y - 20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress * 1000,\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: this.compassInfo.verticalSpeed,\n horizontalSpeed: this.compassInfo.horizontalSpeed * 3.6,\n height: (this.model as Object3D).position.y,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.155 || Number(key) === 0.247) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.155 || Number(key) === 0.247) {\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.048 || Number(key) === 0.682 || Number(key) === 0.400)\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n\n if (this.inspection.gobal.tag === SceneTag['smart-inspection'])\n this.tempPathMesh.visible = true\n else\n this.tempPathMesh.visible = false\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation() {\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: false })\n\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 10\n\n upControl.addEventListener('end', () => {\n this.control.contine()\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 0\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 this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 60\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 this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\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\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\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 throw new Error('control not init')\n\n if (this.contineCount === 0)\n this.takeOffAnimation()\n\n else\n this.control.contine()\n\n this.contineCount++\n\n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","SceneTag","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","verticalSpeed","horizontalSpeed","height","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","concat","wrapS","wrapT","repeat","set","rotation","Math","PI","_loadModel","_callee","_this","glb","div","img","span","poi","img2","poi2","fly1","fly2","fly3","fly4","planeGeometry","planeMaterial","plyMap","group","_callee$","_context","loadGLTF","document","createElement","style","position","src","innerText","fontFamily","top","left","transform","color","fontSize","fontWeight","appendChild","width","scale","scene","getObjectByName","map","transparent","x","copy","layers","add","minCamera","clone","z","getSportsProgress","isLock","checkAnimation","compassInfo","rotateY","initialMinCameraQuaternion","model","visible","addEventListener","traverse","child","enable","gobal","loadPosAudio","breathinglamp","loadModel","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","sin","currentColor","lerp","material","_this2","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","_startMove","_callee2","curve","_this3","_callee2$","_context2","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","mapMaterial","mapAnchorObject","mapAnchor","uColor","Event","Success","percentage","startMove","_x","_this4","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","get","getProgress","subscription","data","progress","_this5","isAnimation","defaultFirstPerspectiveControls","enabled","find","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","currentMapAnchor","numberKey","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","lineSegments","geometry","start","off","generateTempPath","currentPosition","targetPosition","generateTempPathMesh","_this6","tube","tempPathMesh","depthTest","tempDemo","offset","tag","cleanTempPathMesh","dispose","removeFromParent","takeOffAnimation","_this7","upCurve","upControl","loop","lookat","contine","gotoTarget","targetProgress","_this8","startRotate","tempPathMeshtargetPosition","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","setProgress","setSpeed","speed","contineCount","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { SceneTag } from '../../utils/constant'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n compassInfo = {\n verticalSpeed: 0,\n horizontalSpeed: 10,\n height: 0,\n }\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.fontFamily = 'YouSheBiaoTiHei3D'\n span.style.position = 'absolute'\n span.style.top = '8px'\n span.style.left = '45%'\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(80, 30, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 0\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n 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(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y - 20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress * 1000,\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: this.compassInfo.verticalSpeed,\n horizontalSpeed: this.compassInfo.horizontalSpeed * 3.6,\n height: (this.model as Object3D).position.y,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.155 || Number(key) === 0.247) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.155 || Number(key) === 0.247) {\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.048 || Number(key) === 0.682 || Number(key) === 0.400)\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n\n if (this.inspection.gobal.tag === SceneTag['smart-inspection'])\n this.tempPathMesh.visible = true\n else\n this.tempPathMesh.visible = false\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation() {\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: false })\n\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 10\n\n upControl.addEventListener('end', () => {\n this.control.contine()\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 0\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 this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\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 this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 60\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 this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\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\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\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 throw new Error('control not init')\n\n if (this.contineCount === 0)\n this.takeOffAnimation()\n\n else\n this.control.contine()\n\n this.contineCount++\n\n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
|
package/dist/factory/unit/poi.js
CHANGED
|
@@ -8,7 +8,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
8
8
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
9
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
10
10
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
11
|
-
import { Vector3, use
|
|
11
|
+
import { Vector3, use } from '@anov/3d-core';
|
|
12
12
|
import { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability';
|
|
13
13
|
import { usePath } from "../3d";
|
|
14
14
|
import { regionMap } from "../regionData";
|
|
@@ -23,13 +23,11 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
23
23
|
_defineProperty(this, "poiMesh", new Map());
|
|
24
24
|
_defineProperty(this, "poiEventListener", new Set());
|
|
25
25
|
_defineProperty(this, "wallManage", void 0);
|
|
26
|
-
_defineProperty(this, "interactionManager", void 0);
|
|
27
26
|
_defineProperty(this, "poiWidth", void 0);
|
|
28
27
|
_defineProperty(this, "poiHeight", 262);
|
|
29
28
|
this.gobal = gobal;
|
|
30
29
|
this.scene = gobal.scene.scene;
|
|
31
30
|
this.wallManage = gobal.wall;
|
|
32
|
-
this.interactionManager = utils.storeManagement.get('interactionManager');
|
|
33
31
|
}
|
|
34
32
|
_createClass(PoiManage, [{
|
|
35
33
|
key: "generatePoi",
|
|
@@ -66,7 +64,6 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
66
64
|
|
|
67
65
|
// @ts-ignore
|
|
68
66
|
target = _this.gobal.regionPlane.planeMesh.get(region.id); // 绑定事件
|
|
69
|
-
_this.interactionManager.add(sprite);
|
|
70
67
|
changeWallState = function changeWallState(show) {
|
|
71
68
|
var _this$dialogPoi;
|
|
72
69
|
if ((_this$dialogPoi = _this.dialogPoi) !== null && _this$dialogPoi !== void 0 && _this$dialogPoi.visible) return;
|
|
@@ -114,7 +111,7 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
114
111
|
});
|
|
115
112
|
});
|
|
116
113
|
_this.poiEventListener.add(unClick);
|
|
117
|
-
case
|
|
114
|
+
case 17:
|
|
118
115
|
case "end":
|
|
119
116
|
return _context.stop();
|
|
120
117
|
}
|
|
@@ -205,10 +202,8 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
205
202
|
}, {
|
|
206
203
|
key: "remove",
|
|
207
204
|
value: function remove() {
|
|
208
|
-
var _this2 = this;
|
|
209
205
|
// 控制POI点的隐藏、显示
|
|
210
206
|
this.poiMesh.forEach(function (poi) {
|
|
211
|
-
_this2.interactionManager.remove(poi);
|
|
212
207
|
poi.removeFromParent();
|
|
213
208
|
poi.remove();
|
|
214
209
|
});
|
|
@@ -240,7 +235,7 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
240
235
|
}, {
|
|
241
236
|
key: "addDialogPanel",
|
|
242
237
|
value: function addDialogPanel(data, position) {
|
|
243
|
-
var
|
|
238
|
+
var _this2 = this;
|
|
244
239
|
// 添加面板
|
|
245
240
|
// , {
|
|
246
241
|
// type: EAnimationType.fadeIn,
|
|
@@ -260,14 +255,13 @@ var PoiManage = /*#__PURE__*/function () {
|
|
|
260
255
|
});
|
|
261
256
|
this.dialogPoi.position.copy(position.clone().add(new Vector3(10, 0, 0)));
|
|
262
257
|
setTimeout(function () {
|
|
263
|
-
return
|
|
258
|
+
return _this2.scene.add(_this2.dialogPoi);
|
|
264
259
|
});
|
|
265
|
-
this.interactionManager.add(this.dialogPoi);
|
|
266
260
|
this.dialogPoi.addEventListener('click', function () {
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
261
|
+
_this2.dialogPoi.remove();
|
|
262
|
+
_this2.dialogPoi.removeFromParent();
|
|
263
|
+
_this2.dialogPoi = null;
|
|
264
|
+
_this2.reset();
|
|
271
265
|
});
|
|
272
266
|
}
|
|
273
267
|
}]);
|