@anov/3d 0.0.62 → 0.0.63
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
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
|
@@ -25,7 +25,7 @@ var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
|
25
25
|
var emitter = utils.emitter;
|
|
26
26
|
var resourcePath = './';
|
|
27
27
|
var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
|
|
28
|
-
export var usePath =
|
|
28
|
+
export var usePath = resourcePath2;
|
|
29
29
|
var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
|
|
30
30
|
var _Texture2 = new TextureLoader().load("".concat(usePath, "demo04.jpg"));
|
|
31
31
|
var _Texture3 = new TextureLoader().load("".concat(usePath, "test04.jpg"));
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AdditiveBlending","Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","blending","opacity","depthTest","map","offset","tech","techModel","texture1","texture2","uvScale","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 { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n // depthTest: false,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n 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 scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n 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 // 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 // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\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":["AdditiveBlending","Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","loadGLTF","gltf","realTreeModel","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","blending","opacity","depthTest","map","offset","tech","techModel","texture1","texture2","uvScale","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 { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n // depthTest: false,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n 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 scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n 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 // 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 // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n rgbeLoader.setPath(`${this.usePath}`).load('demo.hdr', (texture) => {\n texture.mapping = EquirectangularReflectionMapping\n\n texture.colorSpace = SRGBColorSpace\n this.boxSkeyTexture = texture\n this.scene.scene.environment = texture\n this.scene.scene.background = new Color('#ccc')\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.scene.environment = this.boxSkeyTexture\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView() {\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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"}
|
|
@@ -5,7 +5,7 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
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
|
-
import { BoxGeometry, Color,
|
|
8
|
+
import { BoxGeometry, Color, Group, Mesh, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core';
|
|
9
9
|
import createFontMesh from "../utils/fontMesh";
|
|
10
10
|
import { SceneStyle } from "../utils/constant";
|
|
11
11
|
import regionMap from "../regionData";
|
|
@@ -87,7 +87,6 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
87
87
|
_defineProperty(this, "currentoperate", cylinderData[0].belongTo);
|
|
88
88
|
_defineProperty(this, "cameraListenerHandle", function () {
|
|
89
89
|
var currentCameraPosition = _this.gobal.control.object.position;
|
|
90
|
-
console.log('currentCameraPosition:', currentCameraPosition);
|
|
91
90
|
var box = _this.gobal.areaBoundingBox.boundingBoxMap.get(_this.currentoperate);
|
|
92
91
|
var iscollision = collisionDetection(box, currentCameraPosition);
|
|
93
92
|
if (!iscollision) {
|
|
@@ -165,14 +164,13 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
165
164
|
_this2.currentoperate = item.belongTo;
|
|
166
165
|
_this2.cameraAddListener();
|
|
167
166
|
});
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
// })
|
|
167
|
+
/* this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => {
|
|
168
|
+
emitter.emit('peoplemanagement-camera-enter', item)
|
|
169
|
+
const currentGroup = this.cylinderMesh.get(item.belongTo) as Group
|
|
170
|
+
currentGroup.visible = false
|
|
171
|
+
this.currentoperate = item.belongTo
|
|
172
|
+
this.cameraAddListener()
|
|
173
|
+
}) */
|
|
176
174
|
});
|
|
177
175
|
|
|
178
176
|
_this2.cylinderMesh.set(item.belongTo, group);
|
|
@@ -196,30 +194,20 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
196
194
|
value: function getMesh(data) {
|
|
197
195
|
var width = 10;
|
|
198
196
|
// 创建渐变材质
|
|
199
|
-
|
|
200
|
-
vertexColors: true,
|
|
201
|
-
// 启用顶点颜色插值
|
|
202
|
-
transparent: true
|
|
203
|
-
// blending: AdditiveBlending,
|
|
204
|
-
});
|
|
197
|
+
|
|
205
198
|
// 创建渐变立方体的顶点颜色数组
|
|
206
199
|
var geometry = new BoxGeometry(width, data.height, width);
|
|
207
|
-
var
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
// 添加顶点颜色
|
|
219
|
-
colors.push(color.r, color.g, color.b); // 添加渐变色
|
|
220
|
-
}
|
|
221
|
-
|
|
222
|
-
geometry.setAttribute('color', new Float32BufferAttribute(colors, 3));
|
|
200
|
+
var gradientMaterial = new ShaderMaterial({
|
|
201
|
+
transparent: true,
|
|
202
|
+
depthTest: false,
|
|
203
|
+
uniforms: {
|
|
204
|
+
intensity: {
|
|
205
|
+
value: 1.0
|
|
206
|
+
}
|
|
207
|
+
},
|
|
208
|
+
vertexShader: "\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n ",
|
|
209
|
+
fragmentShader: "\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n "
|
|
210
|
+
});
|
|
223
211
|
|
|
224
212
|
// 创建渐变立方体
|
|
225
213
|
var cylinder = new Mesh(geometry, gradientMaterial);
|
|
@@ -229,23 +217,7 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
229
217
|
}, {
|
|
230
218
|
key: "cameraAddListener",
|
|
231
219
|
value: function cameraAddListener() {
|
|
232
|
-
this.gobal.control.addEventListener('change', this.
|
|
233
|
-
}
|
|
234
|
-
}, {
|
|
235
|
-
key: "debounce",
|
|
236
|
-
value: function debounce(func) {
|
|
237
|
-
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
|
238
|
-
var timerId;
|
|
239
|
-
return function () {
|
|
240
|
-
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
241
|
-
var context = this;
|
|
242
|
-
// eslint-disable-next-line prefer-rest-params
|
|
243
|
-
var args = arguments;
|
|
244
|
-
clearTimeout(timerId);
|
|
245
|
-
timerId = setTimeout(function () {
|
|
246
|
-
func.apply(context, args);
|
|
247
|
-
}, delay);
|
|
248
|
-
};
|
|
220
|
+
this.gobal.control.addEventListener('change', this.cameraListenerHandle);
|
|
249
221
|
}
|
|
250
222
|
}, {
|
|
251
223
|
key: "controlAddListener",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BoxGeometry","Color","Float32BufferAttribute","Group","Mesh","MeshBasicMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","console","log","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","regionPlane","planeMesh","forEach","mesh","visible","emit","cameraRemoveListener","scene","option","item","cylinder","getMesh","group","name","copy","fromArray","interactionManager","storeManagement","add","addEventListener","style","real","cameraUtil","set","target","then","currentGroup","cylinderMesh","cameraAddListener","font","geometry","center","useframe","camera","controlAddListener","data","width","gradientMaterial","vertexColors","transparent","attributes","colors","i","count","vertex","fromBufferAttribute","gradientX","x","gradientY","y","setHex","lerp","push","r","g","b","setAttribute","rotateY","Math","PI","debounce","cameraListenerHandle","func","delay","timerId","context","args","arguments","clearTimeout","setTimeout","apply","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n /* const geometry = new BoxGeometry(10, item.height, 10)\n const material = new ShaderMaterial({\n transparent: true,\n depthWrite: false,\n depthTest: false,\n uniforms: {\n uHeight: {\n value: item.height,\n },\n uColor: {\n value: new Color(item.color),\n },\n },\n vertexShader: `\n uniform float uHeight;\n varying float vOpacity;\n void main() {\n vOpacity = (position.y + uHeight/2.0) / uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);\n }\n `,\n fragmentShader: `\n uniform vec3 uColor;\n varying float vOpacity;\n void main() {\n gl_FragColor = vec4(uColor,0.3+vOpacity/10.0*7.0);\n }\n `,\n })\n const cylinder = new Mesh(geometry, material) */\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n group.addEventListener('click', () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n // @ts-ignore\n this.gobal.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.gobal.cameraUtil.set({\n position: [item.points[0], item.points[1] + item.height / 2 + 100, item.points[2] + 100],\n target: [item.points[0], item.points[1] + item.height / 2, item.points[2]],\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n this.cameraAddListener()\n })\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => {\n // emitter.emit('peoplemanagement-camera-enter', item)\n // const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n // currentGroup.visible = false\n\n // this.currentoperate = item.belongTo\n // this.cameraAddListener()\n // })\n })\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n font.then((mesh) => {\n mesh.geometry.center()\n\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n })\n })\n this.controlAddListener()\n }\n\n getMesh(data) {\n const width = 10\n // 创建渐变材质\n const gradientMaterial = new MeshBasicMaterial({\n vertexColors: true, // 启用顶点颜色插值\n transparent: true,\n // blending: AdditiveBlending,\n })\n // 创建渐变立方体的顶点颜色数组\n const geometry = new BoxGeometry(width, data.height, width)\n const position = geometry.attributes.position\n const colors = []\n for (let i = 0; i < position.count; i++) {\n const vertex = new Vector3()\n vertex.fromBufferAttribute(position, i)\n // 计算顶点的浅橘色到白色渐变值\n const gradientX = (vertex.x + width / 2) / width // 从0到1的梯度\n const gradientY = (vertex.y + data.height / 2) / data.height // 从0到1的梯度\n // 计算渐变色\n const color = new Color().setHex(0xD5A86F) // 初始颜色为浅橘色\n color.lerp(new Color(1, 1, 0.9), gradientX * gradientY) // 从浅橘色渐变到白色\n // 添加顶点颜色\n colors.push(color.r, color.g, color.b) // 添加渐变色\n }\n geometry.setAttribute('color', new Float32BufferAttribute(colors, 3))\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n console.log('currentCameraPosition:', currentCameraPosition)\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n // @ts-ignore\n this.gobal.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.debounce(this.cameraListenerHandle, 1000))\n }\n\n debounce(func, delay = 300) {\n let timerId\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this\n // eslint-disable-next-line prefer-rest-params\n const args = arguments\n clearTimeout(timerId)\n timerId = setTimeout(() => {\n func.apply(context, args)\n }, delay)\n }\n }\n\n private controlAddListener() {\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","regionPlane","planeMesh","forEach","mesh","visible","emit","cameraRemoveListener","scene","option","item","cylinder","getMesh","group","name","copy","fromArray","interactionManager","storeManagement","add","addEventListener","style","real","cameraUtil","set","target","then","currentGroup","cylinderMesh","cameraAddListener","font","geometry","center","useframe","camera","controlAddListener","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","value","vertexShader","fragmentShader","rotateY","Math","PI","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n /* const geometry = new BoxGeometry(10, item.height, 10)\n const material = new ShaderMaterial({\n transparent: true,\n depthWrite: false,\n depthTest: false,\n uniforms: {\n uHeight: {\n value: item.height,\n },\n uColor: {\n value: new Color(item.color),\n },\n },\n vertexShader: `\n uniform float uHeight;\n varying float vOpacity;\n void main() {\n vOpacity = (position.y + uHeight/2.0) / uHeight;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position,1.0);\n }\n `,\n fragmentShader: `\n uniform vec3 uColor;\n varying float vOpacity;\n void main() {\n gl_FragColor = vec4(uColor,0.3+vOpacity/10.0*7.0);\n }\n `,\n })\n const cylinder = new Mesh(geometry, material) */\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n group.addEventListener('click', () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n // @ts-ignore\n this.gobal.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.gobal.cameraUtil.set({\n position: [item.points[0], item.points[1] + item.height / 2 + 100, item.points[2] + 100],\n target: [item.points[0], item.points[1] + item.height / 2, item.points[2]],\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n this.cameraAddListener()\n })\n /* this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n this.cameraAddListener()\n }) */\n })\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n font.then((mesh) => {\n mesh.geometry.center()\n\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n })\n })\n this.controlAddListener()\n }\n\n getMesh(data) {\n const width = 10\n // 创建渐变材质\n\n // 创建渐变立方体的顶点颜色数组\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n // @ts-ignore\n this.gobal.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.63",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"anov-heat-map": "^0.0.1",
|
|
22
22
|
"localforage": "^1.10.0",
|
|
23
23
|
"uuid": "^9.0.1",
|
|
24
|
-
"@anov/3d-
|
|
25
|
-
"@anov/3d-
|
|
24
|
+
"@anov/3d-ability": "^0.0.13",
|
|
25
|
+
"@anov/3d-core": "^0.0.12"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@types/uuid": "^9.0.7"
|