@anov/3d 0.0.91 → 0.0.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factory/3d.js +11 -11
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/districtLine.d.ts +2 -0
- package/dist/factory/unit/districtLine.js +13 -0
- package/dist/factory/unit/districtLine.js.map +1 -1
- package/dist/factory/unit/handle.js +7 -0
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/factory/unit/index.js +7 -0
- package/dist/factory/unit/index.js.map +1 -1
- package/dist/factory/unit/slice.d.ts +12 -0
- package/dist/factory/unit/slice.js +122 -0
- package/dist/factory/unit/slice.js.map +1 -0
- package/dist/module/environment/index.d.ts +3 -1
- package/dist/module/environment/index.js +8 -7
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/time/index.d.ts +1 -3
- package/dist/module/environment/time/index.js +10 -11
- package/dist/module/environment/time/index.js.map +1 -1
- package/dist/module/scene/index.d.ts +5 -2
- package/dist/module/scene/index.js +10 -1
- package/dist/module/scene/index.js.map +1 -1
- package/dist/sdkEntry.js +5 -6
- package/dist/sdkEntry.js.map +1 -1
- package/package.json +3 -3
package/dist/factory/3d.js
CHANGED
|
@@ -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 { AdditiveBlending, Color,
|
|
8
|
+
import { AdditiveBlending, Color, InteractionManager, LoadingManager, Mesh, ModelLoader, PlaneGeometry, RepeatWrapping, 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";
|
|
@@ -16,10 +16,10 @@ import createRiseLayer from "./unit/layer/rise";
|
|
|
16
16
|
import { targetProgresspoints } from "./unit/inspection/lineData";
|
|
17
17
|
import frag from "./unit/glsl/heat/frag";
|
|
18
18
|
import vert from "./unit/glsl/heat/ver";
|
|
19
|
-
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
|
+
var vertexShader = /* glsl */"\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");
|
|
20
20
|
|
|
21
21
|
// Fragment shader
|
|
22
|
-
var fragmentShader = "\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n
|
|
22
|
+
var fragmentShader = /* glsl */"\n ".concat(ShaderChunk.logdepthbuf_pars_fragment, " \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n }\n");
|
|
23
23
|
export var loadingManager = new LoadingManager();
|
|
24
24
|
var load = new ModelLoader(loadingManager);
|
|
25
25
|
var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
@@ -142,6 +142,10 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
142
142
|
|
|
143
143
|
gltf.scene.traverse(function (child) {
|
|
144
144
|
child.layers.enable(5);
|
|
145
|
+
if (child.type === 'Mesh') {
|
|
146
|
+
child.castShadow = true;
|
|
147
|
+
child.receiveShadow = true;
|
|
148
|
+
}
|
|
145
149
|
});
|
|
146
150
|
scene.add(_this.realTreeModel);
|
|
147
151
|
return gltf;
|
|
@@ -180,6 +184,10 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
180
184
|
|
|
181
185
|
gltf.scene.traverse(function (child) {
|
|
182
186
|
child.layers.enable(5);
|
|
187
|
+
if (child.type === 'Mesh') {
|
|
188
|
+
child.castShadow = true;
|
|
189
|
+
child.receiveShadow = true;
|
|
190
|
+
}
|
|
183
191
|
});
|
|
184
192
|
handleUnit.call(_this2);
|
|
185
193
|
return gltf;
|
|
@@ -298,13 +306,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
298
306
|
_this2.realGroundModel = gltf.scene;
|
|
299
307
|
return gltf;
|
|
300
308
|
});
|
|
301
|
-
rgbeLoader.setPath("".concat(this.usePath)).load('demo.hdr', function (texture) {
|
|
302
|
-
texture.mapping = EquirectangularReflectionMapping;
|
|
303
|
-
texture.colorSpace = SRGBColorSpace;
|
|
304
|
-
_this2.boxSkeyTexture = texture;
|
|
305
|
-
_this2.scene.scene.environment = texture;
|
|
306
|
-
_this2.scene.scene.background = new Color('#ccc');
|
|
307
|
-
});
|
|
308
309
|
}
|
|
309
310
|
|
|
310
311
|
/**
|
|
@@ -332,7 +333,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
332
333
|
this.realGroundModel && (this.realGroundModel.visible = true);
|
|
333
334
|
this.realTreeModel && (this.realTreeModel.visible = true);
|
|
334
335
|
this.scene.scene.background = new Color('#ccc');
|
|
335
|
-
this.scene.scene.environment = this.boxSkeyTexture;
|
|
336
336
|
this.scene.renderer.toneMappingExposure = 0.4;
|
|
337
337
|
}
|
|
338
338
|
}
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AdditiveBlending","Color","EquirectangularReflectionMapping","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","SRGBColorSpace","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","loadGLTF","gltf","realTreeModel","traverse","child","enable","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","type","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","blending","opacity","depthTest","map","offset","tech","techModel","targerMeshName","Object","values","v","lookAt","texture1","texture2","uvScale","includes","thermaLimaging","pipeline","realGroundModel","setPath","texture","mapping","colorSpace","boxSkeyTexture","environment","background","params","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nconst vertexShader = `\n${ShaderChunk.logdepthbuf_pars_vertex}\nbool isPerspectiveMatrix(mat4) {\n return true;\n }\n varying vec2 vUv;\n varying vec3 vPosition;\n\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n vec4 worldPosition1 = modelMatrix * vec4(position, 1.0);\n vPosition = worldPosition1.xyz;\n ${ShaderChunk.logdepthbuf_vertex}\n }\n`\n\n// Fragment shader\nconst fragmentShader = `\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n // depthTest: false,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n })\n\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 gltf.scene.traverse((child) => {\n child.layers.enable(5)\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n 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(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderChunk","ShaderMaterial","TextureLoader","Vector2","Vector3","Vector4","lib","use","utils","Camera","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","frag","vert","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","_Texture","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","material","transparent","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","blending","opacity","depthTest","map","offset","tech","techModel","targerMeshName","Object","values","v","lookAt","texture1","texture2","uvScale","includes","thermaLimaging","pipeline","realGroundModel","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\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 = /* glsl */`\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 = /* glsl */`\n ${ShaderChunk.logdepthbuf_pars_fragment} \n\n uniform sampler2D _Texture;\n uniform sampler2D _TexturePlane;\n //uniform vec4 _Texture_ST;\n uniform vec4 _Color;\n uniform float _ColorS;\n uniform sampler2D _TextureMask;\n uniform float _MaskUV;\n uniform vec4 _ColorMask;\n uniform float _ColorMaskS;\n //uniform vec4 _Speed;\n //uniform float _OP;\n uniform float _Time; \n varying vec2 vUv;\n varying vec3 vPosition;\n\n\n\n void main() {\n vec4 _ColorMask_ =vec4(0.,0.6,1.,1.);\n\n vec3 temp_cast_0 = vec3(0.2);\n vec4 o = vec4(temp_cast_0, 1.0);\n vec2 uv_Texture = vUv * 10.0;\n vec4 tex2DNode1 = texture2D(_Texture, uv_Texture);\n vec4 tex2DNode2 = texture2D(_TexturePlane, uv_Texture);\n vec2 temp_cast_1 = vec2(_MaskUV)* 3.0;\n vec2 uv_TexCoord7 = vUv * temp_cast_1;\n vec2 panner6 = (vec2(_Time,_Time)+ uv_TexCoord7);\n o.rgb = ((tex2DNode2*0.1)+(_Color * tex2DNode1.r * _ColorS) + (_ColorMask_ * (tex2DNode1.r * texture2D(_TextureMask, panner6).r) * _ColorMaskS*10.)).rgb;\n //o.a = _OP;\n gl_FragColor = o;\n gl_FragColor.a = 1.0;\n \n if(vPosition.x>-550.0 && vPosition.x<550.0 && vPosition.z>-300.0 && vPosition.z<270.0){\n gl_FragColor.a = 0.0;\n }else{\n gl_FragColor.a = .85;\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n }\n`\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nconst _Texture = new TextureLoader().load(`${usePath}demo03.jpg`)\nconst _Texture2 = new TextureLoader().load(`${usePath}demo04.jpg`)\nconst _Texture3 = new TextureLoader().load(`${usePath}test04.jpg`)\n\n_Texture.wrapS = RepeatWrapping\n_Texture.wrapT = RepeatWrapping\n\n_Texture2.wrapS = RepeatWrapping\n_Texture2.wrapT = RepeatWrapping\n\n_Texture3.wrapS = RepeatWrapping\n_Texture3.wrapT = RepeatWrapping\n\n_Texture.repeat.set(5000, 5000)\n_Texture2.repeat.set(10, 10)\n_Texture3.repeat.set(5000, 5000)\n\nconst uniforms = {\n _Texture: { value: _Texture },\n _Texture_ST: { value: new Vector4() },\n _Color: { value: new Vector4(new Color('#096ddb').r, new Color('#096ddb').g, new Color('#096ddb').b, 0.5) },\n _ColorS: { value: 1 },\n _TextureMask: { value: _Texture2 },\n _TexturePlane: { value: _Texture3 },\n _MaskUV: { value: 1 },\n _ColorMask: { value: new Vector4(new Color('#fff').r, new Color('#fff').g, new Color('#fff').b, 1) },\n _ColorMaskS: { value: 1 },\n _Speed: { value: new Vector4(0.0, 0.2, 0, 0) },\n _OP: { value: 1.0 },\n _Time: { value: 1.0 },\n}\n\nconst material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n // depthTest: false,\n})\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n\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.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n }\n }\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,5 +1,6 @@
|
|
|
1
1
|
import { Mesh } from '@anov/3d-core';
|
|
2
2
|
import type { Object3D } from '@anov/3d-core';
|
|
3
|
+
import type { createBloomSelectedTool } from '@anov/3d-ability';
|
|
3
4
|
import type Factory3D from '../3d';
|
|
4
5
|
declare class DistrictLineManage {
|
|
5
6
|
private gobal;
|
|
@@ -7,6 +8,7 @@ declare class DistrictLineManage {
|
|
|
7
8
|
readonly lineMesh: Map<string, Object3D>;
|
|
8
9
|
activeLine: Mesh;
|
|
9
10
|
color: string;
|
|
11
|
+
bloomSelected: ReturnType<typeof createBloomSelectedTool>['bloomSelected'];
|
|
10
12
|
isShow: boolean;
|
|
11
13
|
constructor(gobal: Factory3D);
|
|
12
14
|
generateLine(): void;
|
|
@@ -19,9 +19,20 @@ var DistrictLineManage = /*#__PURE__*/function () {
|
|
|
19
19
|
_defineProperty(this, "lineMesh", new Map());
|
|
20
20
|
_defineProperty(this, "activeLine", void 0);
|
|
21
21
|
_defineProperty(this, "color", '#94786c');
|
|
22
|
+
_defineProperty(this, "bloomSelected", void 0);
|
|
22
23
|
_defineProperty(this, "isShow", false);
|
|
23
24
|
this.gobal = gobal;
|
|
24
25
|
this.scene = gobal.scene.scene;
|
|
26
|
+
|
|
27
|
+
// const { bloomSelected } = createBloomSelectedTool(
|
|
28
|
+
// {
|
|
29
|
+
// strength: 2.8,
|
|
30
|
+
// radius: 0.4,
|
|
31
|
+
// threshold: 0,
|
|
32
|
+
// },
|
|
33
|
+
// )
|
|
34
|
+
|
|
35
|
+
// this.bloomSelected = bloomSelected
|
|
25
36
|
}
|
|
26
37
|
_createClass(DistrictLineManage, [{
|
|
27
38
|
key: "generateLine",
|
|
@@ -59,6 +70,8 @@ var DistrictLineManage = /*#__PURE__*/function () {
|
|
|
59
70
|
return _ref.apply(this, arguments);
|
|
60
71
|
};
|
|
61
72
|
}());
|
|
73
|
+
|
|
74
|
+
// this.bloomSelected([...this.lineMesh.values()])
|
|
62
75
|
}
|
|
63
76
|
}, {
|
|
64
77
|
key: "setHighLightLine",
|
|
@@ -1 +1 @@
|
|
|
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","setMeshMaterial","activeLine","get","removeFromParent","remove","clear","removeHighLightLine"],"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 activeLine: Mesh\n color = '#94786c'\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: this.color })\n const mesh = new Mesh(geometry, material)\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n }\n\n setHighLightLine(id) {\n this.setMeshMaterial(this.activeLine)\n this.activeLine = (this.lineMesh.get(id) as Mesh)\n this.setMeshMaterial(this.activeLine, '#f2ca0c')\n }\n\n setMeshMaterial(mesh, color = this.color) {\n if (mesh)\n mesh.material = new MeshBasicMaterial({ color })\n }\n\n removeHighLightLine() {\n this.setMeshMaterial(this.activeLine)\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 this.removeHighLightLine()\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;
|
|
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","setMeshMaterial","activeLine","get","removeFromParent","remove","clear","removeHighLightLine"],"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 type { createBloomSelectedTool } from '@anov/3d-ability'\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 activeLine: Mesh\n color = '#94786c'\n\n bloomSelected: ReturnType<typeof createBloomSelectedTool>['bloomSelected']\n isShow = false\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n\n // const { bloomSelected } = createBloomSelectedTool(\n // {\n // strength: 2.8,\n // radius: 0.4,\n // threshold: 0,\n // },\n // )\n\n // this.bloomSelected = bloomSelected\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: this.color })\n const mesh = new Mesh(geometry, material)\n\n this.scene.add(mesh)\n this.lineMesh.set(region.id, mesh)\n })\n\n // this.bloomSelected([...this.lineMesh.values()])\n }\n\n setHighLightLine(id) {\n this.setMeshMaterial(this.activeLine)\n this.activeLine = (this.lineMesh.get(id) as Mesh)\n this.setMeshMaterial(this.activeLine, '#f2ca0c')\n }\n\n setMeshMaterial(mesh, color = this.color) {\n if (mesh)\n mesh.material = new MeshBasicMaterial({ color })\n }\n\n removeHighLightLine() {\n this.setMeshMaterial(this.activeLine)\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 this.removeHighLightLine()\n }\n}\n\nexport default DistrictLineManage"],"mappings":"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"}
|
|
@@ -24,6 +24,13 @@ var HandlerManage = /*#__PURE__*/function () {
|
|
|
24
24
|
_classCallCheck(this, HandlerManage);
|
|
25
25
|
_defineProperty(this, "app", void 0);
|
|
26
26
|
this.app = app;
|
|
27
|
+
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
this.app.environment.sun.children[0].layers.enable(5);
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
this.app.environment.setTime({
|
|
32
|
+
time: 1000
|
|
33
|
+
});
|
|
27
34
|
}
|
|
28
35
|
_createClass(HandlerManage, [{
|
|
29
36
|
key: "clickPerson",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","districtLine","removeHighLightLine","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject","toggleView","viewType"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import { regionMap } from '../regionData'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.04,\n HPU: 0.15,\n LLCV: 0.24,\n CMP1: 0.40,\n CMP2: 0.68,\n}\n\nexport const invertMap = {\n 0.04: 'HF',\n 0.15: 'HPU',\n 0.24: 'LLCV',\n 0.40: 'CMP1',\n 0.68: 'CMP2',\n}\n\nclass HandlerManage implements BaseModule {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n }\n\n clickPerson(params: any) {\n this.click(params.id)\n }\n\n clickBar(params: any) {\n this.click(params.title)\n }\n\n clickCamera(params: any) {\n this.click(params.id)\n }\n\n clickGasCancel() {\n // @ts-ignore\n this.app.caseInstance.cameraPoi.closeHotmap()\n }\n\n releaseBar() {\n // @ts-ignore\n this.app.caseInstance.cylinder.setVisible()\n // @ts-ignore\n this.app.caseInstance.circle.remove()\n // @ts-ignore\n this.app.caseInstance.districtLine.removeHighLightLine()\n }\n\n click(name) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(name)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n setInspectTarget(params: { target: string }) {\n const { target } = params\n\n // @ts-ignore\n return this.app.caseInstance.inspection.goToInspectionTarget(map[target])\n }\n\n stopInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.stop()\n }\n\n continueInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.contineMove()\n }\n\n highlightInspectTarget(params: { target: string; highlight: boolean }) {\n // @ts-ignore\n this.app.caseInstance.inspection.setSelectedAnchorObject(params)\n }\n\n setViewType(params: { viewType: string }) {\n // @ts-ignore\n this.app.caseInstance.toggleView(params.viewType)\n }\n}\n\nexport default HandlerManage\n"],"mappings":";;;;;;;AAIA,OAAO,IAAMA,GAAG,GAAG;EACjBC,EAAE,EAAE,IAAI;EACRC,GAAG,EAAE,IAAI;EACTC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE,IAAI;EACVC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,IAAMC,SAAS,GAAG;EACvB,IAAI,EAAE,IAAI;EACV,IAAI,EAAE,KAAK;EACX,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE,MAAM;EACZ,IAAI,EAAE;AACR,CAAC;AAAA,IAEKC,aAAa;EAEjB,uBAAYC,GAAW,EAAE;IAAA;IAAA;IACvB,IAAI,CAACA,GAAG,GAAGA,GAAG;
|
|
1
|
+
{"version":3,"names":["map","HF","HPU","LLCV","CMP1","CMP2","invertMap","HandlerManage","app","environment","sun","children","layers","enable","setTime","time","params","click","id","title","caseInstance","cameraPoi","closeHotmap","cylinder","setVisible","circle","remove","districtLine","removeHighLightLine","name","object","sceneControl","scene","getObjectByName","console","log","dispatchEvent","type","target","inspection","goToInspectionTarget","inspectionObject","stop","contineMove","setSelectedAnchorObject","toggleView","viewType"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import { regionMap } from '../regionData'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\n\nexport const map = {\n HF: 0.04,\n HPU: 0.15,\n LLCV: 0.24,\n CMP1: 0.40,\n CMP2: 0.68,\n}\n\nexport const invertMap = {\n 0.04: 'HF',\n 0.15: 'HPU',\n 0.24: 'LLCV',\n 0.40: 'CMP1',\n 0.68: 'CMP2',\n}\n\nclass HandlerManage implements BaseModule {\n app: Anov3D\n constructor(app: Anov3D) {\n this.app = app\n\n // @ts-ignore\n this.app.environment.sun.children[0].layers.enable(5)\n // @ts-ignore\n this.app.environment.setTime({ time: 1000 })\n }\n\n clickPerson(params: any) {\n this.click(params.id)\n }\n\n clickBar(params: any) {\n this.click(params.title)\n }\n\n clickCamera(params: any) {\n this.click(params.id)\n }\n\n clickGasCancel() {\n // @ts-ignore\n this.app.caseInstance.cameraPoi.closeHotmap()\n }\n\n releaseBar() {\n // @ts-ignore\n this.app.caseInstance.cylinder.setVisible()\n // @ts-ignore\n this.app.caseInstance.circle.remove()\n // @ts-ignore\n this.app.caseInstance.districtLine.removeHighLightLine()\n }\n\n click(name) {\n // 根据名称动态获取Mesh对象\n const object = this.app.sceneControl.scene!.getObjectByName(name)\n\n // 触发事件\n if (object) {\n console.log('Mesh对象已找到!')\n // 手动调用Mesh对象上的点击事件处理函数\n object.dispatchEvent({ type: 'click' })\n }\n else {\n console.log('未找到Mesh对象!')\n }\n }\n\n setInspectTarget(params: { target: string }) {\n const { target } = params\n\n // @ts-ignore\n return this.app.caseInstance.inspection.goToInspectionTarget(map[target])\n }\n\n stopInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.stop()\n }\n\n continueInspect() {\n // @ts-ignore\n this.app.caseInstance.inspection.inspectionObject.contineMove()\n }\n\n highlightInspectTarget(params: { target: string; highlight: boolean }) {\n // @ts-ignore\n this.app.caseInstance.inspection.setSelectedAnchorObject(params)\n }\n\n setViewType(params: { viewType: string }) {\n // @ts-ignore\n this.app.caseInstance.toggleView(params.viewType)\n }\n}\n\nexport default HandlerManage\n"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import Inspection from "./inspection";
|
|
|
18
18
|
import CameraPoi from "./CameraPoi";
|
|
19
19
|
import DistrictLineManage from "./districtLine";
|
|
20
20
|
import RegionPlane from "./region";
|
|
21
|
+
import SliceManage from "./slice";
|
|
21
22
|
var emitter = utils.emitter;
|
|
22
23
|
|
|
23
24
|
// 临时优化
|
|
@@ -35,12 +36,14 @@ var showPeopleManagemen = function showPeopleManagemen() {
|
|
|
35
36
|
this.cylinder.cylinderMesh.forEach(function (mesh) {
|
|
36
37
|
mesh.visible = true;
|
|
37
38
|
});
|
|
39
|
+
if (this.slice) this.slice.mesh.visible = true;
|
|
38
40
|
};
|
|
39
41
|
var closePeopleManagemen = function closePeopleManagemen() {
|
|
40
42
|
this.cylinder.cylinderMesh.forEach(function (mesh) {
|
|
41
43
|
mesh.visible = false;
|
|
42
44
|
});
|
|
43
45
|
this.circle.remove();
|
|
46
|
+
if (this.slice) this.slice.mesh.visible = false;
|
|
44
47
|
};
|
|
45
48
|
var showSmartInspection = function showSmartInspection() {
|
|
46
49
|
this.inspection.show();
|
|
@@ -135,6 +138,10 @@ export var toggleTag = (_toggleTag = {}, _defineProperty(_toggleTag, SceneTag.ov
|
|
|
135
138
|
this.scene.controls.enableRotate = true;
|
|
136
139
|
this.scene.controls.enableZoom = true;
|
|
137
140
|
this.tag = SceneTag['people-management'];
|
|
141
|
+
if (!this.slice) {
|
|
142
|
+
this.slice = new SliceManage(this);
|
|
143
|
+
this.slice.generateSlice();
|
|
144
|
+
}
|
|
138
145
|
this.toggleSceneStyle(SceneStyle.tech);
|
|
139
146
|
togglePeopleManagemen.apply(this);
|
|
140
147
|
}), _defineProperty(_toggleTag, SceneTag['smart-inspection'], function () {
|
|
@@ -1 +1 @@
|
|
|
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","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { 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 else\n this.districtLine.removeHighLightLine()\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 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\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.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 const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\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 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 this.districtLine.setHighLightLine(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","SliceManage","emitter","showOverview","poi","generatePoi","closeOverview","wall","wallMesh","forEach","mesh","visible","remove","showPeopleManagemen","cylinder","cylinderMesh","slice","closePeopleManagemen","circle","showSmartInspection","inspection","show","closeSmartInspection","hide","closeCameraPoiInspection","cameraPoi","showCameraPoiInspection","generateObject","toggleOverview","districtLine","isShow","generateLine","removeHighLightLine","scene","camera","layers","disable","apply","regionPlane","planeMesh","togglePeopleManagemen","enable","toggleSmartInspection","toggleSecurityOperation","toggleStandBy","toggleTag","overview","cutoutCamera","minCamera","mainCamera","emit","controls","enableRotate","enableZoom","tag","toggleSceneStyle","real","generateSlice","tech","defaultFirstPerspectiveControls","enabled","standBy","handleUnit","generateWall","generateCylinder","on","data","Event","Success","undefined","type","generateCircle","belongTo","setHighLightLine","areaBoundingBox","generateBoundingBox","addEventListener","args","item"],"sources":["../../../src/factory/unit/index.ts"],"sourcesContent":["import { 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'\nimport SliceManage from './slice'\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 if (this.slice)\n this.slice.mesh.visible = true\n}\n\nconst closePeopleManagemen = function () {\n this.cylinder.cylinderMesh.forEach((mesh) => {\n mesh.visible = false\n })\n this.circle.remove()\n if (this.slice)\n this.slice.mesh.visible = false\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 else\n this.districtLine.removeHighLightLine()\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 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\nconst toggleStandBy = function () {\n this.districtLine.remove()\n this.scene.camera.layers.disable(28)\n closeOverview.apply(this)\n closePeopleManagemen.apply(this)\n closeSmartInspection.apply(this)\n closeCameraPoiInspection.apply(this)\n\n this.regionPlane.planeMesh.forEach((mesh) => {\n mesh.visible = false\n })\n}\n\nexport const toggleTag = {\n [SceneTag.overview]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.overview\n this.toggleSceneStyle(SceneStyle.real)\n toggleOverview.apply(this)\n },\n [SceneTag['people-management']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['people-management']\n\n if (!this.slice) {\n this.slice = new SliceManage(this)\n this.slice.generateSlice()\n }\n\n this.toggleSceneStyle(SceneStyle.tech)\n togglePeopleManagemen.apply(this)\n },\n [SceneTag['smart-inspection']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.inspection.defaultFirstPerspectiveControls && (this.inspection.defaultFirstPerspectiveControls.enabled = false)\n this.scene.controls.enableRotate = false\n this.scene.controls.enableZoom = false\n\n this.tag = SceneTag['smart-inspection']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSmartInspection.apply(this)\n },\n [SceneTag['security-operation']]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag['security-operation']\n this.toggleSceneStyle(SceneStyle.real)\n toggleSecurityOperation.apply(this)\n },\n [SceneTag.standBy]() {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n utils.emitter.emit('stop')\n }\n\n this.scene.controls.enableRotate = true\n this.scene.controls.enableZoom = true\n this.tag = SceneTag.standBy\n this.toggleSceneStyle(SceneStyle.real)\n toggleStandBy.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 const regionPlane = new RegionPlane(this)\n this.regionPlane = regionPlane\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 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 this.districtLine.setHighLightLine(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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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Group, ShaderMaterial } from '@anov/3d-core';
|
|
2
|
+
import type Factory3D from '../3d';
|
|
3
|
+
declare class SliceManage {
|
|
4
|
+
private gobal;
|
|
5
|
+
private scene;
|
|
6
|
+
mesh: Group;
|
|
7
|
+
private pointCount;
|
|
8
|
+
constructor(gobal: Factory3D);
|
|
9
|
+
generateSlice(): void;
|
|
10
|
+
createRandomPlane(material: ShaderMaterial): Group;
|
|
11
|
+
}
|
|
12
|
+
export default SliceManage;
|
|
@@ -0,0 +1,122 @@
|
|
|
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 { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use } from '@anov/3d-core';
|
|
9
|
+
import { usePath } from "../3d";
|
|
10
|
+
var shader = {
|
|
11
|
+
fragmentShader: "\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////\u6570\u636E\u8FD9\u5757\u5FC5\u987B\u5199\u6B7B\u7684\u4E2A\u6570 \u4E0D\u7136\u62A5\u9519\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\t\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.;\t\t\t\t\t \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\t\t\t\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }",
|
|
12
|
+
vertexShader: "varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \n vNormal =normalize( normal ) ;\n worldPosition = modelMatrix * vec4( position, 1.0 );\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n\n\n }"
|
|
13
|
+
};
|
|
14
|
+
var SliceManage = /*#__PURE__*/function () {
|
|
15
|
+
function SliceManage(gobal) {
|
|
16
|
+
_classCallCheck(this, SliceManage);
|
|
17
|
+
_defineProperty(this, "gobal", void 0);
|
|
18
|
+
_defineProperty(this, "scene", void 0);
|
|
19
|
+
_defineProperty(this, "mesh", void 0);
|
|
20
|
+
_defineProperty(this, "pointCount", 400);
|
|
21
|
+
this.gobal = gobal;
|
|
22
|
+
this.scene = gobal.scene.scene;
|
|
23
|
+
}
|
|
24
|
+
_createClass(SliceManage, [{
|
|
25
|
+
key: "generateSlice",
|
|
26
|
+
value: function generateSlice() {
|
|
27
|
+
var textureLoader = new TextureLoader();
|
|
28
|
+
var uniforms = {
|
|
29
|
+
fogDensity: {
|
|
30
|
+
value: 0.45
|
|
31
|
+
},
|
|
32
|
+
fogColor: {
|
|
33
|
+
value: new Vector3(0, 0, 0)
|
|
34
|
+
},
|
|
35
|
+
time: {
|
|
36
|
+
value: 1.0
|
|
37
|
+
},
|
|
38
|
+
HeatDate: {
|
|
39
|
+
value: []
|
|
40
|
+
},
|
|
41
|
+
texture1: {
|
|
42
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi01.png"))
|
|
43
|
+
},
|
|
44
|
+
texture2: {
|
|
45
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi02.png"))
|
|
46
|
+
},
|
|
47
|
+
texture3: {
|
|
48
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi03.png"))
|
|
49
|
+
},
|
|
50
|
+
texture4: {
|
|
51
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi04.png"))
|
|
52
|
+
},
|
|
53
|
+
texture5: {
|
|
54
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi05.png"))
|
|
55
|
+
},
|
|
56
|
+
texture6: {
|
|
57
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi06.png"))
|
|
58
|
+
},
|
|
59
|
+
texture7: {
|
|
60
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi07.png"))
|
|
61
|
+
},
|
|
62
|
+
texture8: {
|
|
63
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi08.png"))
|
|
64
|
+
},
|
|
65
|
+
texture9: {
|
|
66
|
+
value: textureLoader.load("".concat(usePath, "p2/sequ/xuebi09.png"))
|
|
67
|
+
},
|
|
68
|
+
meshid: {
|
|
69
|
+
value: 1.0
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping;
|
|
73
|
+
uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping;
|
|
74
|
+
uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping;
|
|
75
|
+
uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping;
|
|
76
|
+
uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping;
|
|
77
|
+
uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping;
|
|
78
|
+
uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping;
|
|
79
|
+
uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping;
|
|
80
|
+
uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping;
|
|
81
|
+
var material = new ShaderMaterial({
|
|
82
|
+
uniforms: uniforms,
|
|
83
|
+
vertexShader: shader.vertexShader,
|
|
84
|
+
fragmentShader: shader.fragmentShader,
|
|
85
|
+
transparent: true,
|
|
86
|
+
side: DoubleSide,
|
|
87
|
+
depthTest: false
|
|
88
|
+
});
|
|
89
|
+
this.mesh = this.createRandomPlane(material);
|
|
90
|
+
this.scene.add(this.mesh);
|
|
91
|
+
var clock = new Clock();
|
|
92
|
+
use.useframe(function () {
|
|
93
|
+
uniforms.time.value += clock.getDelta();
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
key: "createRandomPlane",
|
|
98
|
+
value: function createRandomPlane(material) {
|
|
99
|
+
var size = Math.random() * 25; // 随机高度,最大50
|
|
100
|
+
var group = new Group();
|
|
101
|
+
for (var i = 0; i < this.pointCount; i++) {
|
|
102
|
+
var geometry = new PlaneGeometry(size, size);
|
|
103
|
+
var plane = new Mesh(geometry, material);
|
|
104
|
+
// 随机位置
|
|
105
|
+
var x = void 0,
|
|
106
|
+
y = void 0;
|
|
107
|
+
while (true) {
|
|
108
|
+
x = Math.random() * (100 - 2 * size) + size + Math.floor((Math.random() - 0.5) * 40) * 100;
|
|
109
|
+
y = Math.random() * (100 - 2 * size) + size + Math.floor((Math.random() - 0.5) * 30) * 100;
|
|
110
|
+
if (x > 520 || x < -520 || y > 350 || y < -350) break;
|
|
111
|
+
}
|
|
112
|
+
plane.position.set(x, -0.5, y);
|
|
113
|
+
plane.rotateX(-Math.PI / 2);
|
|
114
|
+
group.add(plane);
|
|
115
|
+
}
|
|
116
|
+
return group;
|
|
117
|
+
}
|
|
118
|
+
}]);
|
|
119
|
+
return SliceManage;
|
|
120
|
+
}();
|
|
121
|
+
export default SliceManage;
|
|
122
|
+
//# sourceMappingURL=slice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Clock","DoubleSide","Group","Mesh","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector3","use","usePath","shader","fragmentShader","vertexShader","SliceManage","gobal","scene","textureLoader","uniforms","fogDensity","value","fogColor","time","HeatDate","texture1","load","texture2","texture3","texture4","texture5","texture6","texture7","texture8","texture9","meshid","wrapS","wrapT","material","transparent","side","depthTest","mesh","createRandomPlane","add","clock","useframe","getDelta","size","Math","random","group","i","pointCount","geometry","plane","x","y","floor","position","set","rotateX","PI"],"sources":["../../../src/factory/unit/slice.ts"],"sourcesContent":["import { Clock, DoubleSide, Group, Mesh, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector3, use, utils } from '@anov/3d-core'\nimport type { Scene } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport { usePath } from '../3d'\n\nconst shader = {\n fragmentShader: `\n uniform float time;\n uniform float meshid;\n uniform float HeatDate[1000];////数据这块必须写死的个数 不然报错\n uniform sampler2D texture1;\n uniform sampler2D texture2;\n uniform sampler2D texture3;\n uniform sampler2D texture4;\n uniform sampler2D texture5;\n uniform sampler2D texture6;\n uniform sampler2D texture7;\n uniform sampler2D texture8;\n uniform sampler2D texture9;\n varying vec2 vUv;\n varying vec3 Position;\n varying vec3 vNormal;\n varying vec4 worldPosition;\n \n/////-------------------------\nfloat N2(vec2 p) {\t\nvec3 p3 = fract(vec3(p.xyx) * vec3(443.897, 441.423, 437.195));\np3 += dot(p3, p3.yzx + 19.19);\nreturn fract((p3.x + p3.y) * p3.z);\n}\n void main( void ) {\n vec2 uv=vUv;\n // uv*=3.;\n //vec2 uv1=vec2(fract(uv.x),fract(uv.y));\n // uv/=8.;\n vec2 w_uv= worldPosition.xz;\n w_uv *=0.0005;\n w_uv*=20.;\n w_uv =floor(w_uv*10.) /10.;\n\nvec2 gv=fract(w_uv)-0.5;\nvec2 id=floor(w_uv);\n//\nfloat ran = N2(id);\nfloat ran2 = N2(id+64.0); \n\n float num =1.+floor(fract(time*0.15*ran2+ran2)*63.);////1-64\n vec2 pic_xy= vec2(mod(num,8.)-1.,7.-floor((num-1.)/8.));\n vec2 zuv= (mod(uv*1.,1.) + pic_xy) / 8.;\t\t\t\t\t \n // uv*= 2.;\n // vec2 zuv= (mod(uv*1.,1.) + vec2(0.)) / 8.;\t\t\t\n vec4 sequ1 = texture2D( texture1, zuv);\n vec4 sequ2 = texture2D( texture2, zuv);\n vec4 sequ3 = texture2D( texture3, zuv);\n vec4 sequ4 = texture2D( texture4, zuv);\n vec4 sequ5 = texture2D( texture5, zuv);\n vec4 sequ6 = texture2D( texture6, zuv);\n vec4 sequ7 = texture2D( texture7, zuv);\n vec4 sequ8 = texture2D( texture8, zuv);\n vec4 sequ9 = texture2D( texture9, zuv);\n \n vec4 color = vec4 (1.,0.5,0.12,.5);\n vec4 color1 = vec4 (1.,0.2,0.12,.5);\n vec4 color2 = vec4 (1.,0.7,0.12,0.6);\n vec4 color3 = vec4 (1.,0.3,0.12,.6);\n // gl_FragColor =pow(sequ1,vec4(.5,.5,0.5,0.1))*color;\n vec4 coX[9] ;\n coX[0]= pow(texture2D( texture1, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[1]= pow(texture2D( texture2, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[2]= pow(texture2D( texture3, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[3]= pow(texture2D( texture4, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[4]= pow(texture2D( texture5, zuv),vec4(.5,.5,0.5,0.1))*color;\n coX[5]= pow(texture2D( texture6, zuv),vec4(.5,.5,0.5,0.1))*color1;\n coX[6]= pow(texture2D( texture7, zuv),vec4(.5,.5,0.5,0.1))*color2;\n coX[7]= pow(texture2D( texture8, zuv),vec4(.5,.5,0.5,0.1))*color3;\n coX[8]= pow(texture2D( texture9, zuv),vec4(.5,.5,0.5,0.1))*color;\n\nfloat Tid =floor(ran2*9.) ;\ngl_FragColor = coX[int(Tid)];\n//gl_FragColor = vec4(ran);\n\n }`,\n vertexShader: `varying vec2 vUv;\n varying vec3 vNormal;\n varying vec3 Position;\n varying vec4 worldPosition;\n \n\n void main()\n {\n vUv = uv;\n Position = position;\n \n vNormal =normalize( normal ) ;\n worldPosition = modelMatrix * vec4( position, 1.0 );\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n\n\n }`,\n}\nclass SliceManage {\n private gobal: Factory3D\n private scene: Scene\n mesh: Group\n private pointCount = 400\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.scene = gobal.scene.scene\n }\n\n generateSlice() {\n const textureLoader = new TextureLoader()\n const uniforms = {\n fogDensity: { value: 0.45 },\n fogColor: { value: new Vector3(0, 0, 0) },\n time: { value: 1.0 },\n HeatDate: { value: [] },\n texture1: { value: textureLoader.load(`${usePath}p2/sequ/xuebi01.png`) },\n texture2: { value: textureLoader.load(`${usePath}p2/sequ/xuebi02.png`) },\n texture3: { value: textureLoader.load(`${usePath}p2/sequ/xuebi03.png`) },\n texture4: { value: textureLoader.load(`${usePath}p2/sequ/xuebi04.png`) },\n texture5: { value: textureLoader.load(`${usePath}p2/sequ/xuebi05.png`) },\n texture6: { value: textureLoader.load(`${usePath}p2/sequ/xuebi06.png`) },\n texture7: { value: textureLoader.load(`${usePath}p2/sequ/xuebi07.png`) },\n texture8: { value: textureLoader.load(`${usePath}p2/sequ/xuebi08.png`) },\n texture9: { value: textureLoader.load(`${usePath}p2/sequ/xuebi09.png`) },\n meshid: { value: 1.0 },\n }\n\n uniforms.texture1.value.wrapS = uniforms.texture1.value.wrapT = RepeatWrapping\n uniforms.texture2.value.wrapS = uniforms.texture2.value.wrapT = RepeatWrapping\n uniforms.texture3.value.wrapS = uniforms.texture3.value.wrapT = RepeatWrapping\n uniforms.texture4.value.wrapS = uniforms.texture4.value.wrapT = RepeatWrapping\n uniforms.texture5.value.wrapS = uniforms.texture5.value.wrapT = RepeatWrapping\n uniforms.texture6.value.wrapS = uniforms.texture6.value.wrapT = RepeatWrapping\n uniforms.texture7.value.wrapS = uniforms.texture7.value.wrapT = RepeatWrapping\n uniforms.texture8.value.wrapS = uniforms.texture8.value.wrapT = RepeatWrapping\n uniforms.texture9.value.wrapS = uniforms.texture9.value.wrapT = RepeatWrapping\n\n const material = new ShaderMaterial({\n uniforms,\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n side: DoubleSide,\n depthTest: false,\n })\n\n this.mesh = this.createRandomPlane(material)\n this.scene.add(this.mesh)\n\n const clock = new Clock()\n use.useframe(() => {\n uniforms.time.value += clock.getDelta()\n })\n }\n\n createRandomPlane(material: ShaderMaterial) {\n const size = Math.random() * 25 // 随机高度,最大50\n const group = new Group()\n for (let i = 0; i < this.pointCount; i++) {\n const geometry = new PlaneGeometry(size, size)\n const plane = new Mesh(geometry, material)\n // 随机位置\n let x, y\n while (true) {\n x = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 40) * 100)\n y = (Math.random()) * (100 - 2 * size) + size + (Math.floor((Math.random() - 0.5) * 30) * 100)\n if (x > 520 || x < -520 || y > 350 || y < -350)\n break\n }\n\n plane.position.set(x, -0.5, y)\n plane.rotateX(-Math.PI / 2)\n group.add(plane)\n }\n return group\n }\n}\n\nexport default SliceManage"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Vector3 } from '@anov/3d-core';
|
|
2
2
|
import type { BaseModule } from '../../utils/abstract';
|
|
3
3
|
import type Anov3D from '../../sdkEntry';
|
|
4
|
+
import createTimeSkySystem from './time';
|
|
4
5
|
declare class Environment implements BaseModule {
|
|
5
6
|
app: Anov3D;
|
|
6
7
|
private opts?;
|
|
@@ -10,8 +11,9 @@ declare class Environment implements BaseModule {
|
|
|
10
11
|
private cloudReturn;
|
|
11
12
|
private sky;
|
|
12
13
|
private renderer;
|
|
13
|
-
private changeSceneEnvironment;
|
|
14
14
|
sunPosition: Vector3;
|
|
15
|
+
sun: ReturnType<typeof createTimeSkySystem>['sun'];
|
|
16
|
+
skyControl: ReturnType<typeof createTimeSkySystem>['skyControl'];
|
|
15
17
|
constructor(app: Anov3D);
|
|
16
18
|
private initConfigSet;
|
|
17
19
|
private setWeatherStrategy;
|
|
@@ -27,8 +27,9 @@ var Environment = /*#__PURE__*/function () {
|
|
|
27
27
|
_defineProperty(this, "cloudReturn", null);
|
|
28
28
|
_defineProperty(this, "sky", void 0);
|
|
29
29
|
_defineProperty(this, "renderer", void 0);
|
|
30
|
-
_defineProperty(this, "changeSceneEnvironment", void 0);
|
|
31
30
|
_defineProperty(this, "sunPosition", void 0);
|
|
31
|
+
_defineProperty(this, "sun", void 0);
|
|
32
|
+
_defineProperty(this, "skyControl", void 0);
|
|
32
33
|
_defineProperty(this, "setWeatherStrategy", {
|
|
33
34
|
Snow: function Snow() {
|
|
34
35
|
!_this.snow && (_this.snow = createSnow(15, 10000, {
|
|
@@ -66,16 +67,17 @@ var Environment = /*#__PURE__*/function () {
|
|
|
66
67
|
}
|
|
67
68
|
});
|
|
68
69
|
this.app = app;
|
|
69
|
-
this.changeSceneEnvironment = app.changeSceneEnvironment;
|
|
70
70
|
var _createTimeSkySystem = createTimeSkySystem(new Date(), 40, 116, 100),
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
setDate = _createTimeSkySystem.setDate,
|
|
72
|
+
sun = _createTimeSkySystem.sun,
|
|
73
|
+
sky = _createTimeSkySystem.sky,
|
|
74
|
+
skyControl = _createTimeSkySystem.skyControl;
|
|
75
75
|
this.renderer = use.useScene().renderer;
|
|
76
76
|
this.sunPosition = sun.position;
|
|
77
77
|
this.setDate = setDate;
|
|
78
78
|
this.sky = sky;
|
|
79
|
+
this.sun = sun;
|
|
80
|
+
this.skyControl = skyControl;
|
|
79
81
|
this.opts = (_app$opts$environment = app.opts.environment) !== null && _app$opts$environment !== void 0 ? _app$opts$environment : {};
|
|
80
82
|
this.initConfigSet();
|
|
81
83
|
}
|
|
@@ -109,7 +111,6 @@ var Environment = /*#__PURE__*/function () {
|
|
|
109
111
|
date.setHours(0, 0, 0, 0);
|
|
110
112
|
date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400));
|
|
111
113
|
this.setDate(date);
|
|
112
|
-
if (this.sunPosition.y <= 0) this.changeSceneEnvironment(false);else this.changeSceneEnvironment(true);
|
|
113
114
|
return {
|
|
114
115
|
newTime: params.time
|
|
115
116
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["use","createRain","createSkyCloud","createSnow","createTimeSkySystem","Environment","app","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_","clear","
|
|
1
|
+
{"version":3,"names":["use","createRain","createSkyCloud","createSnow","createTimeSkySystem","Environment","app","Snow","snow","x","y","z","renderer","toneMappingExposure","Rain","rain","Cloudy","cloudReturn","Clear_Skies","_","clear","Date","setDate","sun","sky","skyControl","useScene","sunPosition","position","opts","environment","initConfigSet","weather","time","setWeather","weatherType","duration","setTime","params","undefined","Error","date","setHours","getTime","Math","floor","newTime","setWeatherStrategy"],"sources":["../../../src/module/environment/index.ts"],"sourcesContent":["import type { Vector3, WebGLRenderer, lib } from '@anov/3d-core'\nimport { use } from '@anov/3d-core'\nimport { createRain, createSkyCloud, createSnow } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport createTimeSkySystem from './time'\n\ntype EnvironmentOptions = {\n weather?: string\n time?: number\n}\n\nclass Environment implements BaseModule {\n app: Anov3D\n private opts?: EnvironmentOptions\n private setDate: (currentDate?: Date | undefined) => Vector3\n private snow: any = null\n private rain: any = null\n private cloudReturn: ReturnType<typeof createSkyCloud> | null = null\n private sky: lib.Sky\n private renderer: WebGLRenderer\n\n sunPosition: Vector3\n\n sun: ReturnType<typeof createTimeSkySystem>['sun']\n skyControl: ReturnType<typeof createTimeSkySystem>['skyControl']\n\n constructor(app: Anov3D) {\n this.app = app\n\n const { setDate, sun, sky, skyControl } = createTimeSkySystem(new Date(), 40, 116, 100)\n\n this.renderer = use.useScene().renderer!\n this.sunPosition = sun.position\n\n this.setDate = setDate as any\n this.sky = sky\n this.sun = sun\n this.skyControl = skyControl\n\n this.opts = app.opts.environment ?? {}\n this.initConfigSet()\n }\n\n private initConfigSet() {\n const { weather, time } = this.opts as Required<EnvironmentOptions>\n\n if (!weather)\n return\n this.setWeather({ weatherType: weather ?? 'Snow', duration: 0 })\n this.setTime({ time: time ?? 1700, duration: 0 })\n }\n\n private setWeatherStrategy = {\n Snow: () => {\n !this.snow && (this.snow = createSnow(15, 10000, { x: 0, y: 3, z: 0 }, 0.5, 50000))\n this.snow[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Rain: () => {\n !this.rain && (this.rain = createRain(4, 10000, { x: 0, y: 10, z: 0 }, 0.8, 100000))\n this.rain[0]()\n this.renderer.toneMappingExposure = 0.3\n },\n Cloudy: () => {\n !this.cloudReturn && (this.cloudReturn = createSkyCloud())\n },\n Clear_Skies: () => {\n this.snow?.[1]()\n this.rain?.[1]()\n this.renderer.toneMappingExposure = 0.6\n\n if (this.cloudReturn) {\n const [_, clear] = this.cloudReturn\n clear()\n this.cloudReturn = null\n }\n },\n }\n\n /**\n * setTime\n * @param newTime\n * @param changeTime\n */\n setTime(params: { time: number; duration?: number }) {\n if (params.time === undefined || (params.time > 2400 && params.time < 0))\n throw new Error('time must be between 0 and 2400')\n\n const date = new Date()\n date.setHours(0, 0, 0, 0)\n date.setTime(date.getTime() + Math.floor(86400000 * params.time / 2400))\n this.setDate(date)\n\n return {\n newTime: params.time,\n }\n }\n\n /**\n * setWeather\n * @param type\n * @param changeTime\n */\n setWeather(params: { weatherType: string; duration?: number }) {\n // @ts-ignore\n this.setWeatherStrategy[params.weatherType]()\n\n return {\n weatherType: params.weatherType,\n }\n }\n}\n\nexport default Environment"],"mappings":"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"}
|
|
@@ -6,7 +6,5 @@
|
|
|
6
6
|
* @param sunRadius
|
|
7
7
|
* @returns
|
|
8
8
|
*/
|
|
9
|
-
declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) =>
|
|
10
|
-
sunPosition: import("@anov/3d-core").Vector3;
|
|
11
|
-
}, any];
|
|
9
|
+
declare const createTimeSkySystem: (date: Date, latitude?: number, longitude?: number, sunRadius?: number) => any;
|
|
12
10
|
export default createTimeSkySystem;
|
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
6
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
1
|
import { createSkySystem } from '@anov/3d-ability';
|
|
8
2
|
|
|
9
3
|
/**
|
|
@@ -19,11 +13,16 @@ var createTimeSkySystem = function createTimeSkySystem(date) {
|
|
|
19
13
|
var longitude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 116;
|
|
20
14
|
var sunRadius = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
|
|
21
15
|
var _createSkySystem = createSkySystem(date, latitude, longitude, sunRadius),
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return
|
|
16
|
+
setDate = _createSkySystem.setDate,
|
|
17
|
+
sun = _createSkySystem.skyGroup,
|
|
18
|
+
sky = _createSkySystem.sky,
|
|
19
|
+
skyControl = _createSkySystem.skyControl;
|
|
20
|
+
return {
|
|
21
|
+
setDate: setDate,
|
|
22
|
+
sun: sun,
|
|
23
|
+
sky: sky,
|
|
24
|
+
skyControl: skyControl
|
|
25
|
+
};
|
|
27
26
|
};
|
|
28
27
|
export default createTimeSkySystem;
|
|
29
28
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSkySystem","createTimeSkySystem","date","latitude","longitude","sunRadius","setDate","sun","sky"],"sources":["../../../../src/module/environment/time/index.ts"],"sourcesContent":["import { createSkySystem } from '@anov/3d-ability'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const
|
|
1
|
+
{"version":3,"names":["createSkySystem","createTimeSkySystem","date","latitude","longitude","sunRadius","setDate","sun","skyGroup","sky","skyControl"],"sources":["../../../../src/module/environment/time/index.ts"],"sourcesContent":["import { createSkySystem } from '@anov/3d-ability'\n\n/**\n * create time sky system\n * @param date\n * @param latitude\n * @param longitude\n * @param sunRadius\n * @returns\n */\nconst createTimeSkySystem = (date: Date, latitude = 40, longitude = 116, sunRadius = 100) => {\n const {\n setDate, skyGroup: sun, sky, skyControl,\n } = createSkySystem(date, latitude, longitude, sunRadius)\n\n return {\n setDate,\n sun,\n sky,\n skyControl,\n } as ReturnType<typeof createTimeSkySystem>\n}\n\nexport default createTimeSkySystem"],"mappings":"AAAA,SAASA,eAAe,QAAQ,kBAAkB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,IAAU,EAAsD;EAAA,IAApDC,QAAQ,uEAAG,EAAE;EAAA,IAAEC,SAAS,uEAAG,GAAG;EAAA,IAAEC,SAAS,uEAAG,GAAG;EACtF,uBAEIL,eAAe,CAACE,IAAI,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,CAAC;IADvDC,OAAO,oBAAPA,OAAO;IAAYC,GAAG,oBAAbC,QAAQ;IAAOC,GAAG,oBAAHA,GAAG;IAAEC,UAAU,oBAAVA,UAAU;EAGzC,OAAO;IACLJ,OAAO,EAAPA,OAAO;IACPC,GAAG,EAAHA,GAAG;IACHE,GAAG,EAAHA,GAAG;IACHC,UAAU,EAAVA;EACF,CAAC;AACH,CAAC;AAED,eAAeT,mBAAmB"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import type { GrowOption } from '@anov/3d-ability';
|
|
2
|
-
|
|
2
|
+
import type { BaseModule } from '../../utils/abstract';
|
|
3
|
+
import type Anov3D from '../../sdkEntry';
|
|
4
|
+
export declare class Scene implements BaseModule {
|
|
5
|
+
app: Anov3D;
|
|
3
6
|
private grow;
|
|
4
7
|
private opt;
|
|
5
|
-
constructor();
|
|
8
|
+
constructor(app: Anov3D);
|
|
6
9
|
growInit(opt?: GrowOption): Promise<unknown>;
|
|
7
10
|
growIn(): Promise<unknown>;
|
|
8
11
|
growOut(): Promise<unknown>;
|
|
@@ -10,10 +10,12 @@ import { MessageType, sendToMessage } from "../../utils/messageFn";
|
|
|
10
10
|
import { EMessageStatus } from "../../messageStatus";
|
|
11
11
|
import factoryGlobalObject from "../../factory/globalControl";
|
|
12
12
|
export var Scene = /*#__PURE__*/function () {
|
|
13
|
-
function Scene() {
|
|
13
|
+
function Scene(app) {
|
|
14
14
|
_classCallCheck(this, Scene);
|
|
15
|
+
_defineProperty(this, "app", void 0);
|
|
15
16
|
_defineProperty(this, "grow", void 0);
|
|
16
17
|
_defineProperty(this, "opt", void 0);
|
|
18
|
+
this.app = app;
|
|
17
19
|
this.grow = null;
|
|
18
20
|
this.opt = {};
|
|
19
21
|
}
|
|
@@ -98,6 +100,13 @@ export var Scene = /*#__PURE__*/function () {
|
|
|
98
100
|
key: "toPage",
|
|
99
101
|
value: function toPage(params) {
|
|
100
102
|
console.log('params:', params);
|
|
103
|
+
if (params.name === 'Person') {
|
|
104
|
+
// @ts-ignore
|
|
105
|
+
this.app.environment.skyControl.disabledSun();
|
|
106
|
+
} else {
|
|
107
|
+
// @ts-ignore
|
|
108
|
+
this.app.environment.skyControl.enabledSun();
|
|
109
|
+
}
|
|
101
110
|
factoryGlobalObject.factory3D.toggleTag(params.name);
|
|
102
111
|
}
|
|
103
112
|
}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","Scene","grow","opt","Promise","res","Object","assign","onGrowInitCompleted","console","log","Event","Success","onGrowInStart","onGrowInCompleted","onGrowOutStart","onGrowOutCompleted","success","in","message","out","params","
|
|
1
|
+
{"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","Scene","app","grow","opt","Promise","res","Object","assign","onGrowInitCompleted","console","log","Event","Success","onGrowInStart","onGrowInCompleted","onGrowOutStart","onGrowOutCompleted","success","in","message","out","params","name","environment","skyControl","disabledSun","enabledSun","factory3D","toggleTag"],"sources":["../../../src/module/scene/index.ts"],"sourcesContent":["import type { Vector3 } from '@anov/3d-core'\nimport type { GrowOption } from '@anov/3d-ability'\nimport { EEaseType, ESceneGrowType, Grow } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport factoryGlobalObject from '../../factory/globalControl'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\n\nexport class Scene implements BaseModule {\n app: Anov3D\n\n private grow: Grow\n private opt: GrowOption\n\n constructor(app: Anov3D) {\n this.app = app\n this.grow = null\n this.opt = {}\n }\n\n // [API:场景进出场初始化]\n growInit(opt?: GrowOption) {\n return new Promise ((res) => {\n Object.assign(this.opt, opt || {},\n {\n onGrowInitCompleted: () => {\n console.log('------:onGrowInitCompleted')\n sendToMessage(MessageType.Event, 'onGrowInitCompleted', EMessageStatus.Success)\n },\n onGrowInStart: () => {\n console.log('------:onGrowInStart')\n\n // opt.onGrowInStart && opt.onGrowInStart()\n sendToMessage(MessageType.Event, 'onGrowInStart', EMessageStatus.Success)\n },\n onGrowInCompleted: () => {\n console.log('------:onGrowInCompleted')\n\n // opt.onGrowInCompleted && opt.onGrowInCompleted()\n sendToMessage(MessageType.Event, 'onGrowInCompleted', EMessageStatus.Success)\n },\n onGrowOutStart: () => {\n // opt.onGrowOutStart && opt.onGrowOutStart()\n console.log('------:onGrowOutStart')\n sendToMessage(MessageType.Event, 'onGrowOutStart', EMessageStatus.Success)\n },\n onGrowOutCompleted: () => {\n // opt.onGrowOutCompleted && opt.onGrowOutCompleted()\n console.log('------:onGrowOutCompleted')\n sendToMessage(MessageType.Event, 'onGrowOutCompleted', EMessageStatus.Success)\n },\n })\n this.grow = new Grow(this.opt)\n res({ success: true })\n })\n }\n\n // [API:场景进出场动画]\n growIn() {\n return new Promise ((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.in(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // [API:场景进出场动画]\n growOut() {\n return new Promise ((res) => {\n // 未初始化,不处理\n if (this.grow)\n this.grow.out(() => { res({ success: true }) })\n else res({ message: ' not scene grow init' })\n })\n }\n\n // temporary solution by lM\n toPage(params: any) {\n console.log('params:', params)\n\n if (params.name === 'Person') {\n // @ts-ignore\n this.app.environment.skyControl.disabledSun()\n }\n\n else {\n // @ts-ignore\n this.app.environment.skyControl.enabledSun()\n }\n\n factoryGlobalObject.factory3D.toggleTag(params.name)\n }\n}\n"],"mappings":"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"}
|
package/dist/sdkEntry.js
CHANGED
|
@@ -13,6 +13,7 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
|
|
|
13
13
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
14
14
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
15
15
|
import { HeatMap } from '@anov/3d-ability';
|
|
16
|
+
import Environment from "./module/environment";
|
|
16
17
|
import Camera from "./module/camera";
|
|
17
18
|
import { Scene } from "./module/scene";
|
|
18
19
|
import { provide } from "./utils/abstract";
|
|
@@ -22,12 +23,10 @@ import Develop from "./module/develop";
|
|
|
22
23
|
var App = (_dec = provide([{
|
|
23
24
|
name: 'camera',
|
|
24
25
|
module: Camera
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// },
|
|
30
|
-
{
|
|
26
|
+
}, {
|
|
27
|
+
name: 'environment',
|
|
28
|
+
module: Environment
|
|
29
|
+
}, {
|
|
31
30
|
name: 'scene',
|
|
32
31
|
module: Scene
|
|
33
32
|
}, {
|
package/dist/sdkEntry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["HeatMap","Camera","Scene","provide","Anov3DCore","Factory","Develop","App","name","module"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { HeatMap } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport Camera from './module/camera'\nimport { Scene } from './module/scene'\nimport { provide } from './utils/abstract'\nimport Anov3DCore from './anov3d'\nimport Factory from './factory/unit/handle'\nimport Develop from './module/develop'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\n@provide(\n [\n {\n name: 'camera',\n module: Camera,\n },\n
|
|
1
|
+
{"version":3,"names":["HeatMap","Environment","Camera","Scene","provide","Anov3DCore","Factory","Develop","App","name","module"],"sources":["../src/sdkEntry.ts"],"sourcesContent":["import { HeatMap } from '@anov/3d-ability'\nimport Environment from './module/environment'\nimport Camera from './module/camera'\nimport { Scene } from './module/scene'\nimport { provide } from './utils/abstract'\nimport Anov3DCore from './anov3d'\nimport Factory from './factory/unit/handle'\nimport Develop from './module/develop'\n\nexport type Override<P, S> = Omit<P, keyof S> & S\n\n@provide(\n [\n {\n name: 'camera',\n module: Camera,\n },\n {\n name: 'environment',\n module: Environment,\n },\n {\n name: 'scene',\n module: Scene,\n },\n {\n name: 'heatMap',\n module: HeatMap,\n },\n {\n name: 'factory', // 工厂案例,非通用能力\n module: Factory,\n },\n {\n name: 'develop',\n module: Develop,\n },\n ],\n)\nclass App extends Anov3DCore {}\n\nexport default App\n"],"mappings":";;;;;;;;;;;;;;AAAA,SAASA,OAAO,QAAQ,kBAAkB;AAC1C,OAAOC,WAAW;AAClB,OAAOC,MAAM;AACb,SAASC,KAAK;AACd,SAASC,OAAO;AAChB,OAAOC,UAAU;AACjB,OAAOC,OAAO;AACd,OAAOC,OAAO;AAAwB,IAgChCC,GAAG,WA5BRJ,OAAO,CACN,CACE;EACEK,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAER;AACV,CAAC,EACD;EACEO,IAAI,EAAE,aAAa;EACnBC,MAAM,EAAET;AACV,CAAC,EACD;EACEQ,IAAI,EAAE,OAAO;EACbC,MAAM,EAAEP;AACV,CAAC,EACD;EACEM,IAAI,EAAE,SAAS;EACfC,MAAM,EAAEV;AACV,CAAC,EACD;EACES,IAAI,EAAE,SAAS;EAAE;EACjBC,MAAM,EAAEJ;AACV,CAAC,EACD;EACEG,IAAI,EAAE,SAAS;EACfC,MAAM,EAAEH;AACV,CAAC,CACF,CACF;EAAA;EAAA;EAAA;IAAA;IAAA;EAAA;EAAA;AAAA,EACiBF,UAAU;AAE5B,eAAeG,GAAG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.92",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"localforage": "^1.10.0",
|
|
23
23
|
"resize-observer-polyfill": "^1.5.1",
|
|
24
24
|
"uuid": "^9.0.1",
|
|
25
|
-
"@anov/3d-
|
|
26
|
-
"@anov/3d-
|
|
25
|
+
"@anov/3d-core": "^0.0.13",
|
|
26
|
+
"@anov/3d-ability": "^0.0.14"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/uuid": "^9.0.7"
|