@anov/3d 0.0.97 → 0.0.99
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 +22 -22
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/cylinder.js +1 -1
- package/dist/factory/unit/cylinder.js.map +1 -1
- package/dist/factory/unit/glsl/heat/frag.js +1 -1
- package/dist/factory/unit/glsl/heat/frag.js.map +1 -1
- package/dist/factory/unit/handle.d.ts +3 -0
- package/dist/factory/unit/handle.js +8 -0
- package/dist/factory/unit/handle.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.js +1 -5
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/utils/constant.js.map +1 -1
- package/dist/factory/utils/ground.d.ts +1 -1
- package/dist/factory/utils/ground.js +1 -1
- package/dist/factory/utils/ground.js.map +1 -1
- package/dist/module/scene/index.js.map +1 -1
- package/package.json +1 -1
package/dist/factory/3d.js
CHANGED
|
@@ -7,6 +7,8 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _ty
|
|
|
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
8
|
import { AdditiveBlending, Color, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, ShaderMaterial, TextureLoader, Vector2, Vector3, lib, use, utils } from '@anov/3d-core';
|
|
9
9
|
import { Camera, SpritePoi } from '@anov/3d-ability';
|
|
10
|
+
import { MessageType, sendToMessage } from "../utils/messageFn";
|
|
11
|
+
import { EMessageStatus } from "../messageStatus";
|
|
10
12
|
import { finirMaterialV1 } from "./utils/finirMaterial";
|
|
11
13
|
import handleUnit, { toggleTag as _toggleTag } from "./unit";
|
|
12
14
|
import { globalEvents } from "./globalData";
|
|
@@ -17,8 +19,6 @@ import { targetProgresspoints } from "./unit/inspection/lineData";
|
|
|
17
19
|
import { material, uniforms } from "./utils/ground";
|
|
18
20
|
import frag from "./unit/glsl/heat/frag";
|
|
19
21
|
import vert from "./unit/glsl/heat/ver";
|
|
20
|
-
import { MessageType, sendToMessage } from "../utils/messageFn";
|
|
21
|
-
import { EMessageStatus } from "../messageStatus";
|
|
22
22
|
export var loadingManager = new LoadingManager();
|
|
23
23
|
var load = new ModelLoader(loadingManager);
|
|
24
24
|
var rgbeLoader = new lib.RGBELoader(loadingManager);
|
|
@@ -202,15 +202,11 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
202
202
|
// white model
|
|
203
203
|
load.loadGLTF("".concat(this.usePath, "2222.glb"), false, true, './draco/', function (gltf) {
|
|
204
204
|
gltf.scene.traverse(function (child) {
|
|
205
|
-
if (child.name === '柱体') {
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
}
|
|
210
|
-
child.material = new MeshLambertMaterial({
|
|
211
|
-
color: new Color('#aaa')
|
|
212
|
-
});
|
|
213
|
-
}
|
|
205
|
+
if (child.name === '柱体') child.material = new MeshBasicMaterial({
|
|
206
|
+
color: new Color('#fff')
|
|
207
|
+
});else if (child.type === 'Mesh') child.material = new MeshLambertMaterial({
|
|
208
|
+
color: new Color('#aaa')
|
|
209
|
+
});
|
|
214
210
|
});
|
|
215
211
|
_this2.scene.add(gltf.scene);
|
|
216
212
|
gltf.scene.visible = SceneStyle.white === _this2.style;
|
|
@@ -223,6 +219,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
223
219
|
|
|
224
220
|
// thermaLimaging model
|
|
225
221
|
load.loadGLTF("".concat(this.usePath, "2222.glb"), false, true, './draco/', function (gltf) {
|
|
222
|
+
var _app$envServer$scaleR, _window, _window$app, _window$app$envServer;
|
|
226
223
|
var group = gltf.scene;
|
|
227
224
|
group.traverse(function (child) {
|
|
228
225
|
if (child.type === 'Mesh') {
|
|
@@ -248,6 +245,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
248
245
|
child.material.depthTest = false;
|
|
249
246
|
}
|
|
250
247
|
});
|
|
248
|
+
var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 ? void 0 : (_window$app = _window.app) === null || _window$app === void 0 ? void 0 : (_window$app$envServer = _window$app.envServer) === null || _window$app$envServer === void 0 ? void 0 : _window$app$envServer.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
|
|
251
249
|
var div = document.createElement('div');
|
|
252
250
|
div.style.position = 'relative';
|
|
253
251
|
var img = document.createElement('img');
|
|
@@ -255,7 +253,7 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
255
253
|
var span = document.createElement('span');
|
|
256
254
|
span.innerText = '125.7°C';
|
|
257
255
|
span.style.position = 'absolute';
|
|
258
|
-
span.style.top =
|
|
256
|
+
span.style.top = "".concat(19.5 * scale, "px");
|
|
259
257
|
span.style.left = '40%';
|
|
260
258
|
span.style.transform = 'translateX(-30%)';
|
|
261
259
|
span.style.color = '#e47762';
|
|
@@ -264,11 +262,11 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
264
262
|
var span2 = document.createElement('span');
|
|
265
263
|
span2.innerText = '点位2';
|
|
266
264
|
span2.style.position = 'absolute';
|
|
267
|
-
span2.style.top =
|
|
265
|
+
span2.style.top = "".concat(19.5 * scale, "px");
|
|
268
266
|
span2.style.left = '10%';
|
|
269
267
|
span2.style.transform = 'translateX(-30%)';
|
|
270
268
|
span2.style.color = '#e47762';
|
|
271
|
-
span2.style.fontSize =
|
|
269
|
+
span2.style.fontSize = "".concat(12 * scale, "px");
|
|
272
270
|
span2.style.fontWeight = 'bold';
|
|
273
271
|
div.appendChild(img);
|
|
274
272
|
div.appendChild(span);
|
|
@@ -287,20 +285,20 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
287
285
|
var span3 = document.createElement('span');
|
|
288
286
|
span3.innerText = '125.7°C';
|
|
289
287
|
span3.style.position = 'absolute';
|
|
290
|
-
span3.style.top =
|
|
288
|
+
span3.style.top = "".concat(5 * scale, "px");
|
|
291
289
|
span3.style.left = '60%';
|
|
292
290
|
span3.style.transform = 'translateX(30%)';
|
|
293
291
|
span3.style.color = '#fdd85e';
|
|
294
|
-
span3.style.fontSize =
|
|
292
|
+
span3.style.fontSize = "".concat(12 * scale, "px");
|
|
295
293
|
span3.style.fontWeight = 'bold';
|
|
296
294
|
var span4 = document.createElement('span');
|
|
297
295
|
span4.innerText = '点位1';
|
|
298
296
|
span4.style.position = 'absolute';
|
|
299
|
-
span4.style.top =
|
|
297
|
+
span4.style.top = "".concat(5 * scale, "px");
|
|
300
298
|
span4.style.left = '34%';
|
|
301
299
|
span4.style.transform = 'translateX(30%)';
|
|
302
300
|
span4.style.color = '#fdd85e';
|
|
303
|
-
span4.style.fontSize =
|
|
301
|
+
span4.style.fontSize = "".concat(12 * scale, "px");
|
|
304
302
|
span4.style.fontWeight = 'bold';
|
|
305
303
|
div2.appendChild(img2);
|
|
306
304
|
div2.appendChild(span3);
|
|
@@ -312,10 +310,8 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
312
310
|
poi02.scale.set(50, 22, 1);
|
|
313
311
|
poi02.layers.set(2);
|
|
314
312
|
poi02.position.set(-240.869, 15, -127.770);
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
// group.add(poi02)
|
|
318
|
-
|
|
313
|
+
group.add(poi01);
|
|
314
|
+
group.add(poi02);
|
|
319
315
|
_this2.scene.add(group);
|
|
320
316
|
_this2.thermaLimaging = group;
|
|
321
317
|
return gltf;
|
|
@@ -431,6 +427,8 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
431
427
|
this.scene.cutoutCamera = _cutoutCamera;
|
|
432
428
|
utils.emitter.emit('stop');
|
|
433
429
|
utils.emitter.emit('toggleView', 'Global');
|
|
430
|
+
this.inspection.minCamera.fov = 60;
|
|
431
|
+
this.inspection.minCamera.updateProjectionMatrix();
|
|
434
432
|
sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {
|
|
435
433
|
viewType: 'Global'
|
|
436
434
|
});
|
|
@@ -456,6 +454,8 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
456
454
|
this.scene.cutoutCamera = _cutoutCamera3;
|
|
457
455
|
utils.emitter.emit('stop');
|
|
458
456
|
utils.emitter.emit('toggleView', 'Global');
|
|
457
|
+
this.inspection.minCamera.fov = 60;
|
|
458
|
+
this.inspection.minCamera.updateProjectionMatrix();
|
|
459
459
|
sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {
|
|
460
460
|
viewType: 'Global'
|
|
461
461
|
});
|
package/dist/factory/3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","MessageType","sendToMessage","EMessageStatus","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","div","document","createElement","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","appendChild","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","realGroundModel","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","Event","Success","undefined","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n\n gltf.scene.traverse((child) => {\n if (child.name === '柱体') {\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n } else if (child.type === 'Mesh') {\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n }\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = '19.5px'\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = '19.5px'\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = '12px'\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = '5px'\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = '12px'\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = '5px'\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = '12px'\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n // group.add(poi01)\n // group.add(poi02)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone'\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global'\n })\n\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone'\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global'\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AdditiveBlending","Color","InteractionManager","LoadingManager","Mesh","MeshBasicMaterial","MeshLambertMaterial","ModelLoader","PlaneGeometry","RepeatWrapping","ShaderMaterial","TextureLoader","Vector2","Vector3","lib","use","utils","Camera","SpritePoi","MessageType","sendToMessage","EMessageStatus","finirMaterialV1","handleUnit","toggleTag","globalEvents","SceneStyle","SceneTag","factoryGlobalObject","createRiseLayer","targetProgresspoints","material","uniforms","frag","vert","loadingManager","load","rgbeLoader","RGBELoader","emitter","resourcePath","resourcePath2","usePath","Factory3D","option","overview","real","Map","globalEventsAgent","setFactory","scene","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realTreeModel","traverse","child","enable","type","castShadow","receiveShadow","add","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","name","geometry","plane","rotation","x","Math","PI","position","renderOrder","scale","text","wrapS","wrapT","repeat","blending","transparent","opacity","depthTest","map","offset","tech","techModel","color","white","whiteModel","targerMeshName","Object","values","v","lookAt","vertexShader","fragmentShader","texture1","texture2","uvScale","includes","window","app","envServer","scaleRatio","div","document","createElement","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","appendChild","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","realGroundModel","params","background","tag","apply","forEach","eventKey","on","args","eventHandleFn","get","fn","viewType","cutoutCamera","inspection","minCamera","mapCamera","mainCamera","emit","Event","Success","undefined","fov","updateProjectionMatrix","eventName","handleFn","push"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, OrbitControls, SceneControl } from '@anov/3d-core'\nimport { AdditiveBlending, BoxGeometry, Color, EquirectangularReflectionMapping, InteractionManager, LoadingManager, Mesh, MeshBasicMaterial, MeshLambertMaterial, ModelLoader, PlaneGeometry, RepeatWrapping, SRGBColorSpace, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, Vector2, Vector3, Vector4, lib, sRGBEncoding, use, utils } from '@anov/3d-core'\nimport { Camera, SpritePoi, createBloomSelectedTool, initPostEffects } from '@anov/3d-ability'\nimport { MessageType, sendToMessage } from '../utils/messageFn'\nimport { EMessageStatus } from '../messageStatus'\nimport { finirMaterialV1 } from './utils/finirMaterial'\nimport handleUnit, { toggleTag } from './unit'\nimport type WallManage from './unit/wall'\nimport type LineManage from './unit/line'\nimport type CylinderManage from './unit/cylinder'\nimport type PoiManage from './unit/poi'\nimport type CircleManage from './unit/circle'\nimport type DistrictLineManage from './unit/districtLine'\nimport type AreaBoundingBoxManage from './unit/areaBoundingBox'\nimport type Inspection from './unit/inspection'\nimport { globalEvents } from './globalData'\nimport { SceneStyle, SceneTag } from './utils/constant'\nimport switchMaterial from './utils/switchMaterial'\nimport factoryGlobalObject from './globalControl'\nimport { debounce } from './utils'\nimport createRiseLayer from './unit/layer/rise'\nimport { targetProgresspoints } from './unit/inspection/lineData'\nimport { material, uniforms } from './utils/ground'\n\nimport frag from './unit/glsl/heat/frag'\nimport vert from './unit/glsl/heat/ver'\n\ntype factory3dOption = {\n model: string\n environment: string\n decoderPath?: string\n controls?: any\n}\n\nexport const loadingManager = new LoadingManager()\nconst load = new ModelLoader(loadingManager)\nconst rgbeLoader = new lib.RGBELoader(loadingManager)\nconst { emitter } = utils\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\n\nexport const usePath = process.env.ENV === 'dev' ? resourcePath : resourcePath2\n\nclass Factory3D {\n position: Vector3 = new Vector3(0, 0, 0)\n scene: SceneControl\n control: OrbitControls\n cameraUtil: Camera\n\n public loadingManager = loadingManager\n public tag = SceneTag.overview\n public style: SceneStyle = SceneStyle.real\n private option: factory3dOption\n wall: WallManage\n line: LineManage\n cylinder: CylinderManage\n poi: PoiManage\n circle: CircleManage\n areaBoundingBox: AreaBoundingBoxManage\n inspection: Inspection\n districtLine: DistrictLineManage\n\n usePath = usePath\n\n private pipeline: Group\n private realModl: Group\n private techModel: Group\n private whiteModel: Group\n private realGroundModel: Group\n private realTreeModel: Group\n private thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n\n mainCamera: any\n\n interactionManager: InteractionManager\n\n constructor(option: factory3dOption) {\n this.option = option\n this.globalEventsAgent()\n factoryGlobalObject.setFactory(this)\n }\n\n /**\n * render factory 3d scene\n */\n renderScene(scene: SceneControl) {\n return new Promise((resolve) => {\n this.scene = scene\n\n this.cameraUtil = new Camera(scene.camera!, scene.controls!, scene)\n this.control = scene.controls!\n scene.camera.layers.set(0)\n\n load.loadGLTF(`${this.usePath}landScap3.glb`, false, true, './draco/', (gltf) => {\n this.realTreeModel = (gltf.scene) as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n scene.add(this.realTreeModel)\n\n return gltf\n })\n\n const interactionManager = new InteractionManager(\n this.scene.renderer,\n this.scene.camera,\n this.scene.renderer.domElement, // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,\n )\n\n this.interactionManager = interactionManager\n\n utils.storeManagement.set('interactionManager', interactionManager)\n\n use.useframe(() => {\n interactionManager.update()\n })\n\n this.loadModel()\n\n loadingManager.onLoad = () => {\n resolve('success')\n }\n\n // initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })\n\n scene.renderer.toneMappingExposure = 0.4\n })\n }\n\n private loadModel() {\n // real model\n load.loadGLTF(`${this.usePath}222.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.real === this.style\n\n this.realModl = gltf.scene as Group\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n gltf.scene.traverse((child) => {\n child.layers.enable(5)\n\n if (child.type === 'Mesh') {\n child.castShadow = true\n child.receiveShadow = true\n }\n })\n\n handleUnit.call(this)\n\n return gltf\n })\n\n // tech model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n\n use.useframe(() => {\n if (uniforms._Time.value > 0.5)\n uniforms._Time.value = 0\n\n uniforms._Time.value += 0.0008\n })\n\n group.traverse((child) => {\n // @ts-ignore\n if (child.type === 'Mesh') {\n if (child.name === '柱体') {\n // @ts-ignore\n child.visible = false\n const geometry = new PlaneGeometry(3000, 2000)\n const plane = new Mesh(geometry, material)\n plane.rotation.x = -Math.PI / 2\n\n plane.position.set(0, -1.5, 0)\n plane.renderOrder = -1\n\n group.add(plane)\n }\n\n else {\n // @ts-ignore\n child.material = finirMaterialV1\n }\n }\n })\n\n load.loadGLTF(`${this.usePath}plane.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.scale.set(0.5, 0.5, 0.5)\n\n const text = new TextureLoader().load(`${this.usePath}roll.png`)\n\n text.wrapS = RepeatWrapping\n text.wrapT = RepeatWrapping\n\n text.repeat.set(1, 1)\n\n gltf.scene.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material.blending = AdditiveBlending\n // @ts-ignore\n child.material.transparent = true\n // @ts-ignore\n child.material.opacity = 1\n // @ts-ignore\n child.material.depthTest = true\n\n // @ts-ignore\n child.material.map = text\n }\n })\n\n use.useframe(() => {\n text.offset.x += 0.01\n })\n\n group.add(gltf.scene)\n\n return gltf\n })\n\n createRiseLayer()\n\n this.scene.add(group)\n\n group.visible = SceneStyle.tech === this.style\n this.techModel = group as Group\n\n return gltf\n })\n\n // white model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n gltf.scene.traverse((child) => {\n if (child.name === '柱体')\n (child as Mesh).material = new MeshBasicMaterial({ color: new Color('#fff') })\n else if (child.type === 'Mesh')\n (child as Mesh).material = new MeshLambertMaterial({ color: new Color('#aaa') })\n })\n\n this.scene.add(gltf.scene)\n\n gltf.scene.visible = SceneStyle.white === this.style\n this.whiteModel = gltf.scene as Group\n return gltf\n })\n\n const targerMeshName = Object.values(targetProgresspoints).map(v => v.lookAt)\n\n // thermaLimaging model\n load.loadGLTF(`${this.usePath}2222.glb`, false, true, './draco/', (gltf) => {\n const group = gltf.scene\n group.traverse((child) => {\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = new ShaderMaterial({\n vertexShader: vert,\n fragmentShader: frag,\n uniforms: {\n texture1: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test01.jpg`) },\n texture2: { value: new TextureLoader(this.loadingManager).load(`${this.usePath}test02.jpg`) },\n uvScale: { value: new Vector2(1, 1) },\n },\n })\n\n child.layers.set(2)\n\n if (targerMeshName.includes(child.name))\n // @ts-ignore\n child.material.depthTest = false\n }\n })\n\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}poi01.png`\n\n const span = document.createElement('span')\n span.innerText = '125.7°C'\n span.style.position = 'absolute'\n span.style.top = `${19.5 * scale}px`\n span.style.left = '40%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = '#e47762'\n span.style.fontSize = '12px'\n span.style.fontWeight = 'bold'\n\n const span2 = document.createElement('span')\n span2.innerText = '点位2'\n span2.style.position = 'absolute'\n span2.style.top = `${19.5 * scale}px`\n span2.style.left = '10%'\n span2.style.transform = 'translateX(-30%)'\n\n span2.style.color = '#e47762'\n span2.style.fontSize = `${12 * scale}px`\n span2.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n div.appendChild(span2)\n\n const poi01 = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi01.scale.set(40, 18, 1)\n\n poi01.layers.set(2)\n poi01.position.set(-312.869, -5, -127.770)\n\n const div2 = document.createElement('div')\n div2.style.position = 'relative'\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}poi02.png`\n\n const span3 = document.createElement('span')\n span3.innerText = '125.7°C'\n span3.style.position = 'absolute'\n span3.style.top = `${5 * scale}px`\n span3.style.left = '60%'\n span3.style.transform = 'translateX(30%)'\n\n span3.style.color = '#fdd85e'\n span3.style.fontSize = `${12 * scale}px`\n span3.style.fontWeight = 'bold'\n\n const span4 = document.createElement('span')\n span4.innerText = '点位1'\n span4.style.position = 'absolute'\n span4.style.top = `${5 * scale}px`\n span4.style.left = '34%'\n span4.style.transform = 'translateX(30%)'\n\n span4.style.color = '#fdd85e'\n span4.style.fontSize = `${12 * scale}px`\n span4.style.fontWeight = 'bold'\n\n div2.appendChild(img2)\n div2.appendChild(span3)\n div2.appendChild(span4)\n\n const poi02 = new SpritePoi(div2, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n poi02.scale.set(50, 22, 1)\n\n poi02.layers.set(2)\n poi02.position.set(-240.869, 15, -127.770)\n\n group.add(poi01)\n group.add(poi02)\n\n this.scene.add(group)\n\n this.thermaLimaging = group as Group\n\n return gltf\n })\n\n load.loadGLTF(`${this.usePath}guandao.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n this.pipeline = gltf.scene as Group\n return gltf\n })\n\n // ground\n load.loadGLTF(`${this.usePath}landScap.glb`, false, true, './draco/', (gltf) => {\n this.scene.add(gltf.scene)\n\n // this.interactionManager.add(gltf.scene)\n\n // gltf.scene.addEventListener('click', (value) => {\n // console.log(value.point)\n // this.position = value.point\n // })\n\n this.realGroundModel = gltf.scene as Group\n return gltf\n })\n }\n\n /**\n * toggle SceneStyle\n * @param params\n */\n toggleSceneStyle(params: SceneStyle) {\n if (this.style === params)\n return\n this.style = params\n\n if (this.style === SceneStyle.tech) {\n this.pipeline.visible = false\n this.techModel.visible = true\n this.realModl.visible = false\n this.whiteModel.visible = false\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.6\n }\n\n if (params === SceneStyle.real) {\n this.pipeline.visible = true\n this.techModel.visible = false\n this.whiteModel.visible = false\n this.realModl.visible = true\n this.realGroundModel && (this.realGroundModel.visible = true)\n this.realTreeModel && (this.realTreeModel.visible = true)\n this.scene.scene.background = new Color('#ccc')\n this.scene.renderer.toneMappingExposure = 0.4\n }\n\n if (params === SceneStyle.white) {\n this.pipeline.visible = false\n this.techModel.visible = false\n this.realModl.visible = false\n this.whiteModel.visible = true\n this.realTreeModel.visible = false\n this.scene.scene.background = null\n this.realGroundModel && (this.realGroundModel.visible = false)\n\n this.scene.renderer.toneMappingExposure = 0.4\n }\n }\n\n public toggleTag(tag: SceneTag) {\n if (this.tag === tag)\n return\n toggleTag[tag].apply(this, [this])\n }\n\n private globalEventsAgent() {\n globalEvents.forEach((eventKey) => {\n emitter.on(eventKey, (args) => {\n this.eventHandleFn.get(eventKey)?.forEach((fn) => {\n fn(args)\n })\n })\n })\n }\n\n /**\n * toggle view\n */\n toggleView(viewType?: string) {\n if (this.tag !== SceneTag['smart-inspection'])\n return\n\n if (viewType) {\n if (viewType === 'Drone') {\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n }\n\n if (viewType === 'Global') {\n if (this.scene.cutoutCamera !== this.inspection.minCamera) {\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n else {\n // toggle to min camera\n if (this.scene.cutoutCamera === this.inspection.minCamera) {\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.cutoutCamera = this.inspection.mapCamera\n\n this.mainCamera = this.scene.camera\n this.scene.camera = cutoutCamera\n\n utils.emitter.emit('play')\n utils.emitter.emit('toggleView', 'Drone')\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Drone',\n })\n }\n else {\n // toggle to main camera\n const mainCamera = this.mainCamera\n const cutoutCamera = this.inspection.minCamera\n\n this.scene.camera = mainCamera\n this.scene.cutoutCamera = cutoutCamera\n\n utils.emitter.emit('stop')\n utils.emitter.emit('toggleView', 'Global')\n\n this.inspection.minCamera.fov = 60\n this.inspection.minCamera.updateProjectionMatrix()\n\n sendToMessage(MessageType.Event, 'onViewTypeChange', EMessageStatus.Success, undefined, {\n viewType: 'Global',\n })\n }\n }\n }\n\n addEventListener(eventName: string, handleFn: (args?: any) => void) {\n if (this.eventHandleFn.get(eventName))\n this.eventHandleFn.get(eventName).push(handleFn)\n\n else\n this.eventHandleFn.set(eventName, [handleFn])\n }\n}\n\nexport default Factory3D"],"mappings":"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"}
|
|
@@ -253,7 +253,7 @@ var CylinderManage = /*#__PURE__*/function () {
|
|
|
253
253
|
key: "controlAddListener",
|
|
254
254
|
value: function controlAddListener() {
|
|
255
255
|
var _this3 = this;
|
|
256
|
-
|
|
256
|
+
// @ts-ignore
|
|
257
257
|
var maxDistance = this.gobal.option.controls.maxDistance;
|
|
258
258
|
maxDistance && this.gobal.control.addEventListener('change', function () {
|
|
259
259
|
if (_this3.gobal.control.getDistance() >= maxDistance - 5) emitter.emit('peoplemanagement-control-maxDistance', null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","cylinder","getMesh","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","handleClick","style","real","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","hoverAreaId","districtLine","setHighLightLine","removeHighLightLine","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","value","vertexShader","fragmentShader","rotateY","Math","PI","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n private highLightAreaId: string\n private hoverAreaId: string\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n //@ts-ignore\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["BoxGeometry","Color","Group","Mesh","ShaderMaterial","Vector3","globalObjectManage","use","utils","createFontMesh","SceneStyle","SceneTag","regionMap","collisionDetection","lookAtOnYAxis","emitter","cylinderData","label","id","title","reform","belongTo","area","color","getHex","points","poi","position","height","areaLabel","camera","target","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","CylinderManage","gobal","options","Map","currentCameraPosition","control","object","box","areaBoundingBox","boundingBoxMap","get","currentoperate","iscollision","emit","cameraRemoveListener","scene","option","forEach","item","cylinder","getMesh","group","name","visible","copy","fromArray","interactionManager","storeManagement","add","handleClick","style","real","cameraUtil","set","then","setVisible","currentGroup","cylinderMesh","plane","regionPlane","planeMesh","addEventListener","tag","highLightAreaId","hoverAreaId","districtLine","setHighLightLine","removeHighLightLine","font","font2","fontPromiseAll","Promise","all","meshArr","mesh","geometry","center","useframe","controlAddListener","bar","data","width","gradientMaterial","transparent","depthTest","uniforms","intensity","value","vertexShader","fragmentShader","rotateY","Math","PI","cameraListenerHandle","maxDistance","controls","getDistance","removeEventListener"],"sources":["../../../src/factory/unit/cylinder.ts"],"sourcesContent":["import type { InteractionManager, Object3D, Scene } from '@anov/3d-core'\nimport { BoxGeometry, Color, Float32BufferAttribute, Group, Mesh, MeshBasicMaterial, ShaderMaterial, Vector3, globalObjectManage, use, utils } from '@anov/3d-core'\nimport createFontMesh from '../utils/fontMesh'\nimport type Factory3D from '../3d'\nimport { SceneStyle, SceneTag } from '../utils/constant'\nimport regionMap from '../regionData'\nimport { collisionDetection } from '../utils/areaBoundingBox'\n\nimport { lookAtOnYAxis } from '../utils'\n\nconst { emitter } = utils\n\nconst cylinderData = [\n {\n label: '8人',\n id: '1',\n title: regionMap.reform.title,\n belongTo: regionMap.reform.id,\n area: regionMap.reform.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reform.poi.position,\n height: 80,\n areaLabel: '重整装置区',\n camera: {\n target: [\n -314.011126,\n 0.55002,\n -146.543503,\n ],\n position: [\n -312.394914,\n 257.245626,\n 47.197057,\n ],\n },\n },\n {\n label: '7人',\n id: '2',\n title: regionMap.reduction.title,\n belongTo: regionMap.reduction.id,\n area: regionMap.reduction.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.reduction.poi.position,\n height: 70,\n areaLabel: '常减压装置区',\n camera: {\n target: [\n 31.316545,\n 0.550012,\n -130.972087,\n ],\n position: [\n 34.239022,\n 267.62292,\n 62.561665,\n ],\n },\n },\n {\n label: '4人',\n id: '3',\n title: regionMap.crudeOil.title,\n belongTo: regionMap.crudeOil.id,\n area: regionMap.crudeOil.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.crudeOil.poi.position,\n height: 40,\n areaLabel: '原油罐区',\n camera: {\n target: [\n 353.973508,\n 0.550011,\n -125.345886,\n ],\n position: [\n 353.432421,\n 201.482934,\n 32.729098,\n ],\n },\n },\n {\n label: '10人',\n id: '4',\n title: regionMap.catalyticCracking.title,\n belongTo: regionMap.catalyticCracking.id,\n area: regionMap.catalyticCracking.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.catalyticCracking.poi.position,\n height: 100,\n areaLabel: '催化裂化装置区',\n camera: {\n target: [\n -322.573001,\n 0.550014,\n 31.815163,\n ],\n position: [\n -320.957427,\n 257.144259,\n 225.47922,\n ],\n },\n },\n {\n label: '3人',\n id: '5',\n title: regionMap.hydrocrackingUnit.title,\n belongTo: regionMap.hydrocrackingUnit.id,\n area: regionMap.hydrocrackingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.hydrocrackingUnit.poi.position,\n height: 30,\n areaLabel: '加氢裂化装置区',\n camera: {\n target: [\n -307.049915,\n 0.550014,\n 168.905777,\n ],\n position: [\n -305.525588,\n 240.704876,\n 351.631836,\n ],\n },\n },\n {\n label: '8人',\n id: '6',\n title: regionMap.cokingUnit.title,\n belongTo: regionMap.cokingUnit.id,\n area: regionMap.cokingUnit.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.cokingUnit.poi.position,\n height: 80,\n areaLabel: '焦化装置区',\n camera: {\n target: [\n 92.780379,\n 0.550012,\n 106.726765,\n ],\n position: [\n 96.849312,\n 372.392759,\n 376.181734,\n ],\n },\n },\n {\n label: '20人',\n id: '7',\n title: regionMap.administrative.title,\n belongTo: regionMap.administrative.id,\n area: regionMap.administrative.area,\n color: new Color('#FED602').getHex(),\n points: regionMap.administrative.poi.position,\n height: 150,\n areaLabel: '办公区',\n camera: {\n target: [\n 416.932569,\n 0.550009,\n 85.100115,\n ],\n position: [\n 567.413903,\n 236.090124,\n 82.586741,\n ],\n },\n },\n]\n\ntype CylinderManageOption = {\n visible?: boolean\n}\n\nclass CylinderManage {\n private scene: Scene\n readonly cylinderMesh: Map<string, Object3D> = new Map()\n private option: CylinderManageOption\n private gobal: Factory3D\n private currentoperate: string = cylinderData[0].belongTo\n\n private highLightAreaId: string\n private hoverAreaId: string\n\n constructor(gobal: Factory3D, options?: CylinderManageOption) {\n this.scene = gobal.scene.scene\n this.gobal = gobal\n this.option = options || {}\n }\n\n generateCylinder() {\n cylinderData.forEach((item) => {\n const cylinder = this.getMesh(item)\n const group = new Group()\n group.name = item.title\n\n group.visible = this.option?.visible ?? true\n cylinder.position.copy(new Vector3().fromArray([item.points[0], item.points[1] + item.height / 2, item.points[2]]))\n\n const interactionManager = utils.storeManagement.get<InteractionManager>('interactionManager')\n interactionManager.add(group)\n\n const handleClick = () => {\n if (this.gobal.style === SceneStyle.real || group.visible === false)\n return\n\n const { position, target } = item.camera\n this.gobal.cameraUtil.set({\n position, target,\n }).then(() => {\n emitter.emit('peoplemanagement-camera-enter', item)\n this.setVisible()\n\n const currentGroup = this.cylinderMesh.get(item.belongTo) as Group\n currentGroup.visible = false\n\n this.currentoperate = item.belongTo\n })\n\n // this.gobal.cameraUtil.focus({ target: item.area, pitch: 0 }).then(() => { })\n }\n\n // @ts-ignore\n const plane = (this.gobal.regionPlane.planeMesh as Map<string, Object3D>).get(item.id)\n plane.addEventListener('click', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.highLightAreaId = item.id\n handleClick()\n }\n })\n plane.addEventListener('mouseover', () => {\n if (this.gobal.tag === SceneTag['people-management']) {\n this.hoverAreaId = item?.belongTo\n this.gobal.districtLine?.setHighLightLine(item?.belongTo)\n }\n })\n plane.addEventListener('mouseout', () => {\n if (this.gobal.tag === SceneTag['people-management'] && this.hoverAreaId !== this.highLightAreaId)\n this.gobal.districtLine?.removeHighLightLine(this.hoverAreaId)\n })\n\n group.addEventListener('click', () => {\n handleClick()\n })\n\n this.cylinderMesh.set(item.belongTo, group)\n group.add(cylinder)\n\n const font = createFontMesh(item.label, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 10, item.points[2]]),\n })\n\n const font2 = createFontMesh(item.areaLabel, {\n position: new Vector3().fromArray([item.points[0], item.points[1] + item.height + 25, item.points[2]]),\n })\n\n const fontPromiseAll = Promise.all([font, font2])\n\n fontPromiseAll.then((meshArr) => {\n meshArr.forEach(\n (mesh) => {\n mesh.geometry.center()\n group.add(mesh)\n\n use.useframe(() => {\n lookAtOnYAxis(mesh, globalObjectManage.camera.position)\n })\n this.scene.add(group)\n },\n )\n })\n })\n this.controlAddListener()\n }\n\n setVisible(visible = true) {\n // 控制CYCLE的隐藏、显示\n this.cylinderMesh.forEach((bar) => {\n bar.visible = visible\n })\n }\n\n getMesh(data) {\n const width = 10\n\n const geometry = new BoxGeometry(width, data.height, width)\n\n const gradientMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: false,\n uniforms: {\n intensity: { value: 1.0 },\n },\n vertexShader: `\n varying vec2 vUv;\n varying vec3 vNormal;\n void main()\n {\n vUv = uv;\n vNormal =normalize( normal ) ;\n vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n gl_Position = projectionMatrix * mvPosition;\n }\n \n `,\n fragmentShader: `\n \n varying vec3 vNormal;\n varying vec2 vUv;\n uniform float intensity;\n\n void main( void ) {\n \n float colX =clamp( vUv.y+0.3,0.,1.);\n\n if(vNormal.y >0.5)\n {\n colX=1.;\n }\n if(vNormal.y <-0.5)\n {\n colX=0.;\n }\n\n vec4 col = vec4 (1.,mix(0.2,0.8,colX),0.,1.);\n\n gl_FragColor=col*colX*intensity;\n }\n `,\n\n })\n\n // 创建渐变立方体\n const cylinder = new Mesh(geometry, gradientMaterial)\n cylinder.rotateY(Math.PI / 2)\n return cylinder\n }\n\n private cameraListenerHandle = () => {\n const currentCameraPosition = this.gobal.control.object.position\n const box = this.gobal.areaBoundingBox.boundingBoxMap.get(this.currentoperate)\n const iscollision = collisionDetection(box, currentCameraPosition)\n if (!iscollision) {\n emitter.emit('peoplemanagement-camera-out', {\n belongTo: this.currentoperate,\n })\n\n this.cameraRemoveListener()\n }\n }\n\n private cameraAddListener() {\n this.gobal.control.addEventListener('change', this.cameraListenerHandle)\n }\n\n private controlAddListener() {\n // @ts-ignore\n const maxDistance = this.gobal.option.controls.maxDistance\n maxDistance && this.gobal.control.addEventListener('change', () => {\n if (this.gobal.control.getDistance() >= maxDistance - 5)\n emitter.emit('peoplemanagement-control-maxDistance', null)\n })\n }\n\n private cameraRemoveListener() {\n this.gobal.control.removeEventListener('change', this.cameraListenerHandle)\n }\n}\n\nexport default CylinderManage"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ShaderChunk } from '@anov/3d-core';
|
|
2
|
-
var frag = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_fragment, "\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869,
|
|
2
|
+
var frag = /* glsl */"\n".concat(ShaderChunk.logdepthbuf_pars_fragment, "\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869-25.0, 30, -127.770, 0.9);\n vec4 poi6 = vec4(-291.869, 30, -127.770 + 30.0, 0.9);\n vec4 poi8 = vec4(-291.869, 8, -127.770, 0.8);\n vec4 poi9 = vec4(-291.869, 0, -127.770, 0.0);\n\n vec4 poi7 = vec4(62.227, 50, 203.009, 1.9);\n\n vec4[] poi = vec4[](poi3,poi4,poi5,poi6,poi7,poi8,poi9);\n\n vec2 xy = vec2(worldPosition.x, worldPosition.y) + time * 0.9;\n vec2 xz = vec2(worldPosition.x, worldPosition.z) + time * 0.8;\n vec2 yz = vec2(worldPosition.y, worldPosition.z) + time * 0.9;\n\n float ix = clamp((abs(vNormal.x) - 0.4) * 2., 0., 1.);\n float iy = clamp((abs(vNormal.y) - 0.4) * 2., 0., 1.);\n\n vec4 noiseT = mix((mix(texture2D(texture1, xy * noiseLoop), texture2D(texture1, yz * noiseLoop), ix)), texture2D(texture1, xz * noiseLoop), iy);\n vec3 HeatPosition = vec3(0., 1.5, 0.0);\n float i1 = 1. - distance(HeatPosition, vec3(worldPosition.x + noiseT.x, worldPosition.y + noiseT.y, worldPosition.z + noiseT.z)) * 0.6;\n\n float i2;\n for(int i = 0; i < 7; i++) {\n i2 += clamp(1. - distance(poi[i].xyz, worldPosition.xyz) * 0.05 * heat / poi[i].w + noiseT.x, 0., 1.);\n };\n\n vec4 heatmap = texture2D(texture2, vec2(pow(clamp(i2, 0.01, 0.99), intensity + sin(1. * 2.) * 0.01), 0.5));\n gl_FragColor = heatmap;\n\n if(worldPosition.y <= 2.0){\n gl_FragColor = vec4(0.0,0.0,1.0,1.0);\n }\n\n ").concat(ShaderChunk.logdepthbuf_fragment, "\n}\n");
|
|
3
3
|
export default frag;
|
|
4
4
|
//# sourceMappingURL=frag.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ShaderChunk","frag","logdepthbuf_pars_fragment","logdepthbuf_fragment"],"sources":["../../../../../src/factory/unit/glsl/heat/frag.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst frag = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_fragment}\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869,
|
|
1
|
+
{"version":3,"names":["ShaderChunk","frag","logdepthbuf_pars_fragment","logdepthbuf_fragment"],"sources":["../../../../../src/factory/unit/glsl/heat/frag.ts"],"sourcesContent":["import { ShaderChunk } from '@anov/3d-core'\n\nconst frag = /* glsl */`\n${ShaderChunk.logdepthbuf_pars_fragment}\nuniform sampler2D texture1;\nuniform sampler2D texture2;\n\nvarying vec2 vUv;\nvarying vec3 Position;\nvarying vec3 vNormal;\nvarying vec4 worldPosition;\nvoid main(void) {\n float time = 0.1;\n float intensity = 0.1;\n float heat = 0.9;\n float noiseLoop = 0.02;\n\n vec4 poi3 = vec4(66.708, 30, -102.708, 1.3);\n vec4 poi4 = vec4(66.708, 50, -102.708, 1.3);\n vec4 poi5 = vec4(-291.869-25.0, 30, -127.770, 0.9);\n vec4 poi6 = vec4(-291.869, 30, -127.770 + 30.0, 0.9);\n vec4 poi8 = vec4(-291.869, 8, -127.770, 0.8);\n vec4 poi9 = vec4(-291.869, 0, -127.770, 0.0);\n\n vec4 poi7 = vec4(62.227, 50, 203.009, 1.9);\n\n vec4[] poi = vec4[](poi3,poi4,poi5,poi6,poi7,poi8,poi9);\n\n vec2 xy = vec2(worldPosition.x, worldPosition.y) + time * 0.9;\n vec2 xz = vec2(worldPosition.x, worldPosition.z) + time * 0.8;\n vec2 yz = vec2(worldPosition.y, worldPosition.z) + time * 0.9;\n\n float ix = clamp((abs(vNormal.x) - 0.4) * 2., 0., 1.);\n float iy = clamp((abs(vNormal.y) - 0.4) * 2., 0., 1.);\n\n vec4 noiseT = mix((mix(texture2D(texture1, xy * noiseLoop), texture2D(texture1, yz * noiseLoop), ix)), texture2D(texture1, xz * noiseLoop), iy);\n vec3 HeatPosition = vec3(0., 1.5, 0.0);\n float i1 = 1. - distance(HeatPosition, vec3(worldPosition.x + noiseT.x, worldPosition.y + noiseT.y, worldPosition.z + noiseT.z)) * 0.6;\n\n float i2;\n for(int i = 0; i < 7; i++) {\n i2 += clamp(1. - distance(poi[i].xyz, worldPosition.xyz) * 0.05 * heat / poi[i].w + noiseT.x, 0., 1.);\n };\n\n vec4 heatmap = texture2D(texture2, vec2(pow(clamp(i2, 0.01, 0.99), intensity + sin(1. * 2.) * 0.01), 0.5));\n gl_FragColor = heatmap;\n\n if(worldPosition.y <= 2.0){\n gl_FragColor = vec4(0.0,0.0,1.0,1.0);\n }\n\n ${ShaderChunk.logdepthbuf_fragment}\n}\n`\n\nexport default frag"],"mappings":"AAAA,SAASA,WAAW,QAAQ,eAAe;AAE3C,IAAMC,IAAI,GAAG,sBACXD,WAAW,CAACE,yBAAyB,4wDAgDhCF,WAAW,CAACG,oBAAoB,UAEtC;AAED,eAAeF,IAAI"}
|
|
@@ -112,6 +112,14 @@ var HandlerManage = /*#__PURE__*/function () {
|
|
|
112
112
|
// @ts-ignore
|
|
113
113
|
this.app.caseInstance.toggleView(params.viewType);
|
|
114
114
|
}
|
|
115
|
+
}, {
|
|
116
|
+
key: "setFOV",
|
|
117
|
+
value: function setFOV(params) {
|
|
118
|
+
// @ts-ignore
|
|
119
|
+
this.app.caseInstance.inspection.minCamera.fov = params.fov;
|
|
120
|
+
// @ts-ignore
|
|
121
|
+
this.app.caseInstance.inspection.minCamera.updateProjectionMatrix();
|
|
122
|
+
}
|
|
115
123
|
}]);
|
|
116
124
|
return HandlerManage;
|
|
117
125
|
}();
|
|
@@ -1 +1 @@
|
|
|
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 {
|
|
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","minCamera","fov","updateProjectionMatrix"],"sources":["../../../src/factory/unit/handle.ts"],"sourcesContent":["import type { PerspectiveCamera } from '@anov/3d-core'\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 setFOV(params: { fov: number }) {\n // @ts-ignore\n ((this.app.caseInstance.inspection.minCamera) as PerspectiveCamera).fov = params.fov;\n // @ts-ignore\n ((this.app.caseInstance.inspection.minCamera) as PerspectiveCamera).updateProjectionMatrix()\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;;IAEd;IACA,IAAI,CAACA,GAAG,CAACC,WAAW,CAACC,GAAG,CAACC,QAAQ,CAAC,CAAC,CAAC,CAACC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC;IACrD;IACA,IAAI,CAACL,GAAG,CAACC,WAAW,CAACK,OAAO,CAAC;MAAEC,IAAI,EAAE;IAAK,CAAC,CAAC;EAC9C;EAAC;IAAA;IAAA,OAED,qBAAYC,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,kBAASF,MAAW,EAAE;MACpB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACG,KAAK,CAAC;IAC1B;EAAC;IAAA;IAAA,OAED,qBAAYH,MAAW,EAAE;MACvB,IAAI,CAACC,KAAK,CAACD,MAAM,CAACE,EAAE,CAAC;IACvB;EAAC;IAAA;IAAA,OAED,0BAAiB;MACf;MACA,IAAI,CAACV,GAAG,CAACY,YAAY,CAACC,SAAS,CAACC,WAAW,EAAE;IAC/C;EAAC;IAAA;IAAA,OAED,sBAAa;MACX;MACA,IAAI,CAACd,GAAG,CAACY,YAAY,CAACG,QAAQ,CAACC,UAAU,EAAE;MAC3C;MACA,IAAI,CAAChB,GAAG,CAACY,YAAY,CAACK,MAAM,CAACC,MAAM,EAAE;MACrC;MACA,IAAI,CAAClB,GAAG,CAACY,YAAY,CAACO,YAAY,CAACC,mBAAmB,EAAE;IAC1D;EAAC;IAAA;IAAA,OAED,eAAMC,IAAI,EAAE;MACV;MACA,IAAMC,MAAM,GAAG,IAAI,CAACtB,GAAG,CAACuB,YAAY,CAACC,KAAK,CAAEC,eAAe,CAACJ,IAAI,CAAC;;MAEjE;MACA,IAAIC,MAAM,EAAE;QACVI,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;QACzB;QACAL,MAAM,CAACM,aAAa,CAAC;UAAEC,IAAI,EAAE;QAAQ,CAAC,CAAC;MACzC,CAAC,MACI;QACHH,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;MAC3B;IACF;EAAC;IAAA;IAAA,OAED,0BAAiBnB,MAA0B,EAAE;MAC3C,IAAQsB,MAAM,GAAKtB,MAAM,CAAjBsB,MAAM;;MAEd;MACA,OAAO,IAAI,CAAC9B,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACC,oBAAoB,CAACxC,GAAG,CAACsC,MAAM,CAAC,CAAC;IAC3E;EAAC;IAAA;IAAA,OAED,uBAAc;MACZ;MACA,IAAI,CAAC9B,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACE,gBAAgB,CAACC,IAAI,EAAE;IAC1D;EAAC;IAAA;IAAA,OAED,2BAAkB;MAChB;MACA,IAAI,CAAClC,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACE,gBAAgB,CAACE,WAAW,EAAE;IACjE;EAAC;IAAA;IAAA,OAED,gCAAuB3B,MAA8C,EAAE;MACrE;MACA,IAAI,CAACR,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACK,uBAAuB,CAAC5B,MAAM,CAAC;IAClE;EAAC;IAAA;IAAA,OAED,qBAAYA,MAA4B,EAAE;MACxC;MACA,IAAI,CAACR,GAAG,CAACY,YAAY,CAACyB,UAAU,CAAC7B,MAAM,CAAC8B,QAAQ,CAAC;IACnD;EAAC;IAAA;IAAA,OAED,gBAAO9B,MAAuB,EAAE;MAC9B;MACE,IAAI,CAACR,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACQ,SAAS,CAAwBC,GAAG,GAAGhC,MAAM,CAACgC,GAAG;MACpF;MACE,IAAI,CAACxC,GAAG,CAACY,YAAY,CAACmB,UAAU,CAACQ,SAAS,CAAwBE,sBAAsB,EAAE;IAC9F;EAAC;EAAA;AAAA;AAGH,eAAe1C,aAAa"}
|
|
@@ -559,11 +559,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
559
559
|
key: "contineMove",
|
|
560
560
|
value: function contineMove() {
|
|
561
561
|
if (!this.control) throw new Error('control not init');
|
|
562
|
-
if (this.contineCount === 0)
|
|
563
|
-
this.takeOffAnimation();
|
|
564
|
-
} else {
|
|
565
|
-
this.control.contine();
|
|
566
|
-
}
|
|
562
|
+
if (this.contineCount === 0) this.takeOffAnimation();else this.control.contine();
|
|
567
563
|
this.contineCount++;
|
|
568
564
|
this.isStartUp = true;
|
|
569
565
|
utils.emitter.emit('continue', true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","verticalSpeed","horizontalSpeed","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","upCurve","upControl","loop","lookat","contine","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","speed","setSpeed","Error","contineCount","takeOffAnimation","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n // child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y-20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n /**\n * send compass info\n * not use useframe, because useframe will be lose some frame\n */\n private sendCompassInfo() {\n setInterval(() => {\n const mesh = this.model\n mesh.updateMatrixWorld(true)\n\n const worldQuaternion = new Quaternion()\n mesh.getWorldQuaternion(worldQuaternion)\n\n const worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ')\n const rotationY = worldEuler.y\n const rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY))\n\n sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {\n rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),\n degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,\n distance: this.getSportsProgress * this.inspection.curve.getLength(),\n verticalSpeed: 0,\n horizontalSpeed: 10,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation(){\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: false })\n\n upControl.addEventListener('end',()=>{\n this.control.contine()\n })\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n\n if (!this.control)\n throw new Error('control not init')\n\n if (this.contineCount===0){\n this.takeOffAnimation()\n }else{\n this.control.contine()\n }\n\n this.contineCount++\n \n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","wrapS","wrapT","repeat","set","rotation","Math","PI","loadGLTF","glb","div","document","createElement","style","position","img","src","span","innerText","top","left","transform","color","fontSize","fontWeight","appendChild","poi","width","height","img2","poi2","scale","fly1","scene","getObjectByName","fly2","fly3","fly4","planeGeometry","planeMaterial","map","transparent","plyMap","x","copy","layers","group","name","add","minCamera","clone","z","getSportsProgress","isLock","stop","checkAnimation","y","rotateY","initialMinCameraQuaternion","model","gobal","interactionManager","visible","addEventListener","traverse","child","enable","loadPosAudio","breathinglamp","target","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","t","sin","currentColor","lerp","material","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","curve","loadModel","control","moveWithLine","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","value","mapMaterial","mapAnchorObject","forEach","mapAnchor","uColor","Event","Success","undefined","percentage","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","verticalSpeed","horizontalSpeed","getProgress","Promise","resolve","data","progress","isAnimation","defaultFirstPerspectiveControls","enabled","key","Object","keys","find","p","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","get","currentMapAnchor","numberKey","Number","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","obj","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","type","lineSegments","geometry","subscription","then","start","off","currentPosition","targetPosition","tube","tempPathMesh","depthTest","tempDemo","offset","dispose","removeFromParent","upCurve","upControl","loop","lookat","contine","targetProgress","startRotate","tempPathMeshtargetPosition","generateTempPathMesh","generateTempPath","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","cleanTempPathMesh","setProgress","speed","setSpeed","Error","contineCount","takeOffAnimation","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.position = 'absolute'\n span.style.top = '10px'\n span.style.left = '50%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(100, 40, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n this.inspection.gobal.interactionManager.add(poi)\n this.inspection.gobal.interactionManager.add(poi2)\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n // child.layers.enable(2)\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, 10, {\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y - 20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress,\n })\n })\n }\n\n /**\n * send compass info\n * not use useframe, because useframe will be lose some frame\n */\n private sendCompassInfo() {\n setInterval(() => {\n const mesh = this.model\n mesh.updateMatrixWorld(true)\n\n const worldQuaternion = new Quaternion()\n mesh.getWorldQuaternion(worldQuaternion)\n\n const worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ')\n const rotationY = worldEuler.y\n const rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY))\n\n sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {\n rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),\n degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,\n distance: this.getSportsProgress * this.inspection.curve.getLength(),\n verticalSpeed: 0,\n horizontalSpeed: 10,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 0, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.15 || Number(key) === 0.24) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.04 || Number(key) === 0.68 || Number(key) === 0.40)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation() {\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: false })\n\n upControl.addEventListener('end', () => {\n this.control.contine()\n })\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, 10, { loop: false, lookat: targetPosition })\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, 60, { loop: false, lookat: false })\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, 10, { loop: false, lookat: false })\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.contine()\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n if (!this.control)\n throw new Error('control not init')\n\n if (this.contineCount === 0)\n this.takeOffAnimation()\n\n else\n this.control.contine()\n\n this.contineCount++\n\n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n 'white'
|
|
1
|
+
{"version":3,"names":["SceneStyle","SceneTag"],"sources":["../../../src/factory/utils/constant.ts"],"sourcesContent":["export enum SceneStyle {\n 'real',\n 'tech',\n 'white',\n}\n\nexport enum SceneTag {\n 'overview' = 'Overview',\n 'people-management' = 'Person',\n 'smart-inspection' = 'Inspection',\n 'security-operation' = 'Maintenance',\n 'standBy' = 'StandBy',\n}"],"mappings":"AAAA,WAAYA,UAAU;AAIrB,WAJWA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;AAAA,GAAVA,UAAU,KAAVA,UAAU;AAMtB,WAAYC,QAAQ;AAMnB,WANWA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;EAARA,QAAQ;AAAA,GAARA,QAAQ,KAARA,QAAQ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Color, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector4 } from
|
|
1
|
+
import { Color, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector4 } from '@anov/3d-core';
|
|
2
2
|
var resourcePath = './';
|
|
3
3
|
var resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/';
|
|
4
4
|
var usePath = false ? resourcePath : resourcePath2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Color","RepeatWrapping","ShaderChunk","ShaderMaterial","TextureLoader","Vector4","resourcePath","resourcePath2","usePath","_Texture","load","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","material","transparent"],"sources":["../../../src/factory/utils/ground.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"names":["Color","RepeatWrapping","ShaderChunk","ShaderMaterial","TextureLoader","Vector4","resourcePath","resourcePath2","usePath","_Texture","load","_Texture2","_Texture3","wrapS","wrapT","repeat","set","uniforms","value","_Texture_ST","_Color","r","g","b","_ColorS","_TextureMask","_TexturePlane","_MaskUV","_ColorMask","_ColorMaskS","_Speed","_OP","_Time","vertexShader","logdepthbuf_pars_vertex","logdepthbuf_vertex","fragmentShader","logdepthbuf_pars_fragment","logdepthbuf_fragment","material","transparent"],"sources":["../../../src/factory/utils/ground.ts"],"sourcesContent":["import { Color, RepeatWrapping, ShaderChunk, ShaderMaterial, TextureLoader, Vector4 } from '@anov/3d-core'\n\nconst resourcePath = './'\nconst resourcePath2 = 'http://172.16.223.163:9000/anov-prod/anov-3d/factory/example/'\nconst 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\nexport const 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 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 material = new ShaderMaterial({\n uniforms,\n vertexShader,\n fragmentShader,\n transparent: true,\n})"],"mappings":"AAAA,SAASA,KAAK,EAAEC,cAAc,EAAEC,WAAW,EAAEC,cAAc,EAAEC,aAAa,EAAEC,OAAO,QAAQ,eAAe;AAE1G,IAAMC,YAAY,GAAG,IAAI;AACzB,IAAMC,aAAa,GAAG,+DAA+D;AACrF,IAAMC,OAAO,GAAG,QAA4BF,YAAY,GAAGC,aAAa;AAExE,IAAME,QAAQ,GAAG,IAAIL,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AACjE,IAAMG,SAAS,GAAG,IAAIP,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AAClE,IAAMI,SAAS,GAAG,IAAIR,aAAa,EAAE,CAACM,IAAI,WAAIF,OAAO,gBAAa;AAElEC,QAAQ,CAACI,KAAK,GAAGZ,cAAc;AAC/BQ,QAAQ,CAACK,KAAK,GAAGb,cAAc;AAE/BU,SAAS,CAACE,KAAK,GAAGZ,cAAc;AAChCU,SAAS,CAACG,KAAK,GAAGb,cAAc;AAEhCW,SAAS,CAACC,KAAK,GAAGZ,cAAc;AAChCW,SAAS,CAACE,KAAK,GAAGb,cAAc;AAEhCQ,QAAQ,CAACM,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC/BL,SAAS,CAACI,MAAM,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5BJ,SAAS,CAACG,MAAM,CAACC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAEhC,OAAO,IAAMC,QAAQ,GAAG;EACtBR,QAAQ,EAAE;IAAES,KAAK,EAAET;EAAS,CAAC;EAC7BU,WAAW,EAAE;IAAED,KAAK,EAAE,IAAIb,OAAO;EAAG,CAAC;EACrCe,MAAM,EAAE;IAAEF,KAAK,EAAE,IAAIb,OAAO,CAAC,IAAIL,KAAK,CAAC,SAAS,CAAC,CAACqB,CAAC,EAAE,IAAIrB,KAAK,CAAC,SAAS,CAAC,CAACsB,CAAC,EAAE,IAAItB,KAAK,CAAC,SAAS,CAAC,CAACuB,CAAC,EAAE,GAAG;EAAE,CAAC;EAC3GC,OAAO,EAAE;IAAEN,KAAK,EAAE;EAAE,CAAC;EACrBO,YAAY,EAAE;IAAEP,KAAK,EAAEP;EAAU,CAAC;EAClCe,aAAa,EAAE;IAAER,KAAK,EAAEN;EAAU,CAAC;EACnCe,OAAO,EAAE;IAAET,KAAK,EAAE;EAAE,CAAC;EACrBU,UAAU,EAAE;IAAEV,KAAK,EAAE,IAAIb,OAAO,CAAC,IAAIL,KAAK,CAAC,MAAM,CAAC,CAACqB,CAAC,EAAE,IAAIrB,KAAK,CAAC,MAAM,CAAC,CAACsB,CAAC,EAAE,IAAItB,KAAK,CAAC,MAAM,CAAC,CAACuB,CAAC,EAAE,CAAC;EAAE,CAAC;EACpGM,WAAW,EAAE;IAAEX,KAAK,EAAE;EAAE,CAAC;EACzBY,MAAM,EAAE;IAAEZ,KAAK,EAAE,IAAIb,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;EAAE,CAAC;EAC9C0B,GAAG,EAAE;IAAEb,KAAK,EAAE;EAAI,CAAC;EACnBc,KAAK,EAAE;IAAEd,KAAK,EAAE;EAAI;AACtB,CAAC;AAED,IAAMe,YAAY,GAAG,sBACnB/B,WAAW,CAACgC,uBAAuB,yWAY3BhC,WAAW,CAACiC,kBAAkB,cAEvC;;AAED;AACA,IAAMC,cAAc,GAAG,wBACnBlC,WAAW,CAACmC,yBAAyB,gjDAyC/BnC,WAAW,CAACoC,oBAAoB,cAEzC;AAED,OAAO,IAAMC,QAAQ,GAAG,IAAIpC,cAAc,CAAC;EACzCc,QAAQ,EAARA,QAAQ;EACRgB,YAAY,EAAZA,YAAY;EACZG,cAAc,EAAdA,cAAc;EACdI,WAAW,EAAE;AACf,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","SceneStyle","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","map","Real","real","Fresnel","tech","Pure","white","toggleSceneStyle"],"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'\nimport { SceneStyle } from '../../factory/utils/constant'\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 setTheme(params: { name: 'Real' | 'Fresnel' | 'Pure' }) {\n
|
|
1
|
+
{"version":3,"names":["Grow","MessageType","sendToMessage","EMessageStatus","factoryGlobalObject","SceneStyle","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","map","Real","real","Fresnel","tech","Pure","white","toggleSceneStyle"],"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'\nimport { SceneStyle } from '../../factory/utils/constant'\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 setTheme(params: { name: 'Real' | 'Fresnel' | 'Pure' }) {\n const map = {\n Real: SceneStyle.real,\n Fresnel: SceneStyle.tech,\n Pure: SceneStyle.white,\n }\n\n if (params.name === 'Fresnel') {\n // @ts-ignore\n this.app.environment.skyControl.disabledSun()\n }\n else {\n // @ts-ignore\n this.app.environment.skyControl.enabledSun()\n }\n\n factoryGlobalObject.factory3D.toggleSceneStyle(map[params.name])\n }\n}\n"],"mappings":";;;;;;;AAEA,SAAoCA,IAAI,QAAQ,kBAAkB;AAClE,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AACvB,OAAOC,mBAAmB;AAG1B,SAASC,UAAU;AAEnB,WAAaC,KAAK;EAMhB,eAAYC,GAAW,EAAE;IAAA;IAAA;IAAA;IAAA;IACvB,IAAI,CAACA,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,IAAI,GAAG,IAAI;IAChB,IAAI,CAACC,GAAG,GAAG,CAAC,CAAC;EACf;;EAEA;EAAA;IAAA;IAAA,OACA,kBAASA,GAAgB,EAAE;MAAA;MACzB,OAAO,IAAIC,OAAO,CAAC,UAACC,GAAG,EAAK;QAC1BC,MAAM,CAACC,MAAM,CAAC,KAAI,CAACJ,GAAG,EAAEA,GAAG,IAAI,CAAC,CAAC,EAC/B;UACEK,mBAAmB,EAAE,+BAAM;YACzBC,OAAO,CAACC,GAAG,CAAC,4BAA4B,CAAC;YACzCd,aAAa,CAACD,WAAW,CAACgB,KAAK,EAAE,qBAAqB,EAAEd,cAAc,CAACe,OAAO,CAAC;UACjF,CAAC;UACDC,aAAa,EAAE,yBAAM;YACnBJ,OAAO,CAACC,GAAG,CAAC,sBAAsB,CAAC;;YAEnC;YACAd,aAAa,CAACD,WAAW,CAACgB,KAAK,EAAE,eAAe,EAAEd,cAAc,CAACe,OAAO,CAAC;UAC3E,CAAC;UACDE,iBAAiB,EAAE,6BAAM;YACvBL,OAAO,CAACC,GAAG,CAAC,0BAA0B,CAAC;;YAEvC;YACAd,aAAa,CAACD,WAAW,CAACgB,KAAK,EAAE,mBAAmB,EAAEd,cAAc,CAACe,OAAO,CAAC;UAC/E,CAAC;UACDG,cAAc,EAAE,0BAAM;YACpB;YACAN,OAAO,CAACC,GAAG,CAAC,uBAAuB,CAAC;YACpCd,aAAa,CAACD,WAAW,CAACgB,KAAK,EAAE,gBAAgB,EAAEd,cAAc,CAACe,OAAO,CAAC;UAC5E,CAAC;UACDI,kBAAkB,EAAE,8BAAM;YACxB;YACAP,OAAO,CAACC,GAAG,CAAC,2BAA2B,CAAC;YACxCd,aAAa,CAACD,WAAW,CAACgB,KAAK,EAAE,oBAAoB,EAAEd,cAAc,CAACe,OAAO,CAAC;UAChF;QACF,CAAC,CAAC;QACJ,KAAI,CAACV,IAAI,GAAG,IAAIR,IAAI,CAAC,KAAI,CAACS,GAAG,CAAC;QAC9BE,GAAG,CAAC;UAAEY,OAAO,EAAE;QAAK,CAAC,CAAC;MACxB,CAAC,CAAC;IACJ;;IAEA;EAAA;IAAA;IAAA,OACA,kBAAS;MAAA;MACP,OAAO,IAAIb,OAAO,CAAC,UAACC,GAAG,EAAK;QAC1B;QACA,IAAI,MAAI,CAACH,IAAI,EACX,MAAI,CAACA,IAAI,CAACgB,EAAE,CAAC,YAAM;UAAEb,GAAG,CAAC;YAAEY,OAAO,EAAE;UAAK,CAAC,CAAC;QAAC,CAAC,CAAC,MAC3CZ,GAAG,CAAC;UAAEc,OAAO,EAAE;QAAuB,CAAC,CAAC;MAC/C,CAAC,CAAC;IACJ;;IAEA;EAAA;IAAA;IAAA,OACA,mBAAU;MAAA;MACR,OAAO,IAAIf,OAAO,CAAC,UAACC,GAAG,EAAK;QAC1B;QACA,IAAI,MAAI,CAACH,IAAI,EACX,MAAI,CAACA,IAAI,CAACkB,GAAG,CAAC,YAAM;UAAEf,GAAG,CAAC;YAAEY,OAAO,EAAE;UAAK,CAAC,CAAC;QAAC,CAAC,CAAC,MAC5CZ,GAAG,CAAC;UAAEc,OAAO,EAAE;QAAuB,CAAC,CAAC;MAC/C,CAAC,CAAC;IACJ;;IAEA;EAAA;IAAA;IAAA,OACA,gBAAOE,MAAW,EAAE;MAClBZ,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEW,MAAM,CAAC;MAE9B,IAAIA,MAAM,CAACC,IAAI,KAAK,QAAQ,EAAE;QAC5B;QACA,IAAI,CAACrB,GAAG,CAACsB,WAAW,CAACC,UAAU,CAACC,WAAW,EAAE;MAC/C,CAAC,MAEI;QACH;QACA,IAAI,CAACxB,GAAG,CAACsB,WAAW,CAACC,UAAU,CAACE,UAAU,EAAE;MAC9C;MAEA5B,mBAAmB,CAAC6B,SAAS,CAACC,SAAS,CAACP,MAAM,CAACC,IAAI,CAAC;IACtD;EAAC;IAAA;IAAA,OAED,kBAASD,MAA6C,EAAE;MACtD,IAAMQ,GAAG,GAAG;QACVC,IAAI,EAAE/B,UAAU,CAACgC,IAAI;QACrBC,OAAO,EAAEjC,UAAU,CAACkC,IAAI;QACxBC,IAAI,EAAEnC,UAAU,CAACoC;MACnB,CAAC;MAED,IAAId,MAAM,CAACC,IAAI,KAAK,SAAS,EAAE;QAC7B;QACA,IAAI,CAACrB,GAAG,CAACsB,WAAW,CAACC,UAAU,CAACC,WAAW,EAAE;MAC/C,CAAC,MACI;QACH;QACA,IAAI,CAACxB,GAAG,CAACsB,WAAW,CAACC,UAAU,CAACE,UAAU,EAAE;MAC9C;MAEA5B,mBAAmB,CAAC6B,SAAS,CAACS,gBAAgB,CAACP,GAAG,CAACR,MAAM,CAACC,IAAI,CAAC,CAAC;IAClE;EAAC;EAAA;AAAA"}
|