@anov/3d 0.0.105 → 0.0.107
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/dist/factory/3d.js +28 -2
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/handle.d.ts +4 -4
- package/dist/factory/unit/handle.js +10 -10
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.js +5 -5
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/unit/inspection/lineData.d.ts +4 -4
- package/dist/factory/unit/inspection/lineData.js +12 -5
- package/dist/factory/unit/inspection/lineData.js.map +1 -1
- package/package.json +3 -3
package/dist/factory/3d.js
CHANGED
|
@@ -84,8 +84,34 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
84
84
|
};
|
|
85
85
|
document.head.appendChild(link);
|
|
86
86
|
}
|
|
87
|
+
function loadCSS1(url, callback) {
|
|
88
|
+
var xhr = new XMLHttpRequest();
|
|
89
|
+
xhr.open('GET', url, true);
|
|
90
|
+
xhr.onreadystatechange = function () {
|
|
91
|
+
if (xhr.readyState === 4) {
|
|
92
|
+
if (xhr.status >= 200 && xhr.status < 300) {
|
|
93
|
+
var blob = new Blob([xhr.responseText], {
|
|
94
|
+
type: 'text/css'
|
|
95
|
+
});
|
|
96
|
+
var blobURL = URL.createObjectURL(blob);
|
|
97
|
+
var link = document.createElement('link');
|
|
98
|
+
link.rel = 'stylesheet';
|
|
99
|
+
link.href = blobURL;
|
|
100
|
+
document.head.appendChild(link);
|
|
101
|
+
if (typeof callback === 'function') callback();
|
|
102
|
+
console.log("CSS \u52A0\u8F7D\u6210\u529F: ".concat(url));
|
|
103
|
+
} else {
|
|
104
|
+
console.error("Failed to load CSS: ".concat(url), xhr.statusText);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
xhr.onerror = function (err) {
|
|
109
|
+
console.error("Failed to load CSS: ".concat(url), err);
|
|
110
|
+
};
|
|
111
|
+
xhr.send();
|
|
112
|
+
}
|
|
87
113
|
return new Promise(function (resolve) {
|
|
88
|
-
//
|
|
114
|
+
// loadCSS1('http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/result.css', () => {
|
|
89
115
|
_this.scene = scene;
|
|
90
116
|
_this.cameraUtil = new Camera(scene.camera, scene.controls, scene);
|
|
91
117
|
_this.control = scene.controls;
|
|
@@ -152,8 +178,8 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
152
178
|
// initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })
|
|
153
179
|
|
|
154
180
|
scene.renderer.toneMappingExposure = 0.4;
|
|
155
|
-
// })
|
|
156
181
|
});
|
|
182
|
+
// })
|
|
157
183
|
}
|
|
158
184
|
}, {
|
|
159
185
|
key: "loadModel",
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","loadCSS","url","callback","link","document","createElement","rel","href","onload","onerror","err","console","log","error","head","appendChild","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","type","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","Event","Success","undefined","fov","updateProjectionMatrix","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n 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 function loadCSS(url, callback) {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = url\n\n link.onload = () => {\n if (typeof callback === 'function')\n callback()\n }\n\n link.onerror = (err) => {\n console.log(err)\n console.error(`Failed to load CSS: ${url}`)\n }\n\n document.head.appendChild(link)\n }\n\n return new Promise((resolve) => {\n // loadCSS('./result.css', () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n // })\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","loadCSS","url","callback","link","document","createElement","rel","href","onload","onerror","err","console","log","error","head","appendChild","loadCSS1","xhr","XMLHttpRequest","open","onreadystatechange","readyState","status","blob","Blob","responseText","type","blobURL","URL","createObjectURL","statusText","send","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","Event","Success","undefined","fov","updateProjectionMatrix","eventName","handleFn"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\n\n 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 function loadCSS(url, callback) {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = url\n\n link.onload = () => {\n if (typeof callback === 'function')\n callback()\n }\n\n link.onerror = (err) => {\n console.log(err)\n console.error(`Failed to load CSS: ${url}`)\n }\n\n document.head.appendChild(link)\n }\n\n function loadCSS1(url, callback) {\n const xhr = new XMLHttpRequest()\n xhr.open('GET', url, true)\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4) {\n if (xhr.status >= 200 && xhr.status < 300) {\n const blob = new Blob([xhr.responseText], { type: 'text/css' })\n const blobURL = URL.createObjectURL(blob)\n\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = blobURL\n document.head.appendChild(link)\n\n if (typeof callback === 'function')\n callback()\n\n console.log(`CSS 加载成功: ${url}`)\n }\n else {\n console.error(`Failed to load CSS: ${url}`, xhr.statusText)\n }\n }\n }\n xhr.onerror = function (err) {\n console.error(`Failed to load CSS: ${url}`, err)\n }\n xhr.send()\n }\n\n return new Promise((resolve) => {\n // loadCSS1('http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/result.css', () => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n let mesh, material\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n\n mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n // scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n // })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ export declare const map: {
|
|
|
8
8
|
CMP2: number;
|
|
9
9
|
};
|
|
10
10
|
export declare const invertMap: {
|
|
11
|
-
0.
|
|
12
|
-
0.
|
|
13
|
-
0.
|
|
11
|
+
0.048: string;
|
|
12
|
+
0.155: string;
|
|
13
|
+
0.247: string;
|
|
14
14
|
0.4: string;
|
|
15
|
-
0.
|
|
15
|
+
0.682: string;
|
|
16
16
|
};
|
|
17
17
|
declare class HandlerManage implements BaseModule {
|
|
18
18
|
app: Anov3D;
|
|
@@ -6,18 +6,18 @@ 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
|
export var map = {
|
|
9
|
-
HF: 0.
|
|
10
|
-
HPU: 0.
|
|
11
|
-
LLCV: 0.
|
|
12
|
-
CMP1: 0.
|
|
13
|
-
CMP2: 0.
|
|
9
|
+
HF: 0.048,
|
|
10
|
+
HPU: 0.155,
|
|
11
|
+
LLCV: 0.247,
|
|
12
|
+
CMP1: 0.400,
|
|
13
|
+
CMP2: 0.682
|
|
14
14
|
};
|
|
15
15
|
export var invertMap = {
|
|
16
|
-
0.
|
|
17
|
-
0.
|
|
18
|
-
0.
|
|
19
|
-
0.
|
|
20
|
-
0.
|
|
16
|
+
0.048: 'HF',
|
|
17
|
+
0.155: 'HPU',
|
|
18
|
+
0.247: 'LLCV',
|
|
19
|
+
0.400: 'CMP1',
|
|
20
|
+
0.682: 'CMP2'
|
|
21
21
|
};
|
|
22
22
|
var HandlerManage = /*#__PURE__*/function () {
|
|
23
23
|
function HandlerManage(app) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","environment","sun","children","layers","enable","setTime","time","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","districtLine","removeHighLightLine","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject","toggleView","viewType","minCamera","fov","updateProjectionMatrix"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import type { PerspectiveCamera } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.
|
|
1
|
+
{"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","environment","sun","children","layers","enable","setTime","time","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","districtLine","removeHighLightLine","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject","toggleView","viewType","minCamera","fov","updateProjectionMatrix"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import type { PerspectiveCamera } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.048,\n HPU: 0.155,\n LLCV: 0.247,\n CMP1: 0.400,\n CMP2: 0.682,\n}\n\nexport const invertMap = {\n 0.048: 'HF',\n 0.155: 'HPU',\n 0.247: 'LLCV',\n 0.400: 'CMP1',\n 0.682: 'CMP2',\n}\n\nclass HandlerManage implements BaseModule {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n\n // @ts-ignore\n this.app.environment.sun.children[0].layers.enable(5)\n // @ts-ignore\n this.app.environment.setTime({ time: 1000 })\n }\n\n clickPerson(params: any) {\n this.click(params.id)\n }\n\n clickBar(params: any) {\n this.click(params.title)\n }\n\n clickCamera(params: any) {\n this.click(params.id)\n }\n\n clickGasCancel() {\n // @ts-ignore\n this.app.caseInstance.cameraPoi.closeHotmap()\n }\n\n releaseBar() {\n // @ts-ignore\n this.app.caseInstance.cylinder.setVisible()\n // @ts-ignore\n this.app.caseInstance.circle.remove()\n // @ts-ignore\n this.app.caseInstance.districtLine.removeHighLightLine()\n }\n\n click(name) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(name)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n setInspectTarget(params: { target: string }) {\n const { target } = params\n\n // @ts-ignore\n return this.app.caseInstance.inspection.goToInspectionTarget(map[target])\n }\n\n stopInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.stop()\n }\n\n continueInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.contineMove()\n }\n\n highlightInspectTarget(params: { target: string; highlight: boolean }) {\n // @ts-ignore\n this.app.caseInstance.inspection.setSelectedAnchorObject(params)\n }\n\n setViewType(params: { viewType: string }) {\n // @ts-ignore\n this.app.caseInstance.toggleView(params.viewType)\n }\n\n setFOV(params: { fov: number }) {\n // @ts-ignore\n ((this.app.caseInstance.inspection.minCamera) as PerspectiveCamera).fov = params.fov;\n // @ts-ignore\n ((this.app.caseInstance.inspection.minCamera) as PerspectiveCamera).updateProjectionMatrix()\n }\n}\n\nexport default HandlerManage\n"],"mappings":"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"}
|
|
@@ -352,7 +352,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
352
352
|
var startQuaternion = _this5.model.quaternion.clone();
|
|
353
353
|
var startCameraQuaternion = _this5.inspection.minCamera.quaternion.clone();
|
|
354
354
|
var targetMeshPosition = targetMesh.position.clone();
|
|
355
|
-
targetMeshPosition.y = targetMeshPosition.y + (Number(key) === 0.
|
|
355
|
+
targetMeshPosition.y = targetMeshPosition.y + (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400 ? 20 : 0);
|
|
356
356
|
rotationMatrix.lookAt(targetMeshPosition, _this5.model.position, _this5.model.up);
|
|
357
357
|
targetQuaternion.setFromRotationMatrix(rotationMatrix);
|
|
358
358
|
var forwardTween = new Tween({
|
|
@@ -375,8 +375,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
375
375
|
sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {
|
|
376
376
|
target: targetProgresspoints[key].name
|
|
377
377
|
});
|
|
378
|
-
if (Number(key) === 0.
|
|
379
|
-
if (Number(key) === 0.
|
|
378
|
+
if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400) _this5.inspection.minCamera.layers.set(2);
|
|
379
|
+
if (Number(key) === 0.155 || Number(key) === 0.247) {
|
|
380
380
|
_this5.inspection.minCamera.layers.enable(3);
|
|
381
381
|
// @ts-ignore
|
|
382
382
|
if (!targetMesh.finirMesh) {
|
|
@@ -408,7 +408,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
408
408
|
}
|
|
409
409
|
|
|
410
410
|
// 异常点
|
|
411
|
-
if (Number(key) === 0.
|
|
411
|
+
if (Number(key) === 0.155 || Number(key) === 0.247) {
|
|
412
412
|
_this5.subscription().then(function (data) {
|
|
413
413
|
if (data) {
|
|
414
414
|
finirMesh.visible = false;
|
|
@@ -418,7 +418,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
418
418
|
});
|
|
419
419
|
} else {
|
|
420
420
|
setTimeout(function () {
|
|
421
|
-
if (Number(key) === 0.
|
|
421
|
+
if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400) _this5.inspection.minCamera.layers.set(0);
|
|
422
422
|
|
|
423
423
|
// if (Number(key) === 0.40)
|
|
424
424
|
// finirMesh.visible = false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","verticalSpeed","horizontalSpeed","height","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","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","compassInfo","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","upCurve","upControl","loop","lookat","contine","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","speed","setSpeed","Error","contineCount","takeOffAnimation","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n 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.position = 'absolute'\n span.style.top = '10px'\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(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n 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, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n 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 }\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":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","verticalSpeed","horizontalSpeed","height","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","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","compassInfo","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","upCurve","upControl","loop","lookat","contine","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","speed","setSpeed","Error","contineCount","takeOffAnimation","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n 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.position = 'absolute'\n span.style.top = '10px'\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(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n 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, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.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 }\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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"}
|
|
@@ -2,15 +2,15 @@ import { Vector3 } from '@anov/3d-core';
|
|
|
2
2
|
export declare const flyLinePoints: Vector3[];
|
|
3
3
|
export declare const groundLinePoints: Vector3[];
|
|
4
4
|
export declare const targetProgresspoints: {
|
|
5
|
-
0.
|
|
5
|
+
0.048: {
|
|
6
6
|
lookAt: string;
|
|
7
7
|
name: string;
|
|
8
8
|
};
|
|
9
|
-
0.
|
|
9
|
+
0.155: {
|
|
10
10
|
lookAt: string;
|
|
11
11
|
name: string;
|
|
12
12
|
};
|
|
13
|
-
0.
|
|
13
|
+
0.247: {
|
|
14
14
|
lookAt: string;
|
|
15
15
|
name: string;
|
|
16
16
|
};
|
|
@@ -18,7 +18,7 @@ export declare const targetProgresspoints: {
|
|
|
18
18
|
lookAt: string;
|
|
19
19
|
name: string;
|
|
20
20
|
};
|
|
21
|
-
0.
|
|
21
|
+
0.682: {
|
|
22
22
|
lookAt: string;
|
|
23
23
|
name: string;
|
|
24
24
|
};
|
|
@@ -5,24 +5,31 @@ export var flyLinePoints = [[-491.52, -1.22, -52.05], [-143.69, -3.00, -52.05],
|
|
|
5
5
|
export var groundLinePoints = [[-491.52, -1.22, -52.05], [-143.69, -3.00, -52.05], [-143.69, -0.00, 121.29], [-319.85, 0.00, 121.29], [-319.85, -0.00, 224.78], [125.73, -0.84, 224.78], [125.73, 0.00, 39.61], [323.44, -0.00, 39.61], [323.44, 0.00, -48.50], [27.52, 3.00, -48.50], [22.62, -0.00, -220.87], [-491.52, -0.53, -220.87]].map(function (v) {
|
|
6
6
|
return new Vector3(v[0], v[1], v[2]);
|
|
7
7
|
});
|
|
8
|
+
|
|
9
|
+
// 0.048
|
|
10
|
+
// 0.155
|
|
11
|
+
// 0.247
|
|
12
|
+
// 0.400
|
|
13
|
+
// 0.682
|
|
14
|
+
|
|
8
15
|
export var targetProgresspoints = {
|
|
9
|
-
0.
|
|
16
|
+
0.048: {
|
|
10
17
|
lookAt: 'GY_ccg_chucunguan_02',
|
|
11
18
|
name: 'HF'
|
|
12
19
|
},
|
|
13
|
-
0.
|
|
20
|
+
0.155: {
|
|
14
21
|
lookAt: 'GY_jx_daxingshebei_7',
|
|
15
22
|
name: 'HPU'
|
|
16
23
|
},
|
|
17
|
-
0.
|
|
24
|
+
0.247: {
|
|
18
25
|
lookAt: 'GY_GD_guandaofamen_5',
|
|
19
26
|
name: 'LLCV'
|
|
20
27
|
},
|
|
21
|
-
0.
|
|
28
|
+
0.400: {
|
|
22
29
|
lookAt: 'GY_jx_daxingshebei_3',
|
|
23
30
|
name: 'CMP1'
|
|
24
31
|
},
|
|
25
|
-
0.
|
|
32
|
+
0.682: {
|
|
26
33
|
lookAt: 'GY_jx_daxingshebei_8',
|
|
27
34
|
name: 'CMP2'
|
|
28
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Vector3","flyLinePoints","map","v","groundLinePoints","targetProgresspoints","lookAt","name","isCheck","currentProgress","progress","Object","keys","some","p","num","parseFloat"],"sources":["../../../../src/factory/unit/inspection/lineData.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const flyLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], 40, v[2]))\n\nexport const groundLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], v[1], v[2]))\n\nexport const targetProgresspoints = {\n 0.
|
|
1
|
+
{"version":3,"names":["Vector3","flyLinePoints","map","v","groundLinePoints","targetProgresspoints","lookAt","name","isCheck","currentProgress","progress","Object","keys","some","p","num","parseFloat"],"sources":["../../../../src/factory/unit/inspection/lineData.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const flyLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], 40, v[2]))\n\nexport const groundLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], v[1], v[2]))\n\n// 0.048\n// 0.155\n// 0.247\n// 0.400\n// 0.682\n\nexport const targetProgresspoints = {\n 0.048: {\n lookAt: 'GY_ccg_chucunguan_02',\n name: 'HF',\n },\n 0.155: {\n lookAt: 'GY_jx_daxingshebei_7',\n name: 'HPU',\n },\n 0.247: {\n lookAt: 'GY_GD_guandaofamen_5',\n name: 'LLCV',\n },\n 0.400: {\n lookAt: 'GY_jx_daxingshebei_3',\n name: 'CMP1',\n },\n 0.682: {\n lookAt: 'GY_jx_daxingshebei_8',\n name: 'CMP2',\n },\n}\n\nexport const isCheck = (currentProgress) => {\n const progress = Object.keys(targetProgresspoints)\n\n return progress.some((p) => {\n const num = parseFloat(p)\n return currentProgress >= num && currentProgress < num + 0.001\n })\n}"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.107",
|
|
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-
|
|
26
|
-
"@anov/3d-
|
|
25
|
+
"@anov/3d-core": "^0.0.13",
|
|
26
|
+
"@anov/3d-ability": "^0.0.14"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/uuid": "^9.0.7"
|