@anov/3d 0.0.100 → 0.0.101

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.
@@ -272,8 +272,8 @@ var Factory3D = /*#__PURE__*/function () {
272
272
  div.appendChild(span);
273
273
  div.appendChild(span2);
274
274
  var poi01 = new SpritePoi(div, {
275
- width: 100 * 2 * scale,
276
- height: 40 * 2 * scale
275
+ width: 100 * 2,
276
+ height: 40 * 2
277
277
  });
278
278
  poi01.scale.set(40, 18, 1);
279
279
  poi01.layers.set(2);
@@ -304,14 +304,16 @@ var Factory3D = /*#__PURE__*/function () {
304
304
  div2.appendChild(span3);
305
305
  div2.appendChild(span4);
306
306
  var poi02 = new SpritePoi(div2, {
307
- width: 100 * 2 * scale,
308
- height: 40 * 2 * scale
307
+ width: 100 * 2,
308
+ height: 40 * 2
309
309
  });
310
310
  poi02.scale.set(50, 22, 1);
311
311
  poi02.layers.set(2);
312
312
  poi02.position.set(-240.869, 15, -127.770);
313
- group.add(poi01);
314
- group.add(poi02);
313
+
314
+ // group.add(poi01)
315
+ // group.add(poi02)
316
+
315
317
  _this2.scene.add(group);
316
318
  _this2.thermaLimaging = group;
317
319
  return gltf;
@@ -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","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","document","createElement","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","appendChild","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","realGroundModel","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","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, 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 realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n 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 * scale,\n height: 40 * 2 * scale,\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 * scale,\n height: 40 * 2 * scale,\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 // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n 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","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","document","createElement","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","appendChild","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","realGroundModel","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","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, 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 realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n 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 // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.100",
3
+ "version": "0.0.101",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",