@anov/3d 0.0.42 → 0.0.43
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.d.ts +1 -1
- package/dist/factory/3d.js +1 -1
- package/dist/factory/3d.js.map +1 -1
- package/package.json +1 -1
package/dist/factory/3d.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ declare type factory3dOption = {
|
|
|
16
16
|
controls?: any;
|
|
17
17
|
};
|
|
18
18
|
export declare const loadingManager: LoadingManager;
|
|
19
|
-
export declare const usePath = "
|
|
19
|
+
export declare const usePath = "http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/";
|
|
20
20
|
declare class Factory3D {
|
|
21
21
|
position: Vector3;
|
|
22
22
|
scene: SceneControl;
|
package/dist/factory/3d.js
CHANGED
|
@@ -24,7 +24,7 @@ var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
|
24
24
|
var emitter = utils.emitter;
|
|
25
25
|
var resourcePath = './';
|
|
26
26
|
var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
|
|
27
|
-
export var usePath =
|
|
27
|
+
export var usePath = resourcePath2;
|
|
28
28
|
var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
|
|
29
29
|
_Texture.wrapS = RepeatWrapping;
|
|
30
30
|
_Texture.wrapT = RepeatWrapping;
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","useframe","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","renderOrder","tech","techModel","texture1","texture2","uvScale","depthTest","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n uniform sampler2D _Texture;\n uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n uniform vec4 _Speed;\n uniform float _OP;\n uniform float _Time;\n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 8.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV);\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n\n vec2 panner6 = (vec2(1.0) * _Time * _Speed.xy + uv_TexCoord7);\n\n o.rgb = ((_Color * tex2DNode1.r * _ColorS) + (_ColorMask * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS)).rgb;\n o.a = _OP;\n gl_FragColor = o;\n\n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#red').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorS: { value: 1 },\n _TextureMask: { value: new TextureLoader().load(`${usePath}demo04.jpg`) },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 1.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nuse.useframe(() => {\n if (uniforms._Time.value > 0.3)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.001\n})\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n 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 // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\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 group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.material = material\n child.renderOrder = -1\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\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 // 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 depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\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":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","wrapS","wrapT","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","useframe","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","renderOrder","tech","techModel","texture1","texture2","uvScale","depthTest","depthWrite","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","cutoutCamera","inspection","minCamera","mainCamera","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n uniform sampler2D _Texture;\n uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n uniform vec4 _Speed;\n uniform float _OP;\n uniform float _Time;\n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 8.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV);\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n\n vec2 panner6 = (vec2(1.0) * _Time * _Speed.xy + uv_TexCoord7);\n\n o.rgb = ((_Color * tex2DNode1.r * _ColorS) + (_ColorMask * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS)).rgb;\n o.a = _OP;\n gl_FragColor = o;\n\n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#red').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorS: { value: 1 },\n _TextureMask: { value: new TextureLoader().load(`${usePath}demo04.jpg`) },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 0.1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 1.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nuse.useframe(() => {\n if (uniforms._Time.value > 0.3)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.001\n})\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n 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 // this.position = value.point\n // })\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\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 group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.material = material\n child.renderOrder = -1\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\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 // 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 depthTest: false,\n depthWrite: false,\n })\n\n child.layers.set(2)\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n this.scene.cutoutCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'main',\n // })\n }\n else {\n const mainCamera = this.scene.cutoutCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n // initPostEffects(this.scene.scene, this.scene.renderer, cutoutCamera, {\n // type: 'sub',\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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"}
|