@anov/3d 0.0.49 → 0.0.50

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.
@@ -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 = "http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/";
19
+ export declare const usePath = "./";
20
20
  declare class Factory3D {
21
21
  position: Vector3;
22
22
  scene: SceneControl;
@@ -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 { Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, ModelLoader, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
8
+ import { Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, use, utils } from '@anov/3d-core';
9
9
  import { Camera } from '@anov/3d-ability';
10
10
  import { finirMaterialV1 } from "./utils/finirMaterial";
11
11
  import handleUnit, { toggleTag as _toggleTag } from "./unit";
@@ -18,18 +18,54 @@ import vert from "./unit/glsl/heat/ver";
18
18
  var vertexShader = "\n".concat(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 ").concat(ShaderChunk.logdepthbuf_vertex, "\n }\n");
19
19
 
20
20
  // Fragment shader
21
- var fragmentShader = "\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\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, 1.0);\n }else{\n gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0);\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
21
+ var fragmentShader = "\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n varying vec3 vPosition;\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 varying vec2 vUv;\n\n\n void main() {\n\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 * 3.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV);\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((_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 = 1.0;\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
22
22
  export var loadingManager = new LoadingManager();
23
23
  var load = new ModelLoader(loadingManager);
24
24
  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 = resourcePath2;
28
+ export var usePath = resourcePath;
29
29
  var _Texture = new TextureLoader().load("".concat(usePath, "demo03.jpg"));
30
+ var _Texture2 = new TextureLoader().load("".concat(usePath, "demo04.jpg"));
30
31
  _Texture.wrapS = RepeatWrapping;
31
32
  _Texture.wrapT = RepeatWrapping;
32
- var uniforms = {};
33
+ _Texture.repeat.set(5000, 5000);
34
+ var uniforms = {
35
+ _Texture: {
36
+ value: _Texture
37
+ },
38
+ _Texture_ST: {
39
+ value: new Vector4()
40
+ },
41
+ _Color: {
42
+ value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5)
43
+ },
44
+ _ColorS: {
45
+ value: 1
46
+ },
47
+ _TextureMask: {
48
+ value: new TextureLoader().load('./demo04.jpg')
49
+ },
50
+ _MaskUV: {
51
+ value: 1
52
+ },
53
+ _ColorMask: {
54
+ value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1)
55
+ },
56
+ _ColorMaskS: {
57
+ value: 1
58
+ },
59
+ _Speed: {
60
+ value: new Vector4(0.0, 0.2, 0, 0)
61
+ },
62
+ _OP: {
63
+ value: 1.0
64
+ },
65
+ _Time: {
66
+ value: 1.0
67
+ }
68
+ };
33
69
  var material = new ShaderMaterial({
34
70
  uniforms: uniforms,
35
71
  vertexShader: vertexShader,
@@ -132,11 +168,21 @@ var Factory3D = /*#__PURE__*/function () {
132
168
  // tech model
133
169
  load.loadGLTF("".concat(this.usePath, "2222.glb"), false, true, './draco/', function (gltf) {
134
170
  var group = gltf.scene;
171
+ use.useframe(function () {
172
+ if (uniforms._Time.value > 0.5) uniforms._Time.value = 0;
173
+ uniforms._Time.value += 0.0008;
174
+ });
135
175
  group.traverse(function (child) {
136
176
  // @ts-ignore
137
177
  if (child.type === 'Mesh') {
138
178
  if (child.name === '柱体') {
179
+ // @ts-ignore
139
180
  child.visible = false;
181
+ var geometry = new PlaneGeometry(3000, 2000);
182
+ var plane = new Mesh(geometry, material);
183
+ plane.rotation.x = -Math.PI / 2;
184
+ plane.translateY(0.5);
185
+ group.add(plane);
140
186
  } else {
141
187
  // @ts-ignore
142
188
  child.material = finirMaterialV1;
@@ -1 +1 @@
1
- {"version":3,"names":["Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","ModelLoader","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","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","wrapS","wrapT","uniforms","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","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","traverse","child","type","name","scale","text","repeat","opacity","renderOrder","depthTest","map","offset","x","tech","techModel","texture1","value","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 { 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 varying vec3 vPosition;\n varying vec2 vUv;\n\n void main() {\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, 1.0);\n }else{\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\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 // 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 group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n child.visible = false\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.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n child.renderOrder = -1\n // @ts-ignore\n child.material.depthTest = false\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":["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","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_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","translateY","scale","text","opacity","renderOrder","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 { 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 varying vec3 vPosition;\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 varying vec2 vUv;\n\n\n void main() {\n\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 * 3.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV);\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((_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 = 1.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`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture.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: new TextureLoader().load('./demo04.jpg') },\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})\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 plane.translateY(0.5)\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.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n child.renderOrder = -1\n // @ts-ignore\n child.material.depthTest = false\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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"}
@@ -72,7 +72,7 @@ export var regionMap = {
72
72
  reduction: {
73
73
  id: '2',
74
74
  title: '常减压装置区',
75
- area: [[-140.123, 0, -225.604], [206.547, 0, -225.624], [206.547, 0, -59.401], [-140.123, 0, -59.401]],
75
+ area: [[-140.123, 0.1, -225.604], [206.547, 0, -225.624], [206.547, -0.1, -59.401], [-140.123, 0, -59.401]],
76
76
  maxHigh: 1000,
77
77
  poi: {
78
78
  id: '2',
@@ -1 +1 @@
1
- {"version":3,"names":["regionMap","reform","id","title","area","maxHigh","poi","position","content","people","name","dep","online","camera","reduction","probePoint","warn","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative"],"sources":["../../src/factory/regionData.ts"],"sourcesContent":["/**\n * todo: 各个单元数据需要统一\n * 当前demo area可以用直线绘制\n */\n\nexport interface IPeople {\n id: string\n name: string\n dep?: string\n online?: boolean\n position: Array<number>\n}\n\nexport interface IPoi {\n id: string\n position: Array<number>\n content?: string\n}\n\nexport interface IProbePoint {\n id: string\n name: string\n warn: boolean\n position: Array<number>\n}\n\nexport type RegionMap = {\n [k: string]: {\n id: string\n title: string\n area: number[][]\n maxHigh?: number\n poi?: IPoi\n people?: Array<IPeople>\n camera?: Object\n probePoint?: Array<IProbePoint>\n }\n}\n\nexport const regionMap: RegionMap = {\n reform: {\n id: '1',\n title: '重整装置区',\n area: [\n [\n -483.562,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -59.401,\n ],\n [\n -483.562,\n 0,\n -59.401,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '1',\n position: [-314.01113070, 0.55000000, -146.54350582],\n content: '通过直馏汽油和加氢石脑油,在催化剂存在的前提下,将原料的烷烃和环烷烃重构成为芳烃。并采用半再生固定床重整工艺,催化剂分段装填及两段混氢技术,装置采用了RIPP的粗汽油制氢技术。',\n },\n people: [\n {\n id: '7',\n name: '耿笑',\n dep: '设备运维',\n online: true,\n position: [-352.00000000, 0.62500079, -177.20000000],\n },\n {\n id: '2',\n name: '李连贵',\n dep: '工艺操作',\n online: true,\n position: [-275.70000000, 0.62500079, -137.10000000],\n },\n {\n id: '8',\n name: '吕萌',\n dep: '质量检测',\n online: true,\n position: [-365.40000000, 0.62500079, -80.60000000],\n },\n {\n id: '1',\n name: '宋玉',\n dep: '质量检测',\n online: true,\n position: [-436.90000000, 0.62500079, -121.50000000],\n },\n {\n id: '5',\n name: '王小雨',\n dep: '运输装卸',\n online: true,\n position: [-238.70000000, 0.62500079, -205.10000000],\n },\n {\n id: '6',\n name: '张建国',\n dep: '原料加工',\n online: true,\n position: [-436.50000000, 0.62500079, -182.30000000],\n },\n {\n id: '3',\n name: '张小萌',\n dep: '生产技术',\n online: true,\n position: [-204.80000000, 0.62500079, -150.10000000],\n },\n {\n id: '4',\n name: '朱正',\n dep: '设备运维',\n online: true,\n position: [-302.20000000, 0.62500079, -117.90000000],\n },\n ],\n camera: {\n id: '1',\n name: '摄像头1',\n position: [\n -314.0111307,\n 20.55,\n -146.54350582,\n ],\n },\n },\n reduction: {\n id: '2',\n title: '常减压装置区',\n area: [\n [-140.123, 0, -225.604],\n [206.547, 0, -225.624],\n [206.547, 0, -59.401],\n [-140.123, 0, -59.401],\n ],\n maxHigh: 1000,\n poi: {\n id: '2',\n position: [28.89784048, 0.55000000, -144.28157517],\n content: '主要包括三个工序:原油的脱盐、脱水;常压蒸馏;减压蒸馏。从油田送往炼油厂的原油往往含盐(主要是氧化物)带水(溶于油或呈乳化状态),可导致设备的腐蚀,在设备内壁结垢和影响成品油的组成,需在加工前脱除。',\n },\n people: [\n {\n id: '12',\n name: '才新梁',\n dep: '运输装卸',\n online: true,\n position: [26.50000000, 0.62500079, -155.00000000],\n },\n {\n id: '13',\n name: '何超盈',\n dep: '生产技术',\n online: true,\n position: [198.50000000, 0.62500079, -169.20000000],\n },\n {\n id: '11',\n name: '李大为',\n dep: '质量检测',\n online: true,\n position: [-79.80000000, 0.62500079, -218.20000000],\n },\n {\n id: '15',\n name: '孙建连',\n dep: '工艺操作',\n online: true,\n position: [-19.50000000, 0.62500079, -174.60000000],\n },\n {\n id: '9',\n name: '孙强',\n dep: '工艺操作',\n online: true,\n position: [-114.10000000, 0.62500079, -114.60000000],\n },\n {\n id: '10',\n name: '佟丽英',\n dep: '运输装卸',\n online: true,\n position: [26.10000000, 0.62500079, -202.30000000],\n },\n {\n id: '14',\n name: '王超',\n dep: '设备运维',\n online: true,\n position: [-14.90000000, 0.62500079, -116.90000000],\n },\n ],\n camera: {\n id: '2',\n name: '摄像头2',\n position: [\n 28.89784048,\n 20.55,\n -144.28157517,\n ],\n },\n probePoint: [\n {\n id: '3',\n name: '甲烷监测点3',\n warn: false,\n position: [\n 48.89784048,\n 30.55000000,\n -144.28157517,\n ],\n },\n ],\n },\n crudeOil: {\n id: '3',\n title: '原油罐区',\n area: [\n [240.584, 0, -225.624],\n [475.523, 0, -225.624],\n [475.543, 0, -59.401],\n [240.584, 0, -59.401],\n ],\n maxHigh: 1000,\n poi: {\n id: '3',\n position: [359.58372139, 0.55000000, -144.28157517],\n content: '原油罐区应靠近相应的加工装置区,并利用地形将液体物料自留输送,性质相近的液体物料储物罐宜布置较近。原油罐区的占地面积较大,原油罐区应注意火灾防范,存储量大一旦发生火灾,如不及时处置,扑救十分困难。',\n },\n people: [\n {\n id: '19',\n name: '牛小灵',\n dep: '生产技术',\n online: true,\n position: [404.70000000, 0.62500079, -190.30000000],\n },\n {\n id: '17',\n name: '彭旭',\n dep: '运输装卸',\n online: true,\n position: [294.10000000, 0.62500079, -125.90000000],\n },\n {\n id: '16',\n name: '宋麒麟',\n dep: '设备运维',\n online: true,\n position: [445.70000000, 0.62500079, -119.20000000],\n },\n {\n id: '18',\n name: '赵佳慧',\n dep: '生产技术',\n online: true,\n position: [344.50000000, 0.62500079, -127.10000000],\n },\n ],\n camera: {\n id: '3',\n name: '摄像头3',\n position: [\n 359.58372139,\n 20.55,\n -144.28157517,\n ],\n },\n },\n catalyticCracking: {\n id: '4',\n title: '催化裂化装置区',\n area: [\n [\n -483.562,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n 115.799,\n ],\n [\n -483.562,\n 0,\n 115.799,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '4',\n position: [-322.57300372, 0.55000000, 31.81516361],\n content: '该区域主要危险因素为高温,重点部位:1. 催化剂循环系统磨穿泄漏着火;2. 再生器及沉降器油气互串爆炸;3. 高位管线及设备泄漏着火。同时催化裂化工艺过程需注意对环境造成的影响,生产过程中烟气会带走较多热烈造成热能浪费和污染,',\n },\n people: [\n {\n id: '20',\n name: '李刚',\n dep: '运输装卸',\n online: true,\n position: [-339.40000000, 0.62500079, -1.90000000],\n },\n {\n id: '24',\n name: '李天一',\n dep: '工艺操作',\n online: true,\n position: [-394.80000000, 0.62500079, 16.80000000],\n },\n {\n id: '26',\n name: '吕方',\n dep: '设备运维',\n online: true,\n position: [-363.10000000, 0.62500079, 73.30000000],\n },\n {\n id: '29',\n name: '路笑',\n dep: '运输装卸',\n online: true,\n position: [-214.00000000, 0.62500079, 39.10000000],\n },\n {\n id: '22',\n name: '淼杉',\n dep: '运输装卸',\n online: true,\n position: [-175.10000000, 0.62500079, -12.80000000],\n },\n {\n id: '25',\n name: '孙江',\n dep: '运输装卸',\n online: true,\n position: [-175.80000000, 0.62500079, 8.90000000],\n },\n {\n id: '27',\n name: '王衣衣',\n dep: '运输装卸',\n online: true,\n position: [-394.60000000, 0.62500079, -37.80000000],\n },\n {\n id: '28',\n name: '张含义',\n dep: '质量检测',\n online: true,\n position: [-436.90000000, 0.62500079, 69.40000000],\n },\n {\n id: '21',\n name: '张山一',\n dep: '生产技术',\n online: true,\n position: [-325.30000000, 0.62500079, 86.20000000],\n },\n {\n id: '23',\n name: '张时柳',\n dep: '运输装卸',\n online: true,\n position: [-211.20000000, 0.62500079, 95.80000000],\n },\n ],\n camera: {\n id: '4',\n name: '摄像头4',\n position: [\n -322.57300372,\n 22.55,\n 31.81516361,\n ],\n },\n },\n hydrocrackingUnit: {\n id: '5',\n title: '加氢裂化装置区',\n area: [\n [-483.562, 0, 124.634],\n [-145.997, 0, 124.634],\n [-145.997, 0, 218.589],\n [\n -483.562, 0, 218.589,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '5',\n position: [-307.04992341, 0.55000000, 168.90578924],\n content: '该区域主要注意器材的腐蚀,腐蚀类型主要有:氢损伤(包括高温氢腐蚀、氢脆、氢致剥离)、高温H2+H2S腐蚀、连多硫酸腐蚀、Cr-Mo钢的回火脆性、高温S腐蚀、低温部位的H2S+H2O腐蚀、H2S+NH3+H2O腐蚀。',\n },\n people: [\n {\n id: '30',\n name: '李梦雅',\n dep: '生产技术',\n online: true,\n position: [-219.29636564, 0.62500079, 171.94423797],\n },\n {\n id: '31',\n name: '张连营',\n dep: '运输装卸',\n online: true,\n position: [-393.97653099, 0.62500079, 145.08266863],\n },\n {\n id: '32',\n name: '张子成',\n dep: '运输装卸',\n online: true,\n position: [-454.81735573, 0.62500079, 198.95572783],\n },\n ],\n camera: {\n id: '5',\n name: '摄像头5',\n position: [\n -307.04992341,\n 20.55,\n 168.90578924,\n ],\n },\n },\n cokingUnit: {\n id: '6',\n title: '焦化装置区',\n area: [\n [-140.100, 0, -49.802],\n [316.508, 0, -49.802],\n [316.508, 0, 218.847],\n [-140.100, 0, 218.847],\n ],\n maxHigh: 300,\n poi: {\n id: '6',\n position: [76.84192138, 0.55000332, 95.89826158],\n content: '该区域采用的延迟焦化装置是厂区能耗大户,其中,其燃料油、循环水两者的能耗占整个装置能耗的54%左右,其中,燃料气主要用于原料的加热、升温;循环水、新鲜水、软化水主要用于装置机泵降温、焦炭塔冷却等等。',\n },\n people: [\n {\n id: '38',\n name: '毕贵元',\n dep: '工艺操作',\n online: true,\n position: [247.30000000, 0.62500079, 166.20000000],\n },\n {\n id: '39',\n name: '何晴',\n dep: '设备运维',\n online: true,\n position: [-83.70000000, 0.62500079, 177.50000000],\n },\n {\n id: '33',\n name: '杨东利',\n dep: '工艺操作',\n online: true,\n position: [68.20000000, 0.62500079, 5.20000000],\n },\n {\n id: '36',\n name: '杨晓月',\n dep: '质量检测',\n online: true,\n position: [258.00000000, 0.62500079, 99.00000000],\n },\n {\n id: '40',\n name: '杨一真',\n dep: '质量检测',\n online: true,\n position: [107.90000000, 0.62500079, 95.30000000],\n },\n {\n id: '37',\n name: '张飞',\n dep: '运输装卸',\n online: true,\n position: [-69.60000000, 0.62500079, 29.30000000],\n },\n {\n id: '35',\n name: '张一天',\n dep: '运输装卸',\n online: true,\n position: [271.20000000, 0.62500079, 24.70000000],\n },\n {\n id: '34',\n name: '张泽宇',\n dep: '设备运维',\n online: true,\n position: [175.00000000, 0.62500079, 74.60000000],\n },\n ],\n camera: {\n id: '6',\n name: '摄像头6',\n position: [76.84192138, 20.55000332, 95.89826158],\n },\n probePoint: [\n {\n id: '1',\n name: '监测点异常1',\n warn: true,\n position: [\n 55.84192138, 20.55000332, 85.89826158,\n ],\n },\n ],\n },\n administrative: {\n id: '7',\n title: '办公区',\n area: [\n [340.501, 0, -44.710],\n [482.570, 0, -44.710],\n [482.570, 0, 227.641],\n [340.501, 0, 227.641],\n ],\n maxHigh: 1000,\n people: [{\n id: '49',\n name: '毕古元',\n dep: '运输装卸',\n online: true,\n position: [431.60000000, 0.62500079, 94.90000000],\n },\n {\n id: '50',\n name: '陈红',\n dep: '设备运维',\n online: true,\n position: [374.20000000, 0.62500079, 14.80000000],\n },\n {\n id: '58',\n name: '陈静娴',\n dep: '质量检测',\n online: true,\n position: [352.40000000, 0.62500079, 138.30000000],\n },\n {\n id: '54',\n name: '高红雷',\n dep: '运输装卸',\n online: true,\n position: [435.20000000, 0.62500079, 172.90000000],\n },\n {\n id: '57',\n name: '葛强',\n dep: '设备运维',\n online: true,\n position: [379.10000000, 0.62500079, 193.40000000],\n },\n {\n id: '46',\n name: '宫京',\n dep: '运输装卸',\n online: true,\n position: [441.30000000, 0.62500079, 80.70000000],\n },\n {\n id: '53',\n name: '匡青一',\n dep: '运输装卸',\n online: true,\n position: [379.10000000, 0.62500079, 173.80000000],\n },\n {\n id: '55',\n name: '李丽颖',\n dep: '质量检测',\n online: true,\n position: [357.50000000, 0.62500079, 221.40000000],\n },\n {\n id: '48',\n name: '李同一',\n dep: '工艺操作',\n online: true,\n position: [467.80000000, 0.62500079, 108.10000000],\n },\n {\n id: '56',\n name: '李晓阳',\n dep: '运输装卸',\n online: true,\n position: [444.20000000, 0.62500079, 191.80000000],\n },\n {\n id: '41',\n name: '刘超',\n dep: '运输装卸',\n online: true,\n position: [354.20000000, 0.62500079, -22.70000000],\n },\n {\n id: '42',\n name: '刘凤林',\n dep: '工艺操作',\n online: true,\n position: [368.50000000, 0.62500079, 40.30000000],\n },\n {\n id: '44',\n name: '卢灵',\n dep: '运输装卸',\n online: true,\n position: [368.00000000, 0.62500079, 79.90000000],\n },\n {\n id: '45',\n name: '苏丁',\n dep: '质量检测',\n online: true,\n position: [440.30000000, 0.62500079, 72.90000000],\n },\n {\n id: '50',\n name: '王林缘',\n dep: '工艺操作',\n online: true,\n position: [360.40000000, 0.62500079, 103.20000000],\n },\n {\n id: '51',\n name: '汪泉',\n dep: '运输装卸',\n online: true,\n position: [394.30000000, 0.62500079, 142.00000000],\n },\n {\n id: '43',\n name: '徐刚',\n dep: '运输装卸',\n online: true,\n position: [442.70000000, 0.62500079, -19.0000000],\n },\n {\n id: '52',\n name: '薛友',\n dep: '质量检测',\n online: true,\n position: [444.40000000, 0.62500079, 147.80000000],\n },\n {\n id: '60',\n name: '章虎泉',\n dep: '工艺操作',\n online: true,\n position: [467.80000000, 0.62500079, 21.90000000],\n },\n {\n id: '47',\n name: '张山峰',\n dep: '设备运维',\n online: true,\n position: [459.90000000, 0.62500079, 90.10000000],\n },\n ],\n poi: {\n id: '7',\n position: [404.24348058, 0.55000000, 85.00566808],\n content: '提供对工厂办公人员的休息和休闲区域,包括食堂,休息室,员工宿舍,休闲楼等场地,提供对工厂办公人员的休息和休闲区域,包括食堂,休息室,员工宿舍,休闲楼等场地,且该区域需较远离生产区,保证员工休息质量。',\n },\n camera: {\n id: '7',\n name: '摄像头7',\n position: [\n 404.24348058,\n 20.55,\n 85.00566808,\n ],\n },\n probePoint: [\n {\n id: '2',\n name: '甲烷监测点2',\n warn: false,\n position: [\n 384.24348058,\n 20.55,\n 75.00566808,\n ],\n },\n ],\n },\n}\n\nexport default regionMap"],"mappings":"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"}
1
+ {"version":3,"names":["regionMap","reform","id","title","area","maxHigh","poi","position","content","people","name","dep","online","camera","reduction","probePoint","warn","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative"],"sources":["../../src/factory/regionData.ts"],"sourcesContent":["/**\n * todo: 各个单元数据需要统一\n * 当前demo area可以用直线绘制\n */\n\nexport interface IPeople {\n id: string\n name: string\n dep?: string\n online?: boolean\n position: Array<number>\n}\n\nexport interface IPoi {\n id: string\n position: Array<number>\n content?: string\n}\n\nexport interface IProbePoint {\n id: string\n name: string\n warn: boolean\n position: Array<number>\n}\n\nexport type RegionMap = {\n [k: string]: {\n id: string\n title: string\n area: number[][]\n maxHigh?: number\n poi?: IPoi\n people?: Array<IPeople>\n camera?: Object\n probePoint?: Array<IProbePoint>\n }\n}\n\nexport const regionMap: RegionMap = {\n reform: {\n id: '1',\n title: '重整装置区',\n area: [\n [\n -483.562,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -225.624,\n ],\n [\n -145.997,\n 0,\n -59.401,\n ],\n [\n -483.562,\n 0,\n -59.401,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '1',\n position: [-314.01113070, 0.55000000, -146.54350582],\n content: '通过直馏汽油和加氢石脑油,在催化剂存在的前提下,将原料的烷烃和环烷烃重构成为芳烃。并采用半再生固定床重整工艺,催化剂分段装填及两段混氢技术,装置采用了RIPP的粗汽油制氢技术。',\n },\n people: [\n {\n id: '7',\n name: '耿笑',\n dep: '设备运维',\n online: true,\n position: [-352.00000000, 0.62500079, -177.20000000],\n },\n {\n id: '2',\n name: '李连贵',\n dep: '工艺操作',\n online: true,\n position: [-275.70000000, 0.62500079, -137.10000000],\n },\n {\n id: '8',\n name: '吕萌',\n dep: '质量检测',\n online: true,\n position: [-365.40000000, 0.62500079, -80.60000000],\n },\n {\n id: '1',\n name: '宋玉',\n dep: '质量检测',\n online: true,\n position: [-436.90000000, 0.62500079, -121.50000000],\n },\n {\n id: '5',\n name: '王小雨',\n dep: '运输装卸',\n online: true,\n position: [-238.70000000, 0.62500079, -205.10000000],\n },\n {\n id: '6',\n name: '张建国',\n dep: '原料加工',\n online: true,\n position: [-436.50000000, 0.62500079, -182.30000000],\n },\n {\n id: '3',\n name: '张小萌',\n dep: '生产技术',\n online: true,\n position: [-204.80000000, 0.62500079, -150.10000000],\n },\n {\n id: '4',\n name: '朱正',\n dep: '设备运维',\n online: true,\n position: [-302.20000000, 0.62500079, -117.90000000],\n },\n ],\n camera: {\n id: '1',\n name: '摄像头1',\n position: [\n -314.0111307,\n 20.55,\n -146.54350582,\n ],\n },\n },\n reduction: {\n id: '2',\n title: '常减压装置区',\n area: [\n [-140.123, 0.1, -225.604],\n [206.547, 0, -225.624],\n [206.547, -0.1, -59.401],\n [-140.123, 0, -59.401],\n ],\n maxHigh: 1000,\n poi: {\n id: '2',\n position: [28.89784048, 0.55000000, -144.28157517],\n content: '主要包括三个工序:原油的脱盐、脱水;常压蒸馏;减压蒸馏。从油田送往炼油厂的原油往往含盐(主要是氧化物)带水(溶于油或呈乳化状态),可导致设备的腐蚀,在设备内壁结垢和影响成品油的组成,需在加工前脱除。',\n },\n people: [\n {\n id: '12',\n name: '才新梁',\n dep: '运输装卸',\n online: true,\n position: [26.50000000, 0.62500079, -155.00000000],\n },\n {\n id: '13',\n name: '何超盈',\n dep: '生产技术',\n online: true,\n position: [198.50000000, 0.62500079, -169.20000000],\n },\n {\n id: '11',\n name: '李大为',\n dep: '质量检测',\n online: true,\n position: [-79.80000000, 0.62500079, -218.20000000],\n },\n {\n id: '15',\n name: '孙建连',\n dep: '工艺操作',\n online: true,\n position: [-19.50000000, 0.62500079, -174.60000000],\n },\n {\n id: '9',\n name: '孙强',\n dep: '工艺操作',\n online: true,\n position: [-114.10000000, 0.62500079, -114.60000000],\n },\n {\n id: '10',\n name: '佟丽英',\n dep: '运输装卸',\n online: true,\n position: [26.10000000, 0.62500079, -202.30000000],\n },\n {\n id: '14',\n name: '王超',\n dep: '设备运维',\n online: true,\n position: [-14.90000000, 0.62500079, -116.90000000],\n },\n ],\n camera: {\n id: '2',\n name: '摄像头2',\n position: [\n 28.89784048,\n 20.55,\n -144.28157517,\n ],\n },\n probePoint: [\n {\n id: '3',\n name: '甲烷监测点3',\n warn: false,\n position: [\n 48.89784048,\n 30.55000000,\n -144.28157517,\n ],\n },\n ],\n },\n crudeOil: {\n id: '3',\n title: '原油罐区',\n area: [\n [240.584, 0, -225.624],\n [475.523, 0, -225.624],\n [475.543, 0, -59.401],\n [240.584, 0, -59.401],\n ],\n maxHigh: 1000,\n poi: {\n id: '3',\n position: [359.58372139, 0.55000000, -144.28157517],\n content: '原油罐区应靠近相应的加工装置区,并利用地形将液体物料自留输送,性质相近的液体物料储物罐宜布置较近。原油罐区的占地面积较大,原油罐区应注意火灾防范,存储量大一旦发生火灾,如不及时处置,扑救十分困难。',\n },\n people: [\n {\n id: '19',\n name: '牛小灵',\n dep: '生产技术',\n online: true,\n position: [404.70000000, 0.62500079, -190.30000000],\n },\n {\n id: '17',\n name: '彭旭',\n dep: '运输装卸',\n online: true,\n position: [294.10000000, 0.62500079, -125.90000000],\n },\n {\n id: '16',\n name: '宋麒麟',\n dep: '设备运维',\n online: true,\n position: [445.70000000, 0.62500079, -119.20000000],\n },\n {\n id: '18',\n name: '赵佳慧',\n dep: '生产技术',\n online: true,\n position: [344.50000000, 0.62500079, -127.10000000],\n },\n ],\n camera: {\n id: '3',\n name: '摄像头3',\n position: [\n 359.58372139,\n 20.55,\n -144.28157517,\n ],\n },\n },\n catalyticCracking: {\n id: '4',\n title: '催化裂化装置区',\n area: [\n [\n -483.562,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n -49.812,\n ],\n [\n -145.997,\n 0,\n 115.799,\n ],\n [\n -483.562,\n 0,\n 115.799,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '4',\n position: [-322.57300372, 0.55000000, 31.81516361],\n content: '该区域主要危险因素为高温,重点部位:1. 催化剂循环系统磨穿泄漏着火;2. 再生器及沉降器油气互串爆炸;3. 高位管线及设备泄漏着火。同时催化裂化工艺过程需注意对环境造成的影响,生产过程中烟气会带走较多热烈造成热能浪费和污染,',\n },\n people: [\n {\n id: '20',\n name: '李刚',\n dep: '运输装卸',\n online: true,\n position: [-339.40000000, 0.62500079, -1.90000000],\n },\n {\n id: '24',\n name: '李天一',\n dep: '工艺操作',\n online: true,\n position: [-394.80000000, 0.62500079, 16.80000000],\n },\n {\n id: '26',\n name: '吕方',\n dep: '设备运维',\n online: true,\n position: [-363.10000000, 0.62500079, 73.30000000],\n },\n {\n id: '29',\n name: '路笑',\n dep: '运输装卸',\n online: true,\n position: [-214.00000000, 0.62500079, 39.10000000],\n },\n {\n id: '22',\n name: '淼杉',\n dep: '运输装卸',\n online: true,\n position: [-175.10000000, 0.62500079, -12.80000000],\n },\n {\n id: '25',\n name: '孙江',\n dep: '运输装卸',\n online: true,\n position: [-175.80000000, 0.62500079, 8.90000000],\n },\n {\n id: '27',\n name: '王衣衣',\n dep: '运输装卸',\n online: true,\n position: [-394.60000000, 0.62500079, -37.80000000],\n },\n {\n id: '28',\n name: '张含义',\n dep: '质量检测',\n online: true,\n position: [-436.90000000, 0.62500079, 69.40000000],\n },\n {\n id: '21',\n name: '张山一',\n dep: '生产技术',\n online: true,\n position: [-325.30000000, 0.62500079, 86.20000000],\n },\n {\n id: '23',\n name: '张时柳',\n dep: '运输装卸',\n online: true,\n position: [-211.20000000, 0.62500079, 95.80000000],\n },\n ],\n camera: {\n id: '4',\n name: '摄像头4',\n position: [\n -322.57300372,\n 22.55,\n 31.81516361,\n ],\n },\n },\n hydrocrackingUnit: {\n id: '5',\n title: '加氢裂化装置区',\n area: [\n [-483.562, 0, 124.634],\n [-145.997, 0, 124.634],\n [-145.997, 0, 218.589],\n [\n -483.562, 0, 218.589,\n ],\n ],\n maxHigh: 1000,\n poi: {\n id: '5',\n position: [-307.04992341, 0.55000000, 168.90578924],\n content: '该区域主要注意器材的腐蚀,腐蚀类型主要有:氢损伤(包括高温氢腐蚀、氢脆、氢致剥离)、高温H2+H2S腐蚀、连多硫酸腐蚀、Cr-Mo钢的回火脆性、高温S腐蚀、低温部位的H2S+H2O腐蚀、H2S+NH3+H2O腐蚀。',\n },\n people: [\n {\n id: '30',\n name: '李梦雅',\n dep: '生产技术',\n online: true,\n position: [-219.29636564, 0.62500079, 171.94423797],\n },\n {\n id: '31',\n name: '张连营',\n dep: '运输装卸',\n online: true,\n position: [-393.97653099, 0.62500079, 145.08266863],\n },\n {\n id: '32',\n name: '张子成',\n dep: '运输装卸',\n online: true,\n position: [-454.81735573, 0.62500079, 198.95572783],\n },\n ],\n camera: {\n id: '5',\n name: '摄像头5',\n position: [\n -307.04992341,\n 20.55,\n 168.90578924,\n ],\n },\n },\n cokingUnit: {\n id: '6',\n title: '焦化装置区',\n area: [\n [-140.100, 0, -49.802],\n [316.508, 0, -49.802],\n [316.508, 0, 218.847],\n [-140.100, 0, 218.847],\n ],\n maxHigh: 300,\n poi: {\n id: '6',\n position: [76.84192138, 0.55000332, 95.89826158],\n content: '该区域采用的延迟焦化装置是厂区能耗大户,其中,其燃料油、循环水两者的能耗占整个装置能耗的54%左右,其中,燃料气主要用于原料的加热、升温;循环水、新鲜水、软化水主要用于装置机泵降温、焦炭塔冷却等等。',\n },\n people: [\n {\n id: '38',\n name: '毕贵元',\n dep: '工艺操作',\n online: true,\n position: [247.30000000, 0.62500079, 166.20000000],\n },\n {\n id: '39',\n name: '何晴',\n dep: '设备运维',\n online: true,\n position: [-83.70000000, 0.62500079, 177.50000000],\n },\n {\n id: '33',\n name: '杨东利',\n dep: '工艺操作',\n online: true,\n position: [68.20000000, 0.62500079, 5.20000000],\n },\n {\n id: '36',\n name: '杨晓月',\n dep: '质量检测',\n online: true,\n position: [258.00000000, 0.62500079, 99.00000000],\n },\n {\n id: '40',\n name: '杨一真',\n dep: '质量检测',\n online: true,\n position: [107.90000000, 0.62500079, 95.30000000],\n },\n {\n id: '37',\n name: '张飞',\n dep: '运输装卸',\n online: true,\n position: [-69.60000000, 0.62500079, 29.30000000],\n },\n {\n id: '35',\n name: '张一天',\n dep: '运输装卸',\n online: true,\n position: [271.20000000, 0.62500079, 24.70000000],\n },\n {\n id: '34',\n name: '张泽宇',\n dep: '设备运维',\n online: true,\n position: [175.00000000, 0.62500079, 74.60000000],\n },\n ],\n camera: {\n id: '6',\n name: '摄像头6',\n position: [76.84192138, 20.55000332, 95.89826158],\n },\n probePoint: [\n {\n id: '1',\n name: '监测点异常1',\n warn: true,\n position: [\n 55.84192138, 20.55000332, 85.89826158,\n ],\n },\n ],\n },\n administrative: {\n id: '7',\n title: '办公区',\n area: [\n [340.501, 0, -44.710],\n [482.570, 0, -44.710],\n [482.570, 0, 227.641],\n [340.501, 0, 227.641],\n ],\n maxHigh: 1000,\n people: [{\n id: '49',\n name: '毕古元',\n dep: '运输装卸',\n online: true,\n position: [431.60000000, 0.62500079, 94.90000000],\n },\n {\n id: '50',\n name: '陈红',\n dep: '设备运维',\n online: true,\n position: [374.20000000, 0.62500079, 14.80000000],\n },\n {\n id: '58',\n name: '陈静娴',\n dep: '质量检测',\n online: true,\n position: [352.40000000, 0.62500079, 138.30000000],\n },\n {\n id: '54',\n name: '高红雷',\n dep: '运输装卸',\n online: true,\n position: [435.20000000, 0.62500079, 172.90000000],\n },\n {\n id: '57',\n name: '葛强',\n dep: '设备运维',\n online: true,\n position: [379.10000000, 0.62500079, 193.40000000],\n },\n {\n id: '46',\n name: '宫京',\n dep: '运输装卸',\n online: true,\n position: [441.30000000, 0.62500079, 80.70000000],\n },\n {\n id: '53',\n name: '匡青一',\n dep: '运输装卸',\n online: true,\n position: [379.10000000, 0.62500079, 173.80000000],\n },\n {\n id: '55',\n name: '李丽颖',\n dep: '质量检测',\n online: true,\n position: [357.50000000, 0.62500079, 221.40000000],\n },\n {\n id: '48',\n name: '李同一',\n dep: '工艺操作',\n online: true,\n position: [467.80000000, 0.62500079, 108.10000000],\n },\n {\n id: '56',\n name: '李晓阳',\n dep: '运输装卸',\n online: true,\n position: [444.20000000, 0.62500079, 191.80000000],\n },\n {\n id: '41',\n name: '刘超',\n dep: '运输装卸',\n online: true,\n position: [354.20000000, 0.62500079, -22.70000000],\n },\n {\n id: '42',\n name: '刘凤林',\n dep: '工艺操作',\n online: true,\n position: [368.50000000, 0.62500079, 40.30000000],\n },\n {\n id: '44',\n name: '卢灵',\n dep: '运输装卸',\n online: true,\n position: [368.00000000, 0.62500079, 79.90000000],\n },\n {\n id: '45',\n name: '苏丁',\n dep: '质量检测',\n online: true,\n position: [440.30000000, 0.62500079, 72.90000000],\n },\n {\n id: '50',\n name: '王林缘',\n dep: '工艺操作',\n online: true,\n position: [360.40000000, 0.62500079, 103.20000000],\n },\n {\n id: '51',\n name: '汪泉',\n dep: '运输装卸',\n online: true,\n position: [394.30000000, 0.62500079, 142.00000000],\n },\n {\n id: '43',\n name: '徐刚',\n dep: '运输装卸',\n online: true,\n position: [442.70000000, 0.62500079, -19.0000000],\n },\n {\n id: '52',\n name: '薛友',\n dep: '质量检测',\n online: true,\n position: [444.40000000, 0.62500079, 147.80000000],\n },\n {\n id: '60',\n name: '章虎泉',\n dep: '工艺操作',\n online: true,\n position: [467.80000000, 0.62500079, 21.90000000],\n },\n {\n id: '47',\n name: '张山峰',\n dep: '设备运维',\n online: true,\n position: [459.90000000, 0.62500079, 90.10000000],\n },\n ],\n poi: {\n id: '7',\n position: [404.24348058, 0.55000000, 85.00566808],\n content: '提供对工厂办公人员的休息和休闲区域,包括食堂,休息室,员工宿舍,休闲楼等场地,提供对工厂办公人员的休息和休闲区域,包括食堂,休息室,员工宿舍,休闲楼等场地,且该区域需较远离生产区,保证员工休息质量。',\n },\n camera: {\n id: '7',\n name: '摄像头7',\n position: [\n 404.24348058,\n 20.55,\n 85.00566808,\n ],\n },\n probePoint: [\n {\n id: '2',\n name: '甲烷监测点2',\n warn: false,\n position: [\n 384.24348058,\n 20.55,\n 75.00566808,\n ],\n },\n ],\n },\n}\n\nexport default regionMap"],"mappings":"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"}
@@ -4,6 +4,7 @@ declare class DistrictLineManage {
4
4
  private gobal;
5
5
  private scene;
6
6
  readonly lineMesh: Map<string, Object3D>;
7
+ isShow: boolean;
7
8
  constructor(gobal: Factory3D);
8
9
  generateLine(): void;
9
10
  remove(): void;
@@ -17,6 +17,7 @@ var DistrictLineManage = /*#__PURE__*/function () {
17
17
  _defineProperty(this, "gobal", void 0);
18
18
  _defineProperty(this, "scene", void 0);
19
19
  _defineProperty(this, "lineMesh", new Map());
20
+ _defineProperty(this, "isShow", false);
20
21
  this.gobal = gobal;
21
22
  this.scene = gobal.scene.scene;
22
23
  }
@@ -24,16 +25,16 @@ var DistrictLineManage = /*#__PURE__*/function () {
24
25
  key: "generateLine",
25
26
  value: function generateLine() {
26
27
  var _this = this;
28
+ this.isShow = true;
27
29
  Object.keys(regionMap).forEach( /*#__PURE__*/function () {
28
30
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key) {
29
31
  var region, groundLinePoints, groundLine, geometry, material, mesh;
30
32
  return _regeneratorRuntime().wrap(function _callee$(_context) {
31
33
  while (1) switch (_context.prev = _context.next) {
32
34
  case 0:
33
- // 摄像机
34
35
  region = regionMap[key];
35
36
  groundLinePoints = region.area.map(function (v) {
36
- return new Vector3(v[0], v[1], v[2]);
37
+ return new Vector3(v[0], v[1] + 0.1, v[2]);
37
38
  });
38
39
  groundLine = new RoundLineGeometry(groundLinePoints, {
39
40
  radius: 5,
@@ -41,7 +42,7 @@ var DistrictLineManage = /*#__PURE__*/function () {
41
42
  });
42
43
  geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false);
43
44
  material = new MeshBasicMaterial({
44
- color: '#eff0f0'
45
+ color: '#f9ba41'
45
46
  });
46
47
  mesh = new Mesh(geometry, material);
47
48
  _this.scene.add(mesh);
@@ -60,6 +61,7 @@ var DistrictLineManage = /*#__PURE__*/function () {
60
61
  }, {
61
62
  key: "remove",
62
63
  value: function remove() {
64
+ this.isShow = false;
63
65
  this.lineMesh.forEach(function (mesh) {
64
66
  mesh.removeFromParent();
65
67
  mesh.remove();
@@ -1 +1 @@
1
- {"version":3,"names":["Mesh","MeshBasicMaterial","TubeGeometry","Vector3","RoundLineGeometry","regionMap","DistrictLineManage","gobal","Map","scene","Object","keys","forEach","key","region","groundLinePoints","area","map","v","groundLine","radius","close","geometry","curve","material","color","mesh","add","lineMesh","set","id","removeFromParent","remove","clear"],"sources":["../../../src/factory/unit/districtLine.ts"],"sourcesContent":["import { Mesh, MeshBasicMaterial, TubeGeometry, Vector3 } from '@anov/3d-core'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass DistrictLineManage {\n private gobal: Factory3D\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateLine() {\n Object.keys(regionMap).forEach(async (key: string) => {\n // 摄像机\n const region = regionMap[key]\n const groundLinePoints = region.area.map(v => new Vector3(v[0], v[1], v[2]))\n\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 5,\n close: true,\n })\n\n const geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false)\n const material = new MeshBasicMaterial({ color: '#eff0f0' })\n const mesh = new Mesh(geometry, material)\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n }\n\n remove() {\n this.lineMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n })\n this.lineMesh.clear()\n }\n}\n\nexport default DistrictLineManage"],"mappings":";+CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA,SAASA,IAAI,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,QAAQ,eAAe;AAE9E,SAASC,iBAAiB,QAAQ,kBAAkB;AAEpD,SAASC,SAAS;AAAuB,IAEnCC,kBAAkB;EAKtB,4BAAYC,KAAgB,EAAE;IAAA;IAAA;IAAA;IAAA,kCAFa,IAAIC,GAAG,EAAE;IAGlD,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,KAAK,GAAGF,KAAK,CAACE,KAAK,CAACA,KAAK;EAChC;EAAC;IAAA;IAAA,OAED,wBAAe;MAAA;MACbC,MAAM,CAACC,IAAI,CAACN,SAAS,CAAC,CAACO,OAAO;QAAA,sEAAC,iBAAOC,GAAW;UAAA;UAAA;YAAA;cAAA;gBAC/C;gBACMC,MAAM,GAAGT,SAAS,CAACQ,GAAG,CAAC;gBACvBE,gBAAgB,GAAGD,MAAM,CAACE,IAAI,CAACC,GAAG,CAAC,UAAAC,CAAC;kBAAA,OAAI,IAAIf,OAAO,CAACe,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAA,EAAC;gBAEtEC,UAAU,GAAG,IAAIf,iBAAiB,CAACW,gBAAgB,EAAE;kBACzDK,MAAM,EAAE,CAAC;kBACTC,KAAK,EAAE;gBACT,CAAC,CAAC;gBAEIC,QAAQ,GAAG,IAAIpB,YAAY,CAACiB,UAAU,CAACI,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;gBACjEC,QAAQ,GAAG,IAAIvB,iBAAiB,CAAC;kBAAEwB,KAAK,EAAE;gBAAU,CAAC,CAAC;gBACtDC,IAAI,GAAG,IAAI1B,IAAI,CAACsB,QAAQ,EAAEE,QAAQ,CAAC;gBACzC,KAAI,CAACf,KAAK,CAACkB,GAAG,CAACD,IAAI,CAAC;gBACpB,KAAI,CAACE,QAAQ,CAACC,GAAG,CAACf,MAAM,CAACgB,EAAE,EAAEJ,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA,CACnC;QAAA;UAAA;QAAA;MAAA,IAAC;IACJ;EAAC;IAAA;IAAA,OAED,kBAAS;MACP,IAAI,CAACE,QAAQ,CAAChB,OAAO,CAAC,UAACc,IAAI,EAAK;QAC9BA,IAAI,CAACK,gBAAgB,EAAE;QACvBL,IAAI,CAACM,MAAM,EAAE;MACf,CAAC,CAAC;MACF,IAAI,CAACJ,QAAQ,CAACK,KAAK,EAAE;IACvB;EAAC;EAAA;AAAA;AAGH,eAAe3B,kBAAkB"}
1
+ {"version":3,"names":["Mesh","MeshBasicMaterial","TubeGeometry","Vector3","RoundLineGeometry","regionMap","DistrictLineManage","gobal","Map","scene","isShow","Object","keys","forEach","key","region","groundLinePoints","area","map","v","groundLine","radius","close","geometry","curve","material","color","mesh","add","lineMesh","set","id","removeFromParent","remove","clear"],"sources":["../../../src/factory/unit/districtLine.ts"],"sourcesContent":["import { Mesh, MeshBasicMaterial, TubeGeometry, Vector3 } from '@anov/3d-core'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass DistrictLineManage {\n private gobal: Factory3D\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateLine() {\n this.isShow = true\n\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const groundLinePoints = region.area.map(v => new Vector3(v[0], v[1] + 0.1, v[2]))\n\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 5,\n close: true,\n })\n\n const geometry = new TubeGeometry(groundLine.curve, 10000, 1, 2, false)\n const material = new MeshBasicMaterial({ color: '#f9ba41' })\n const mesh = new Mesh(geometry, material)\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n }\n\n remove() {\n this.isShow = false\n this.lineMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n })\n this.lineMesh.clear()\n }\n}\n\nexport default DistrictLineManage"],"mappings":";+CACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AADA,SAASA,IAAI,EAAEC,iBAAiB,EAAEC,YAAY,EAAEC,OAAO,QAAQ,eAAe;AAE9E,SAASC,iBAAiB,QAAQ,kBAAkB;AAEpD,SAASC,SAAS;AAAuB,IAEnCC,kBAAkB;EAOtB,4BAAYC,KAAgB,EAAE;IAAA;IAAA;IAAA;IAAA,kCAJa,IAAIC,GAAG,EAAE;IAAA,gCAE3C,KAAK;IAGZ,IAAI,CAACD,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,KAAK,GAAGF,KAAK,CAACE,KAAK,CAACA,KAAK;EAChC;EAAC;IAAA;IAAA,OAED,wBAAe;MAAA;MACb,IAAI,CAACC,MAAM,GAAG,IAAI;MAElBC,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,OAAO;QAAA,sEAAC,iBAAOC,GAAW;UAAA;UAAA;YAAA;cAAA;gBACzCC,MAAM,GAAGV,SAAS,CAACS,GAAG,CAAC;gBACvBE,gBAAgB,GAAGD,MAAM,CAACE,IAAI,CAACC,GAAG,CAAC,UAAAC,CAAC;kBAAA,OAAI,IAAIhB,OAAO,CAACgB,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAA,EAAC;gBAE5EC,UAAU,GAAG,IAAIhB,iBAAiB,CAACY,gBAAgB,EAAE;kBACzDK,MAAM,EAAE,CAAC;kBACTC,KAAK,EAAE;gBACT,CAAC,CAAC;gBAEIC,QAAQ,GAAG,IAAIrB,YAAY,CAACkB,UAAU,CAACI,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;gBACjEC,QAAQ,GAAG,IAAIxB,iBAAiB,CAAC;kBAAEyB,KAAK,EAAE;gBAAU,CAAC,CAAC;gBACtDC,IAAI,GAAG,IAAI3B,IAAI,CAACuB,QAAQ,EAAEE,QAAQ,CAAC;gBACzC,KAAI,CAAChB,KAAK,CAACmB,GAAG,CAACD,IAAI,CAAC;gBACpB,KAAI,CAACE,QAAQ,CAACC,GAAG,CAACf,MAAM,CAACgB,EAAE,EAAEJ,IAAI,CAAC;cAAA;cAAA;gBAAA;YAAA;UAAA;QAAA,CACnC;QAAA;UAAA;QAAA;MAAA,IAAC;IACJ;EAAC;IAAA;IAAA,OAED,kBAAS;MACP,IAAI,CAACjB,MAAM,GAAG,KAAK;MACnB,IAAI,CAACmB,QAAQ,CAAChB,OAAO,CAAC,UAACc,IAAI,EAAK;QAC9BA,IAAI,CAACK,gBAAgB,EAAE;QACvBL,IAAI,CAACM,MAAM,EAAE;MACf,CAAC,CAAC;MACF,IAAI,CAACJ,QAAQ,CAACK,KAAK,EAAE;IACvB;EAAC;EAAA;AAAA;AAGH,eAAe5B,kBAAkB"}
@@ -17,6 +17,7 @@ import AreaBoundingBoxManage from "./areaBoundingBox";
17
17
  import Inspection from "./inspection";
18
18
  import CameraPoi from "./CameraPoi";
19
19
  import DistrictLineManage from "./districtLine";
20
+ import RegionPlane from "./region";
20
21
  var emitter = utils.emitter;
21
22
 
22
23
  // 临时优化
@@ -34,13 +35,11 @@ var showPeopleManagemen = function showPeopleManagemen() {
34
35
  this.cylinder.cylinderMesh.forEach(function (mesh) {
35
36
  mesh.visible = true;
36
37
  });
37
- this.districtLine.generateLine();
38
38
  };
39
39
  var closePeopleManagemen = function closePeopleManagemen() {
40
40
  this.cylinder.cylinderMesh.forEach(function (mesh) {
41
41
  mesh.visible = false;
42
42
  });
43
- this.districtLine.remove();
44
43
  this.circle.remove();
45
44
  };
46
45
  var showSmartInspection = function showSmartInspection() {
@@ -58,32 +57,49 @@ var showCameraPoiInspection = function showCameraPoiInspection() {
58
57
  (_this$cameraPoi2 = this.cameraPoi) === null || _this$cameraPoi2 === void 0 ? void 0 : _this$cameraPoi2.generateObject();
59
58
  };
60
59
  var toggleOverview = function toggleOverview() {
60
+ if (!this.districtLine.isShow) this.districtLine.generateLine();
61
61
  this.scene.camera.layers.disable(28);
62
62
  showOverview.apply(this);
63
63
  closePeopleManagemen.apply(this);
64
64
  closeSmartInspection.apply(this);
65
65
  closeCameraPoiInspection.apply(this);
66
+ this.regionPlane.planeMesh.forEach(function (mesh) {
67
+ mesh.visible = true;
68
+ });
66
69
  };
67
70
  var togglePeopleManagemen = function togglePeopleManagemen() {
71
+ if (!this.districtLine.isShow) this.districtLine.generateLine();
68
72
  this.scene.camera.layers.enable(28);
69
73
  showPeopleManagemen.apply(this);
70
74
  closeOverview.apply(this);
71
75
  closeSmartInspection.apply(this);
72
76
  closeCameraPoiInspection.apply(this);
77
+ this.regionPlane.planeMesh.forEach(function (mesh) {
78
+ mesh.visible = true;
79
+ });
73
80
  };
74
81
  var toggleSmartInspection = function toggleSmartInspection() {
82
+ this.districtLine.remove();
75
83
  this.scene.camera.layers.disable(28);
76
84
  showSmartInspection.apply(this);
77
85
  closeOverview.apply(this);
78
86
  closePeopleManagemen.apply(this);
79
87
  closeCameraPoiInspection.apply(this);
88
+ this.regionPlane.planeMesh.forEach(function (mesh) {
89
+ console.log(mesh);
90
+ mesh.visible = false;
91
+ });
80
92
  };
81
93
  var toggleSecurityOperation = function toggleSecurityOperation() {
94
+ this.districtLine.remove();
82
95
  this.scene.camera.layers.disable(28);
83
96
  showCameraPoiInspection.apply(this);
84
97
  closeOverview.apply(this);
85
98
  closePeopleManagemen.apply(this);
86
99
  closeSmartInspection.apply(this);
100
+ this.regionPlane.planeMesh.forEach(function (mesh) {
101
+ mesh.visible = false;
102
+ });
87
103
  };
88
104
  export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.overview, function () {
89
105
  this.tag = SceneTag.overview;
@@ -117,6 +133,8 @@ var handleUnit = function handleUnit() {
117
133
  });
118
134
  cylinder.generateCylinder();
119
135
  this.cylinder = cylinder;
136
+ var regionPlane = new RegionPlane(this);
137
+ this.regionPlane = regionPlane;
120
138
 
121
139
  // POI
122
140
  var poi = new PoiManage(this);
@@ -128,6 +146,7 @@ var handleUnit = function handleUnit() {
128
146
  this.circle = circle;
129
147
  var districtLine = new DistrictLineManage(this);
130
148
  this.districtLine = districtLine;
149
+ this.districtLine.generateLine();
131
150
  emitter.on('peoplemanagement-camera-enter', function (data) {
132
151
  sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, _objectSpread({
133
152
  type: 'Bar'
@@ -1 +1 @@
1
- {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","districtLine","generateLine","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","scene","camera","layers","disable","apply","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleTag","overview","tag","toggleSceneStyle","real","tech","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { Layers, utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n this.districtLine.generateLine()\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.districtLine.remove()\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst togglePeopleManagemen = function () {\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSmartInspection = function () {\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n}\n\nconst toggleSecurityOperation = function () {\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSecurityOperation.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
1
+ {"version":3,"names":["utils","SceneStyle","SceneTag","MessageType","sendToMessage","EMessageStatus","WallManage","CylinderManage","PoiManage","CircleManage","AreaBoundingBoxManage","Inspection","CameraPoi","DistrictLineManage","RegionPlane","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","console","log","toggleSecurityOperation","toggleTag","overview","tag","toggleSceneStyle","real","tech","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { Layers, utils } from '@anov/3d-core'\nimport { SceneStyle, SceneTag } from '../utils/constant'\n\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport WallManage from './wall'\nimport CylinderManage from './cylinder'\nimport PoiManage from './poi'\nimport CircleManage from './circle'\nimport AreaBoundingBoxManage from './areaBoundingBox'\nimport Inspection from './inspection'\nimport CameraPoi from './CameraPoi'\nimport DistrictLineManage from './districtLine'\nimport RegionPlane from './region'\n\nconst { emitter } = utils\n\n// 临时优化\n\nconst showOverview = function () {\n this.poi.generatePoi()\n}\n\nconst closeOverview = function () {\n this.wall.wallMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.poi.remove()\n}\n\nconst showPeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n\n this.circle.remove()\n}\n\nconst showSmartInspection = function () {\n this.inspection.show()\n}\n\nconst closeSmartInspection = function () {\n this.inspection.hide()\n}\n\nconst closeCameraPoiInspection = function () {\n this.cameraPoi?.remove()\n}\nconst showCameraPoiInspection = function () {\n this.cameraPoi?.generateObject()\n}\n\nconst toggleOverview = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.disable(28)\n showOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst togglePeopleManagemen = function () {\n if (!this.districtLine.isShow)\n this.districtLine.generateLine()\n\n this.scene.camera.layers.enable(28)\n showPeopleManagemen.apply(this)\n closeOverview.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = true\n })\n}\n\nconst toggleSmartInspection = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showSmartInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n console.log(mesh)\n mesh.visible = false\n })\n}\n\nconst toggleSecurityOperation = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n showCameraPoiInspection.apply(this)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n\n toggleSecurityOperation.apply(this)\n },\n}\n\nconst handleUnit = function () {\n // 围栏\n const wall = new WallManage(this, { visible: false })\n wall.generateWall()\n this.wall = wall\n\n // 圆柱\n const cylinder = new CylinderManage(this, {\n visible: false,\n })\n cylinder.generateCylinder()\n\n this.cylinder = cylinder\n\n const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\n\n // POI\n const poi = new PoiManage(this)\n poi.generatePoi()\n this.poi = poi\n\n // people\n const circle = new CircleManage(this)\n this.circle = circle\n\n const districtLine = new DistrictLineManage(this)\n this.districtLine = districtLine\n\n this.districtLine.generateLine()\n\n emitter.on('peoplemanagement-camera-enter', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'Bar',\n ...data,\n })\n this.circle.generateCircle(data?.belongTo)\n })\n\n emitter.on('peoplemanagement-person-click', (data: any) => {\n sendToMessage(MessageType.Event, 'onClick', EMessageStatus.Success, undefined, {\n type: 'POI',\n ...data,\n })\n })\n\n // boundingBox\n const areaBoundingBox = new AreaBoundingBoxManage()\n areaBoundingBox.generateBoundingBox()\n this.areaBoundingBox = areaBoundingBox\n\n const inspection = new Inspection(this)\n this.inspection = inspection\n\n const cameraPoi = new CameraPoi(this)\n this.cameraPoi = cameraPoi\n\n // some global events handle\n this.addEventListener('peoplemanagement-camera-out', (args) => {\n if (this.tag !== SceneTag['people-management'])\n return\n cylinder.cylinderMesh.forEach((item) => {\n item.visible = true\n })\n this.circle.remove()\n })\n\n emitter.on('peoplemanagement-control-maxDistance', () => {\n sendToMessage(MessageType.Event, 'onCancel', EMessageStatus.Success, undefined, { })\n })\n}\n\nexport default handleUnit\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, use } from '@anov/3d-core';
1
+ import { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, use } from '@anov/3d-core';
2
2
  import { usePath } from "../../3d";
3
3
  var lookAtOnYAxis = function lookAtOnYAxis(mesh, targetPosition) {
4
4
  var direction = new Vector3().subVectors(targetPosition, mesh.position);
@@ -110,7 +110,7 @@ var createRiseLayer = function createRiseLayer(riseLayer) {
110
110
  var riseSpriteMaterial = new ShaderMaterial({
111
111
  uniforms: {
112
112
  _TintColor: {
113
- value: new Vector4(1, 1, 1, 1)
113
+ value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1)
114
114
  },
115
115
  _MainTex: {
116
116
  value: new TextureLoader().load("".concat(usePath, "test03.png"))
@@ -122,7 +122,7 @@ var createRiseLayer = function createRiseLayer(riseLayer) {
122
122
  depthTest: false,
123
123
  transparent: true,
124
124
  vertexShader: /* glsl */"\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
125
- fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n "
125
+ fragmentShader: /* glsl */"\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n "
126
126
  });
127
127
  position.forEach(function (item) {
128
128
  var sprite = new Sprite(riseSpriteMaterial);
@@ -133,7 +133,7 @@ var createRiseLayer = function createRiseLayer(riseLayer) {
133
133
  use.useframe(function () {
134
134
  lookAtOnYAxis(sprite, camera.position);
135
135
  if (sprite.position.y > 300) sprite.position.y = 0;
136
- sprite.position.y += 1.5;
136
+ sprite.position.y += 1.0;
137
137
  });
138
138
  scene.add(sprite);
139
139
  });
@@ -1 +1 @@
1
- {"version":3,"names":["ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","_MainTex","load","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.5\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
1
+ {"version":3,"names":["Color","ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","r","g","b","_MainTex","load","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.0\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
@@ -8,10 +8,11 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
8
8
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
9
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
10
10
  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); }
11
- import { Vector3, utils } from '@anov/3d-core';
11
+ import { Vector3, use, utils } from '@anov/3d-core';
12
12
  import { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability';
13
13
  import { usePath } from "../3d";
14
14
  import { regionMap } from "../regionData";
15
+ import { walllMaterial } from "./wall";
15
16
  var PoiManage = /*#__PURE__*/function () {
16
17
  function PoiManage(gobal) {
17
18
  _classCallCheck(this, PoiManage);
@@ -37,7 +38,7 @@ var PoiManage = /*#__PURE__*/function () {
37
38
  case 0:
38
39
  Object.keys(regionMap).forEach( /*#__PURE__*/function () {
39
40
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(key) {
40
- var region, option, sprite, changeWallState, unClick;
41
+ var region, option, sprite, target, changeWallState, unClick;
41
42
  return _regeneratorRuntime().wrap(function _callee$(_context) {
42
43
  while (1) switch (_context.prev = _context.next) {
43
44
  case 0:
@@ -57,7 +58,8 @@ var PoiManage = /*#__PURE__*/function () {
57
58
  _this.scene.add(sprite);
58
59
  _this.poiMesh.set(region.poi.id, sprite);
59
60
 
60
- // 绑定事件
61
+ // @ts-ignore
62
+ target = _this.gobal.regionPlane.planeMesh.get(region.id); // 绑定事件
61
63
  _this.interactionManager.add(sprite);
62
64
  changeWallState = function changeWallState(show) {
63
65
  var _this$dialogPoi;
@@ -65,11 +67,27 @@ var PoiManage = /*#__PURE__*/function () {
65
67
  // 光墙
66
68
  var wall = _this.wallManage.wallMesh.get(region.id);
67
69
  wall.visible = show;
70
+ walllMaterial.uniforms.grow.value = 0;
71
+ if (show) {
72
+ var wallGrowFrame;
73
+ if (wallGrowFrame) wallGrowFrame();
74
+ wallGrowFrame = use.useframe(function () {
75
+ walllMaterial.uniforms.grow.value += 3;
76
+ if (walllMaterial.uniforms.grow.value > 50) wallGrowFrame();
77
+ });
78
+ }
68
79
  };
80
+ target.addEventListener('mouseover', function () {
81
+ if (!sprite.visible) return;
82
+ changeWallState(true);
83
+ });
69
84
  sprite.addEventListener('mouseover', function () {
70
85
  if (!sprite.visible) return;
71
86
  changeWallState(true);
72
87
  });
88
+ target.addEventListener('mouseout', function () {
89
+ changeWallState(false);
90
+ });
73
91
  sprite.addEventListener('mouseout', function () {
74
92
  changeWallState(false);
75
93
  });
@@ -82,10 +100,22 @@ var PoiManage = /*#__PURE__*/function () {
82
100
  wall.visible = true;
83
101
  // 隐藏当前POI点
84
102
  sprite.visible = false;
103
+
104
+ // let wallGrowFrame
105
+
106
+ // if (wallGrowFrame)
107
+ // wallGrowFrame()
108
+
109
+ // walllMaterial.uniforms.grow.value = 0
110
+
111
+ // wallGrowFrame = use.useframe(() => {
112
+ // walllMaterial.uniforms.grow.value += 3
113
+ // })
114
+
85
115
  _this.addDialogPanel(region, event.point);
86
116
  });
87
117
  _this.poiEventListener.add(unClick);
88
- case 12:
118
+ case 15:
89
119
  case "end":
90
120
  return _context.stop();
91
121
  }
@@ -1 +1 @@
1
- {"version":3,"names":["Vector3","utils","Css2DPoi","EAnimationType","SpritePoi","usePath","regionMap","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","Object","keys","forEach","key","region","option","scale","animation","type","grow","duration","fadeIn","sprite","getDom","position","copy","fromArray","poi","add","poiMesh","set","id","changeWallState","show","dialogPoi","visible","wallMesh","addEventListener","unClick","event","reset","addDialogPanel","point","poiEventListener","data","dom","document","createElement","assign","style","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","textAlign","color","pointerEvents","cursor","height","width","title","length","padding","fontWeight","innerText","remove","removeFromParent","f","clear","content","print","clone"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { Vector3, utils } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\nimport { regionMap } from '../regionData'\nimport type WallManage from './wall'\n\nclass PoiManage {\n private gobal: Factory3D\n private scene: Scene\n private dialogPoi: Object3D\n readonly poiMesh: Map<string, Object3D> = new Map()\n readonly poiEventListener: Set<Function> = new Set()\n private wallManage: WallManage\n private interactionManager\n\n constructor(gobal) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.wallManage = gobal.wall\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n async generatePoi() {\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const option = {\n scale: [80, 80, 1],\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n }],\n }\n const sprite = new SpritePoi(this.getDom(region), option)\n sprite.position.copy(new Vector3().fromArray(region.poi.position))\n\n this.scene.add(sprite)\n this.poiMesh.set(region.poi.id, sprite)\n\n // 绑定事件\n this.interactionManager.add(sprite)\n const changeWallState = (show) => {\n if (this.dialogPoi?.visible)\n return\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = show\n }\n\n sprite.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n sprite.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n const unClick = sprite.addEventListener('click', (event) => {\n if (!sprite.visible)\n return\n this.reset()\n\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = true\n // 隐藏当前POI点\n sprite.visible = false\n this.addDialogPanel(region, event.point)\n }) as Function\n this.poiEventListener.add(unClick)\n })\n }\n\n getDom(data) {\n const dom = document.createElement('div')\n Object.assign(dom.style, {\n fontSize: '18px',\n backgroundImage: `url(${usePath}poi2.png)`,\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n textAlign: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n cursor: 'pointer',\n height: '262px',\n width: `${data.title.length * 36}px`,\n padding: '12px 0 0 25px',\n fontWeight: 'bold',\n })\n dom.innerText = data.title\n return dom\n }\n\n remove() {\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n this.interactionManager.remove(poi)\n poi.removeFromParent()\n poi.remove()\n })\n // 取消事件监听\n this.poiEventListener.forEach((f) => {\n f()\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n this.poiMesh.clear()\n this.poiEventListener.clear()\n }\n\n reset() {\n // 控制POI点的隐藏、显示\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.visible = true\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n // 控制光墙的隐藏、显示\n this.wallManage?.wallMesh.forEach((wall) => {\n wall.visible = false\n })\n }\n\n private addDialogPanel(data, position) {\n // 添加面板\n this.dialogPoi = new Css2DPoi({ title: data.title, content: data.poi.content }, {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n }, {\n type: EAnimationType.print,\n duration: 0.02,\n }],\n })\n this.dialogPoi.position.copy(position.clone().add(new Vector3(-30, 30, 0)))\n this.scene.add(this.dialogPoi)\n\n this.interactionManager.add(this.dialogPoi)\n this.dialogPoi.addEventListener('click', () => {\n this.dialogPoi.remove()\n this.dialogPoi.removeFromParent()\n this.dialogPoi = null\n this.reset()\n })\n }\n}\n\nexport default PoiManage"],"mappings":"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"}
1
+ {"version":3,"names":["Vector3","use","utils","Css2DPoi","EAnimationType","SpritePoi","usePath","regionMap","walllMaterial","PoiManage","gobal","Map","Set","scene","wallManage","wall","interactionManager","storeManagement","get","Object","keys","forEach","key","region","option","scale","animation","type","grow","duration","fadeIn","sprite","getDom","position","copy","fromArray","poi","add","poiMesh","set","id","target","regionPlane","planeMesh","changeWallState","show","dialogPoi","visible","wallMesh","uniforms","value","wallGrowFrame","useframe","addEventListener","unClick","event","reset","addDialogPanel","point","poiEventListener","data","dom","document","createElement","assign","style","fontSize","backgroundImage","backgroundSize","backgroundRepeat","display","justifyContent","alignItems","textAlign","color","pointerEvents","cursor","height","width","title","length","padding","fontWeight","innerText","remove","removeFromParent","f","clear","content","print","clone"],"sources":["../../../src/factory/unit/poi.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { Vector3, use, utils } from '@anov/3d-core'\nimport { Css2DPoi, EAnimationType, SpritePoi } from '@anov/3d-ability'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\nimport { regionMap } from '../regionData'\nimport type WallManage from './wall'\nimport { walllMaterial } from './wall'\n\nclass PoiManage {\n private gobal: Factory3D\n private scene: Scene\n private dialogPoi: Object3D\n readonly poiMesh: Map<string, Object3D> = new Map()\n readonly poiEventListener: Set<Function> = new Set()\n private wallManage: WallManage\n private interactionManager\n\n constructor(gobal) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n this.wallManage = gobal.wall\n this.interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n }\n\n async generatePoi() {\n Object.keys(regionMap).forEach(async (key: string) => {\n const region = regionMap[key]\n const option = {\n scale: [80, 80, 1],\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.2,\n }],\n }\n const sprite = new SpritePoi(this.getDom(region), option)\n sprite.position.copy(new Vector3().fromArray(region.poi.position))\n\n this.scene.add(sprite)\n this.poiMesh.set(region.poi.id, sprite)\n\n // @ts-ignore\n const target = this.gobal.regionPlane.planeMesh.get(region.id)\n\n // 绑定事件\n this.interactionManager.add(sprite)\n const changeWallState = (show) => {\n if (this.dialogPoi?.visible)\n return\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = show\n walllMaterial.uniforms.grow.value = 0\n\n if (show) {\n let wallGrowFrame\n\n if (wallGrowFrame)\n wallGrowFrame()\n\n wallGrowFrame = use.useframe(() => {\n walllMaterial.uniforms.grow.value += 3\n\n if (walllMaterial.uniforms.grow.value > 50)\n wallGrowFrame()\n })\n }\n }\n\n target.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n\n sprite.addEventListener('mouseover', () => {\n if (!sprite.visible)\n return\n changeWallState(true)\n })\n\n target.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n\n sprite.addEventListener('mouseout', () => {\n changeWallState(false)\n })\n\n const unClick = sprite.addEventListener('click', (event) => {\n if (!sprite.visible)\n return\n this.reset()\n\n // 光墙\n const wall = this.wallManage.wallMesh.get(region.id)\n wall.visible = true\n // 隐藏当前POI点\n sprite.visible = false\n\n // let wallGrowFrame\n\n // if (wallGrowFrame)\n // wallGrowFrame()\n\n // walllMaterial.uniforms.grow.value = 0\n\n // wallGrowFrame = use.useframe(() => {\n // walllMaterial.uniforms.grow.value += 3\n // })\n\n this.addDialogPanel(region, event.point)\n }) as Function\n this.poiEventListener.add(unClick)\n })\n }\n\n getDom(data) {\n const dom = document.createElement('div')\n Object.assign(dom.style, {\n fontSize: '18px',\n backgroundImage: `url(${usePath}poi2.png)`,\n backgroundSize: '100% 100%',\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'flex-start',\n textAlign: 'center',\n color: '#fff',\n pointerEvents: 'auto',\n cursor: 'pointer',\n height: '262px',\n width: `${data.title.length * 36}px`,\n padding: '12px 0 0 25px',\n fontWeight: 'bold',\n })\n dom.innerText = data.title\n return dom\n }\n\n remove() {\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n this.interactionManager.remove(poi)\n poi.removeFromParent()\n poi.remove()\n })\n // 取消事件监听\n this.poiEventListener.forEach((f) => {\n f()\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n this.poiMesh.clear()\n this.poiEventListener.clear()\n }\n\n reset() {\n // 控制POI点的隐藏、显示\n // 控制POI点的隐藏、显示\n this.poiMesh.forEach((poi) => {\n poi.visible = true\n })\n // 移除面板\n if (this.dialogPoi)\n this.dialogPoi.removeFromParent()\n // 控制光墙的隐藏、显示\n this.wallManage?.wallMesh.forEach((wall) => {\n wall.visible = false\n })\n }\n\n private addDialogPanel(data, position) {\n // 添加面板\n this.dialogPoi = new Css2DPoi({ title: data.title, content: data.poi.content }, {\n animation: [{\n type: EAnimationType.grow,\n duration: 1,\n }, {\n type: EAnimationType.fadeIn,\n duration: 0.3,\n }, {\n type: EAnimationType.print,\n duration: 0.02,\n }],\n })\n this.dialogPoi.position.copy(position.clone().add(new Vector3(-30, 30, 0)))\n this.scene.add(this.dialogPoi)\n\n this.interactionManager.add(this.dialogPoi)\n this.dialogPoi.addEventListener('click', () => {\n this.dialogPoi.remove()\n this.dialogPoi.removeFromParent()\n this.dialogPoi = null\n this.reset()\n })\n }\n}\n\nexport default PoiManage"],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Object3D } from '@anov/3d-core';
2
+ import { BufferGeometry } from '@anov/3d-core';
3
+ import type Factory3D from '../3d';
4
+ declare class RegionPlane {
5
+ private scene;
6
+ readonly planeMesh: Map<string, Object3D>;
7
+ constructor(gobal: Factory3D);
8
+ generatePlane(): void;
9
+ createFaceGeometry(point1: any, point2: any, point3: any, point4: any): BufferGeometry<import("@anov/3d-core").NormalBufferAttributes>;
10
+ remove(): void;
11
+ }
12
+ export default RegionPlane;
@@ -0,0 +1,73 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
4
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
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
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
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 { BufferAttribute, BufferGeometry, DoubleSide, Mesh, MeshBasicMaterial, Vector3, utils } from '@anov/3d-core';
9
+ import { regionMap } from "../regionData";
10
+ var RegionPlane = /*#__PURE__*/function () {
11
+ function RegionPlane(gobal) {
12
+ _classCallCheck(this, RegionPlane);
13
+ _defineProperty(this, "scene", void 0);
14
+ _defineProperty(this, "planeMesh", new Map());
15
+ this.scene = gobal.scene.scene;
16
+ this.generatePlane();
17
+ }
18
+ _createClass(RegionPlane, [{
19
+ key: "generatePlane",
20
+ value: function generatePlane() {
21
+ var _this = this;
22
+ Object.values(regionMap).forEach(function (region) {
23
+ var area = region.area;
24
+ var areaVector3Arrat = area.map(function (v) {
25
+ return new Vector3(v[0], 20, v[2]);
26
+ });
27
+ var geometry = _this.createFaceGeometry(areaVector3Arrat[0], areaVector3Arrat[1], areaVector3Arrat[2], areaVector3Arrat[3]);
28
+ var plane = new Mesh(geometry, new MeshBasicMaterial({
29
+ color: '#f9ba41',
30
+ side: DoubleSide,
31
+ transparent: true,
32
+ opacity: 0,
33
+ depthTest: false
34
+ }));
35
+ _this.planeMesh.set(region.id, plane);
36
+ utils.storeManagement.get('interactionManager').add(plane);
37
+ _this.scene.add(plane);
38
+ });
39
+ }
40
+ }, {
41
+ key: "createFaceGeometry",
42
+ value: function createFaceGeometry(point1, point2, point3, point4) {
43
+ var vertices = [point1.x, point1.y, point1.z, point2.x, point2.y, point2.z, point3.x, point3.y, point3.z, point4.x, point4.y, point4.z];
44
+ var indices = [0, 1, 2, 0, 2, 3];
45
+ var normal = new Vector3();
46
+ normal.crossVectors(new Vector3(point2.x - point1.x, point2.y - point1.y, point2.z - point1.z), new Vector3(point3.x - point1.x, point3.y - point1.y, point3.z - point1.z));
47
+ normal.normalize();
48
+ var normals = [normal.x, normal.y, normal.z, normal.x, normal.y, normal.z, normal.x, normal.y, normal.z, normal.x, normal.y, normal.z];
49
+ var geometry = new BufferGeometry();
50
+ geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3));
51
+ geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3));
52
+ geometry.setIndex(indices);
53
+ return geometry;
54
+ }
55
+ }, {
56
+ key: "remove",
57
+ value: function remove() {
58
+ this.planeMesh.forEach(function (mesh) {
59
+ mesh.removeFromParent();
60
+ mesh.remove();
61
+
62
+ // @ts-ignore
63
+ mesh.geometry.dispose();
64
+ // @ts-ignore
65
+ mesh.material.dispose();
66
+ });
67
+ this.planeMesh.clear();
68
+ }
69
+ }]);
70
+ return RegionPlane;
71
+ }();
72
+ export default RegionPlane;
73
+ //# sourceMappingURL=region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BufferAttribute","BufferGeometry","DoubleSide","Mesh","MeshBasicMaterial","Vector3","utils","regionMap","RegionPlane","gobal","Map","scene","generatePlane","Object","values","forEach","region","area","areaVector3Arrat","map","v","geometry","createFaceGeometry","plane","color","side","transparent","opacity","depthTest","planeMesh","set","id","storeManagement","get","add","point1","point2","point3","point4","vertices","x","y","z","indices","normal","crossVectors","normalize","normals","setAttribute","Float32Array","setIndex","mesh","removeFromParent","remove","dispose","material","clear"],"sources":["../../../src/factory/unit/region.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BufferAttribute, BufferGeometry, DoubleSide, Mesh, MeshBasicMaterial, Vector3, utils } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { regionMap } from '../regionData'\n\nclass RegionPlane {\n private scene: Scene\n readonly planeMesh: Map<string, Object3D> = new Map()\n\n constructor(gobal: Factory3D) {\n this.scene = gobal.scene.scene\n this.generatePlane()\n }\n\n generatePlane() {\n Object.values(regionMap).forEach((region) => {\n const { area } = region\n const areaVector3Arrat = area.map(v => new Vector3(v[0], 20, v[2]))\n const geometry = this.createFaceGeometry(areaVector3Arrat[0], areaVector3Arrat[1], areaVector3Arrat[2], areaVector3Arrat[3])\n const plane = new Mesh(geometry, new MeshBasicMaterial({ color: '#f9ba41', side: DoubleSide, transparent: true, opacity: 0, depthTest: false }))\n this.planeMesh.set(region.id, plane)\n\n utils.storeManagement.get<InteractionManager>('interactionManager').add(plane)\n\n this.scene.add(plane)\n })\n }\n\n createFaceGeometry(point1, point2, point3, point4) {\n const vertices = [\n point1.x, point1.y, point1.z,\n point2.x, point2.y, point2.z,\n point3.x, point3.y, point3.z,\n point4.x, point4.y, point4.z,\n ]\n\n const indices = [\n 0, 1, 2,\n 0, 2, 3,\n ]\n\n const normal = new Vector3()\n normal.crossVectors(new Vector3(point2.x - point1.x, point2.y - point1.y, point2.z - point1.z),\n new Vector3(point3.x - point1.x, point3.y - point1.y, point3.z - point1.z))\n normal.normalize()\n const normals = [\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n normal.x, normal.y, normal.z,\n ]\n\n const geometry = new BufferGeometry()\n\n geometry.setAttribute('position', new BufferAttribute(new Float32Array(vertices), 3))\n geometry.setAttribute('normal', new BufferAttribute(new Float32Array(normals), 3))\n geometry.setIndex(indices)\n\n return geometry\n }\n\n remove() {\n this.planeMesh.forEach((mesh) => {\n mesh.removeFromParent()\n mesh.remove()\n\n // @ts-ignore\n mesh.geometry.dispose()\n // @ts-ignore\n mesh.material.dispose()\n })\n this.planeMesh.clear()\n }\n}\n\nexport default RegionPlane"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { Object3D } from '@anov/3d-core';
2
+ import { ShaderMaterial } from '@anov/3d-core';
2
3
  import type Factory3D from '../3d';
4
+ export declare const walllMaterial: ShaderMaterial;
3
5
  declare type WallManageOption = {
4
6
  visible?: boolean;
5
7
  };
@@ -48,7 +48,7 @@ var wallPosition = [{
48
48
  belongTo: regionMap.administrative.id,
49
49
  points: regionMap.administrative.area
50
50
  }];
51
- var walllMaterial = new ShaderMaterial({
51
+ export var walllMaterial = new ShaderMaterial({
52
52
  uniforms: {
53
53
  iTime: {
54
54
  value: 0
@@ -63,17 +63,20 @@ var walllMaterial = new ShaderMaterial({
63
63
  value: 1.0
64
64
  },
65
65
  alpha: {
66
- value: 0.2
66
+ value: 0.15
67
67
  },
68
68
  color1: {
69
- value: new Color('#ACFEFE')
69
+ value: new Color('#1fddff')
70
70
  },
71
71
  color2: {
72
- value: new Color('#ACFEFE')
72
+ value: new Color('#1f88ff')
73
+ },
74
+ grow: {
75
+ value: 0.0
73
76
  }
74
77
  },
75
- vertexShader: "varying vec2 vUv;\n\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }",
76
- fragmentShader: "uniform float iTime;\n uniform float size;////\u5FAA\u73AF\n uniform float width;///\u5BBD\u5EA6\n uniform float speed;///\u901F\u5EA6\n uniform float alpha;///\u900F\u660E\u5EA6\n uniform vec3 color1;///\u989C\u82721\n uniform vec3 color2;///\u989C\u82722\n varying vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n \n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - max((uv.y * 8. - 7.), 1. - (uv.y * 8.));\n float dis2 = 1. - (uv.y * 4. - 3.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }\n \n ",
78
+ vertexShader: "\n varying vec2 vUv;\n varying vec3 vPosition;\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 }",
79
+ fragmentShader: "uniform float iTime;\n uniform float size;\n uniform float width;///\u5BBD\u5EA6\n uniform float speed;///\u901F\u5EA6\n uniform float alpha;///\u900F\u660E\u5EA6\n uniform vec3 color1;///\u989C\u82721\n uniform vec3 color2;///\u989C\u82722\n uniform float grow;\n varying vec2 vUv;\n varying vec3 vPosition;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n\n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - (uv.y * 6. - 5.);\n float dis2 = 0.8 - (uv.y * 2. - 1.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n\n if(vPosition.y > grow){\n gl_FragColor.a = 0.0;\n }\n }\n \n ",
77
80
  transparent: true,
78
81
  side: 2,
79
82
  depthTest: false
@@ -93,7 +96,7 @@ var WallManage = /*#__PURE__*/function () {
93
96
  value: function generateWall() {
94
97
  var _this = this;
95
98
  setInterval(function () {
96
- _this.time += 0.0005;
99
+ _this.time += 0.008;
97
100
  walllMaterial.uniforms.iTime.value = _this.time;
98
101
  });
99
102
  wallPosition.forEach(function (item) {
@@ -1 +1 @@
1
- {"version":3,"names":["createRoundLineWallMesh","Color","ShaderMaterial","Vector3","regionMap","wallPosition","label","reform","title","id","belongTo","points","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","walllMaterial","uniforms","iTime","value","size","width","speed","alpha","color1","color2","vertexShader","fragmentShader","transparent","side","depthTest","WallManage","gobal","options","Map","scene","option","setInterval","time","forEach","item","roundLineMesh","map","v","radius","close","visible","wallMesh","set","add"],"sources":["../../../src/factory/unit/wall.ts"],"sourcesContent":["import { createRoundLineWallMesh } from '@anov/3d-ability'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Vector3 } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\n// import wallVertexShader from './glsl/wall/vertexShader.glsl'\n// import wallFragmentShader from './glsl/wall/fragmentShader.glsl'\n\nconst wallPosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n belongTo: regionMap.reform.id,\n points: regionMap.reform.area,\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n belongTo: regionMap.reduction.id,\n points: regionMap.reduction.area,\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n belongTo: regionMap.crudeOil.id,\n points: regionMap.crudeOil.area,\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n belongTo: regionMap.catalyticCracking.id,\n points: regionMap.catalyticCracking.area,\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n belongTo: regionMap.hydrocrackingUnit.id,\n points: regionMap.hydrocrackingUnit.area,\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n belongTo: regionMap.cokingUnit.id,\n points: regionMap.cokingUnit.area,\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n belongTo: regionMap.administrative.id,\n points: regionMap.administrative.area,\n },\n]\n\nconst walllMaterial = new ShaderMaterial({\n uniforms: {\n iTime: {\n value: 0,\n },\n size: {\n value: 16.0,\n },\n width: {\n value: 0.4,\n },\n speed: {\n value: 1.0,\n },\n alpha: {\n value: 0.2,\n },\n color1: {\n value: new Color('#ACFEFE'),\n },\n color2: {\n value: new Color('#ACFEFE'),\n },\n },\n vertexShader: `varying vec2 vUv;\n\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }`,\n fragmentShader: `uniform float iTime;\n uniform float size;////循环\n uniform float width;///宽度\n uniform float speed;///速度\n uniform float alpha;///透明度\n uniform vec3 color1;///颜色1\n uniform vec3 color2;///颜色2\n varying vec2 vUv;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n \n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - max((uv.y * 8. - 7.), 1. - (uv.y * 8.));\n float dis2 = 1. - (uv.y * 4. - 3.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n }\n \n `,\n transparent: true,\n side: 2,\n depthTest: false,\n})\n\ntype WallManageOption = {\n visible?: boolean\n}\nclass WallManage {\n private scene: Scene\n readonly wallMesh: Map<string, Object3D> = new Map()\n private option: WallManageOption\n\n private time = 0\n\n constructor(gobal: Factory3D, options?: WallManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateWall() {\n setInterval(() => {\n this.time += 0.0005\n walllMaterial.uniforms.iTime.value = this.time\n })\n\n wallPosition.forEach((item) => {\n const roundLineMesh = createRoundLineWallMesh(item.points.map(v => new Vector3(v[0], v[1], v[2])), {\n radius: 0,\n close: true,\n }, walllMaterial)\n roundLineMesh.visible = this.option?.visible ?? true\n this.wallMesh.set(item.id, roundLineMesh)\n this.scene.add(roundLineMesh)\n })\n }\n}\n\nexport default WallManage"],"mappings":";;;;;;;AAAA,SAASA,uBAAuB,QAAQ,kBAAkB;AAE1D,SAASC,KAAK,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAE9D,OAAOC,SAAS;;AAEhB;AACA;;AAEA,IAAMC,YAAY,GAAG,CACnB;EACEC,KAAK,EAAEF,SAAS,CAACG,MAAM,CAACC,KAAK;EAC7BC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACG,MAAM,CAACE,EAAE;EAC7BE,MAAM,EAAEP,SAAS,CAACG,MAAM,CAACK;AAC3B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACS,SAAS,CAACL,KAAK;EAChCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACS,SAAS,CAACJ,EAAE;EAChCE,MAAM,EAAEP,SAAS,CAACS,SAAS,CAACD;AAC9B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACU,QAAQ,CAACN,KAAK;EAC/BC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACU,QAAQ,CAACL,EAAE;EAC/BE,MAAM,EAAEP,SAAS,CAACU,QAAQ,CAACF;AAC7B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACW,iBAAiB,CAACP,KAAK;EACxCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACW,iBAAiB,CAACN,EAAE;EACxCE,MAAM,EAAEP,SAAS,CAACW,iBAAiB,CAACH;AACtC,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACY,iBAAiB,CAACR,KAAK;EACxCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACY,iBAAiB,CAACP,EAAE;EACxCE,MAAM,EAAEP,SAAS,CAACY,iBAAiB,CAACJ;AACtC,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACa,UAAU,CAACT,KAAK;EACjCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACa,UAAU,CAACR,EAAE;EACjCE,MAAM,EAAEP,SAAS,CAACa,UAAU,CAACL;AAC/B,CAAC,EACD;EACEN,KAAK,EAAEF,SAAS,CAACc,cAAc,CAACV,KAAK;EACrCC,EAAE,EAAE,GAAG;EACPC,QAAQ,EAAEN,SAAS,CAACc,cAAc,CAACT,EAAE;EACrCE,MAAM,EAAEP,SAAS,CAACc,cAAc,CAACN;AACnC,CAAC,CACF;AAED,IAAMO,aAAa,GAAG,IAAIjB,cAAc,CAAC;EACvCkB,QAAQ,EAAE;IACRC,KAAK,EAAE;MACLC,KAAK,EAAE;IACT,CAAC;IACDC,IAAI,EAAE;MACJD,KAAK,EAAE;IACT,CAAC;IACDE,KAAK,EAAE;MACLF,KAAK,EAAE;IACT,CAAC;IACDG,KAAK,EAAE;MACLH,KAAK,EAAE;IACT,CAAC;IACDI,KAAK,EAAE;MACLJ,KAAK,EAAE;IACT,CAAC;IACDK,MAAM,EAAE;MACNL,KAAK,EAAE,IAAIrB,KAAK,CAAC,SAAS;IAC5B,CAAC;IACD2B,MAAM,EAAE;MACNN,KAAK,EAAE,IAAIrB,KAAK,CAAC,SAAS;IAC5B;EACF,CAAC;EACD4B,YAAY,4IAKV;EACFC,cAAc,45BA8Bb;EACDC,WAAW,EAAE,IAAI;EACjBC,IAAI,EAAE,CAAC;EACPC,SAAS,EAAE;AACb,CAAC,CAAC;AAAA,IAKIC,UAAU;EAOd,oBAAYC,KAAgB,EAAEC,OAA0B,EAAE;IAAA;IAAA;IAAA,kCALf,IAAIC,GAAG,EAAE;IAAA;IAAA,8BAGrC,CAAC;IAGd,IAAI,CAACC,KAAK,GAAGH,KAAK,CAACG,KAAK,CAACA,KAAK;IAC9B,IAAI,CAACC,MAAM,GAAGH,OAAO,IAAI,CAAC,CAAC;EAC7B;EAAC;IAAA;IAAA,OAED,wBAAe;MAAA;MACbI,WAAW,CAAC,YAAM;QAChB,KAAI,CAACC,IAAI,IAAI,MAAM;QACnBtB,aAAa,CAACC,QAAQ,CAACC,KAAK,CAACC,KAAK,GAAG,KAAI,CAACmB,IAAI;MAChD,CAAC,CAAC;MAEFpC,YAAY,CAACqC,OAAO,CAAC,UAACC,IAAI,EAAK;QAAA;QAC7B,IAAMC,aAAa,GAAG5C,uBAAuB,CAAC2C,IAAI,CAAChC,MAAM,CAACkC,GAAG,CAAC,UAAAC,CAAC;UAAA,OAAI,IAAI3C,OAAO,CAAC2C,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;QAAA,EAAC,EAAE;UACjGC,MAAM,EAAE,CAAC;UACTC,KAAK,EAAE;QACT,CAAC,EAAE7B,aAAa,CAAC;QACjByB,aAAa,CAACK,OAAO,2CAAG,KAAI,CAACV,MAAM,iDAAX,aAAaU,OAAO,uEAAI,IAAI;QACpD,KAAI,CAACC,QAAQ,CAACC,GAAG,CAACR,IAAI,CAAClC,EAAE,EAAEmC,aAAa,CAAC;QACzC,KAAI,CAACN,KAAK,CAACc,GAAG,CAACR,aAAa,CAAC;MAC/B,CAAC,CAAC;IACJ;EAAC;EAAA;AAAA;AAGH,eAAeV,UAAU"}
1
+ {"version":3,"names":["createRoundLineWallMesh","Color","ShaderMaterial","Vector3","regionMap","wallPosition","label","reform","title","id","belongTo","points","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","walllMaterial","uniforms","iTime","value","size","width","speed","alpha","color1","color2","grow","vertexShader","fragmentShader","transparent","side","depthTest","WallManage","gobal","options","Map","scene","option","setInterval","time","forEach","item","roundLineMesh","map","v","radius","close","visible","wallMesh","set","add"],"sources":["../../../src/factory/unit/wall.ts"],"sourcesContent":["import { createRoundLineWallMesh } from '@anov/3d-ability'\nimport type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Vector3, use } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\n// import wallVertexShader from './glsl/wall/vertexShader.glsl'\n// import wallFragmentShader from './glsl/wall/fragmentShader.glsl'\n\nconst wallPosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n belongTo: regionMap.reform.id,\n points: regionMap.reform.area,\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n belongTo: regionMap.reduction.id,\n points: regionMap.reduction.area,\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n belongTo: regionMap.crudeOil.id,\n points: regionMap.crudeOil.area,\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n belongTo: regionMap.catalyticCracking.id,\n points: regionMap.catalyticCracking.area,\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n belongTo: regionMap.hydrocrackingUnit.id,\n points: regionMap.hydrocrackingUnit.area,\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n belongTo: regionMap.cokingUnit.id,\n points: regionMap.cokingUnit.area,\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n belongTo: regionMap.administrative.id,\n points: regionMap.administrative.area,\n },\n]\n\nexport const walllMaterial = new ShaderMaterial({\n uniforms: {\n iTime: {\n value: 0,\n },\n size: {\n value: 16.0,\n },\n width: {\n value: 0.4,\n },\n speed: {\n value: 1.0,\n },\n alpha: {\n value: 0.15,\n },\n color1: {\n value: new Color('#1fddff'),\n },\n color2: {\n value: new Color('#1f88ff'),\n },\n grow: {\n value: 0.0,\n },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vPosition;\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 }`,\n fragmentShader: `uniform float iTime;\n uniform float size;\n uniform float width;///宽度\n uniform float speed;///速度\n uniform float alpha;///透明度\n uniform vec3 color1;///颜色1\n uniform vec3 color2;///颜色2\n uniform float grow;\n varying vec2 vUv;\n varying vec3 vPosition;\n \n vec3 colorfix(vec3 color) {\n return vec3(color.r, color.g, color.b);\n }\n \n void mainImage(out vec4 fragColor, in vec2 fragCoord) {\n vec2 uv = vUv;\n vec2 wallUV = uv;\n wallUV.y *= size;\n\n float fwallUV = floor(fract(wallUV.y - iTime * speed) + width);\n float dis = 1. - (uv.y * 6. - 5.);\n float dis2 = 0.8 - (uv.y * 2. - 1.);\n vec3 col = color1 * dis2 + color2 * (1. - dis2);\n fragColor = vec4(col, fwallUV * alpha * dis);\n }\n \n void main() {\n vec2 fragCoord = gl_FragCoord.xy;\n mainImage(gl_FragColor, fragCoord);\n\n if(vPosition.y > grow){\n gl_FragColor.a = 0.0;\n }\n }\n \n `,\n transparent: true,\n side: 2,\n depthTest: false,\n})\n\ntype WallManageOption = {\n visible?: boolean\n}\nclass WallManage {\n private scene: Scene\n readonly wallMesh: Map<string, Object3D> = new Map()\n private option: WallManageOption\n\n private time = 0\n\n constructor(gobal: Factory3D, options?: WallManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateWall() {\n setInterval(() => {\n this.time += 0.008\n walllMaterial.uniforms.iTime.value = this.time\n })\n\n wallPosition.forEach((item) => {\n const roundLineMesh = createRoundLineWallMesh(item.points.map(v => new Vector3(v[0], v[1], v[2])), {\n radius: 0,\n close: true,\n }, walllMaterial)\n roundLineMesh.visible = this.option?.visible ?? true\n this.wallMesh.set(item.id, roundLineMesh)\n this.scene.add(roundLineMesh)\n })\n }\n}\n\nexport default WallManage"],"mappings":"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"}
@@ -15,7 +15,7 @@ export var finirMaterialV2 = new ShaderMaterial({
15
15
  } // 反光强度0.9
16
16
  },
17
17
 
18
- vertexShader: "\n varying vec3 vNormal;\n\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
18
+ vertexShader: "\n varying vec3 vNormal;\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n ",
19
19
  fragmentShader: "\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // \u8BA1\u7B97\u900F\u660E\u5EA6\n float alpha = 0.9; // \u900F\u660E\u5EA6\u7684\u57FA\u7840\u503C\n\n // \u8BA1\u7B97\u8FB9\u7F18\u6548\u679C\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // \u8BA1\u7B97\u53CD\u5149\u6548\u679C\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // \u6700\u7EC8\u989C\u8272\u8BBE\u7F6E\u4E3A\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"\u7684RGB\u503C\n finalColor += reflectionColor; // \u6DFB\u52A0\u53CD\u5149\u6548\u679C\n\n // \u8BBE\u7F6E\u900F\u660E\u5EA6\n gl_FragColor = vec4(finalColor, alpha);\n }\n ",
20
20
  transparent: true,
21
21
  depthWrite: false
@@ -28,13 +28,13 @@ export var finirMaterialV1 = new MeshStandardMaterial({
28
28
  });
29
29
  finirMaterialV1.onBeforeCompile = function (shader) {
30
30
  shader.uniforms.rimColor = {
31
- value: new Color('#99C9E3')
31
+ value: new Color('#f5b68a')
32
32
  };
33
33
  shader.uniforms.rimPower = {
34
- value: 0.9
34
+ value: 0.07
35
35
  };
36
36
  shader.fragmentShader = shader.fragmentShader.replace('void main() {', ['uniform vec3 rimColor;', ' uniform float rimPower;', 'void main() {'].join('\n'));
37
- shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;");
37
+ shader.fragmentShader = shader.fragmentShader.replace('#include <dithering_fragment>', "#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb *= rimColor;\n\n\n float fresnelall = pow(rimPower*dotNV,.7);\n gl_FragColor.a += fresnelall;");
38
38
  };
39
39
  export var createFinirMaterial = function createFinirMaterial(rimColor, rimPower) {
40
40
  var material = new MeshStandardMaterial({
@@ -1 +1 @@
1
- {"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join","createFinirMaterial","material"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.05 }, // 边缘厚度0.05\n reflectionStrength: { value: 100 }, // 反光强度0.9\n },\n vertexShader: `\n varying vec3 vNormal;\n\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: `\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // 计算透明度\n float alpha = 0.9; // 透明度的基础值\n\n // 计算边缘效果\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // 计算反光效果\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // 最终颜色设置为\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"的RGB值\n finalColor += reflectionColor; // 添加反光效果\n\n // 设置透明度\n gl_FragColor = vec4(finalColor, alpha);\n }\n `,\n transparent: true,\n depthWrite: false,\n})\n\nexport const finirMaterialV1 = new MeshStandardMaterial({ /// /这个没有沟边粗细\n opacity: 0.0,\n transparent: true,\n depthWrite: false,\n})\n\nfinirMaterialV1.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color('#99C9E3') }\n shader.uniforms.rimPower = { value: 0.9 }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n ' uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n\n )\n}\n\nexport const createFinirMaterial = (rimColor: string, rimPower: number) => {\n const material = new MeshStandardMaterial({ opacity: 0.0, transparent: true, depthWrite: false })\n material.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color(rimColor) }\n shader.uniforms.rimPower = { value: rimPower }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n 'uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n )\n }\n return material\n}"],"mappings":"AAAA,SAASA,KAAK,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAEpF,OAAO,IAAMC,eAAe,GAAG,IAAIF,cAAc,CAAC;EAChDG,QAAQ,EAAE;IACR;IACAC,SAAS,EAAE;MAAEC,KAAK,EAAE,IAAIJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IAAE;IAClDK,aAAa,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAAE;IAChCE,kBAAkB,EAAE;MAAEF,KAAK,EAAE;IAAI,CAAC,CAAE;EACtC,CAAC;;EACDG,YAAY,qRAOK;EACjBC,cAAc,g6CA0BG;EACjBC,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,OAAO,IAAMC,eAAe,GAAG,IAAIb,oBAAoB,CAAC;EAAE;EACxDc,OAAO,EAAE,GAAG;EACZH,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEFC,eAAe,CAACE,eAAe,GAAG,UAACC,MAAM,EAAK;EAC5CA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;IAAEX,KAAK,EAAE,IAAIP,KAAK,CAAC,SAAS;EAAE,CAAC;EAC1DiB,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;IAAEZ,KAAK,EAAE;EAAI,CAAC;EACzCU,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;EACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,0RAOhC;AACH,CAAC;AAED,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIJ,QAAgB,EAAEC,QAAgB,EAAK;EACzE,IAAMI,QAAQ,GAAG,IAAItB,oBAAoB,CAAC;IAAEc,OAAO,EAAE,GAAG;IAAEH,WAAW,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAM,CAAC,CAAC;EACjGU,QAAQ,CAACP,eAAe,GAAG,UAACC,MAAM,EAAK;IACrCA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;MAAEX,KAAK,EAAE,IAAIP,KAAK,CAACkB,QAAQ;IAAE,CAAC;IACzDD,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;MAAEZ,KAAK,EAAEY;IAAS,CAAC;IAC9CF,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;IACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,kRAMhC;EACH,CAAC;EACD,OAAOG,QAAQ;AACjB,CAAC"}
1
+ {"version":3,"names":["Color","MeshStandardMaterial","ShaderMaterial","Vector3","finirMaterialV2","uniforms","edgeColor","value","edgeThickness","reflectionStrength","vertexShader","fragmentShader","transparent","depthWrite","finirMaterialV1","opacity","onBeforeCompile","shader","rimColor","rimPower","replace","join","createFinirMaterial","material"],"sources":["../../../src/factory/utils/finirMaterial.ts"],"sourcesContent":["import { Color, MeshStandardMaterial, ShaderMaterial, Vector3 } from '@anov/3d-core'\n\nexport const finirMaterialV2 = new ShaderMaterial({\n uniforms: {\n // 在这里定义uniform变量,用于控制透明度、边缘和反光效果\n edgeColor: { value: new Vector3(1.0, 0.0, 0.0) }, // 边缘颜色\n edgeThickness: { value: 0.05 }, // 边缘厚度0.05\n reflectionStrength: { value: 100 }, // 反光强度0.9\n },\n vertexShader: `\n varying vec3 vNormal;\n void main() {\n vNormal = normal;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: `\n varying vec3 vNormal;\n uniform vec3 edgeColor;\n uniform float edgeThickness;\n uniform float reflectionStrength;\n\n void main() {\n // 计算透明度\n float alpha = 0.9; // 透明度的基础值\n\n // 计算边缘效果\n float edge = fwidth(length(vNormal));\n alpha *= smoothstep(0.0, edgeThickness, edge);\n\n // 计算反光效果\n vec3 reflection = reflect(normalize(-vNormal), vec3(0.455, 0.749, 0.890));\n float reflectionIntensity = max(dot(reflection, normalize(-vNormal)), 0.0);\n vec3 reflectionColor = reflectionStrength * reflectionIntensity * edgeColor;\n\n // 最终颜色设置为\"#74bfe3\"\n vec3 finalColor = vec3(0.8, 0.25, 0.145); // \"#74bfe3\"的RGB值\n finalColor += reflectionColor; // 添加反光效果\n\n // 设置透明度\n gl_FragColor = vec4(finalColor, alpha);\n }\n `,\n transparent: true,\n depthWrite: false,\n})\n\nexport const finirMaterialV1 = new MeshStandardMaterial({ /// /这个没有沟边粗细\n opacity: 0.0,\n transparent: true,\n depthWrite: false,\n})\n\nfinirMaterialV1.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color('#f5b68a') }\n shader.uniforms.rimPower = { value: 0.07 }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n ' uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb *= rimColor;\n\n\n float fresnelall = pow(rimPower*dotNV,.7);\n gl_FragColor.a += fresnelall;`,\n\n )\n}\n\nexport const createFinirMaterial = (rimColor: string, rimPower: number) => {\n const material = new MeshStandardMaterial({ opacity: 0.0, transparent: true, depthWrite: false })\n material.onBeforeCompile = (shader) => {\n shader.uniforms.rimColor = { value: new Color(rimColor) }\n shader.uniforms.rimPower = { value: rimPower }\n shader.fragmentShader = shader.fragmentShader.replace(\n 'void main() {',\n [\n 'uniform vec3 rimColor;',\n 'uniform float rimPower;',\n 'void main() {',\n ].join('\\n'),\n )\n shader.fragmentShader = shader.fragmentShader.replace(\n '#include <dithering_fragment>',\n `#include <dithering_fragment>\n float dotNV = 1.0-saturate( dot( normal, geometry.viewDir ) );\n gl_FragColor.rgb += rimPower*dotNV*rimColor;\n vec3 fresnelall =rimPower*dotNV*rimColor;\n gl_FragColor.a +=(fresnelall.r+fresnelall.g+fresnelall.b)/3.;`,\n )\n }\n return material\n}"],"mappings":"AAAA,SAASA,KAAK,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,OAAO,QAAQ,eAAe;AAEpF,OAAO,IAAMC,eAAe,GAAG,IAAIF,cAAc,CAAC;EAChDG,QAAQ,EAAE;IACR;IACAC,SAAS,EAAE;MAAEC,KAAK,EAAE,IAAIJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG;IAAE,CAAC;IAAE;IAClDK,aAAa,EAAE;MAAED,KAAK,EAAE;IAAK,CAAC;IAAE;IAChCE,kBAAkB,EAAE;MAAEF,KAAK,EAAE;IAAI,CAAC,CAAE;EACtC,CAAC;;EACDG,YAAY,mRAMK;EACjBC,cAAc,g6CA0BG;EACjBC,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,OAAO,IAAMC,eAAe,GAAG,IAAIb,oBAAoB,CAAC;EAAE;EACxDc,OAAO,EAAE,GAAG;EACZH,WAAW,EAAE,IAAI;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEFC,eAAe,CAACE,eAAe,GAAG,UAACC,MAAM,EAAK;EAC5CA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;IAAEX,KAAK,EAAE,IAAIP,KAAK,CAAC,SAAS;EAAE,CAAC;EAC1DiB,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;IAAEZ,KAAK,EAAE;EAAK,CAAC;EAC1CU,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;EACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,gPAShC;AACH,CAAC;AAED,OAAO,IAAME,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIJ,QAAgB,EAAEC,QAAgB,EAAK;EACzE,IAAMI,QAAQ,GAAG,IAAItB,oBAAoB,CAAC;IAAEc,OAAO,EAAE,GAAG;IAAEH,WAAW,EAAE,IAAI;IAAEC,UAAU,EAAE;EAAM,CAAC,CAAC;EACjGU,QAAQ,CAACP,eAAe,GAAG,UAACC,MAAM,EAAK;IACrCA,MAAM,CAACZ,QAAQ,CAACa,QAAQ,GAAG;MAAEX,KAAK,EAAE,IAAIP,KAAK,CAACkB,QAAQ;IAAE,CAAC;IACzDD,MAAM,CAACZ,QAAQ,CAACc,QAAQ,GAAG;MAAEZ,KAAK,EAAEY;IAAS,CAAC;IAC9CF,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,eAAe,EACf,CACE,wBAAwB,EACxB,yBAAyB,EACzB,eAAe,CAChB,CAACC,IAAI,CAAC,IAAI,CAAC,CACb;IACDJ,MAAM,CAACN,cAAc,GAAGM,MAAM,CAACN,cAAc,CAACS,OAAO,CACnD,+BAA+B,kRAMhC;EACH,CAAC;EACD,OAAOG,QAAQ;AACjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anov/3d",
3
- "version": "0.0.49",
3
+ "version": "0.0.50",
4
4
  "description": "",
5
5
  "author": "",
6
6
  "license": "MIT",