@anov/3d 0.0.101 → 0.0.102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/factory/3d.d.ts +3 -1
- package/dist/factory/3d.js +75 -52
- package/dist/factory/3d.js.map +1 -1
- package/dist/factory/unit/inspection/InspectionObject.d.ts +4 -0
- package/dist/factory/unit/inspection/InspectionObject.js +27 -5
- package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
- package/dist/factory/unit/poi.js +7 -5
- package/dist/factory/unit/poi.js.map +1 -1
- package/dist/factory/unit/slice.js +1 -1
- package/dist/factory/unit/slice.js.map +1 -1
- package/dist/module/environment/index.d.ts +7 -0
- package/dist/module/environment/index.js +11 -0
- package/dist/module/environment/index.js.map +1 -1
- package/dist/module/environment/season/index.d.ts +22 -0
- package/dist/module/environment/season/index.js +259 -0
- package/dist/module/environment/season/index.js.map +1 -0
- package/package.json +3 -3
package/dist/factory/3d.d.ts
CHANGED
|
@@ -41,10 +41,12 @@ declare class Factory3D {
|
|
|
41
41
|
private techModel;
|
|
42
42
|
private whiteModel;
|
|
43
43
|
private realGroundModel;
|
|
44
|
-
private realTreeModel;
|
|
45
44
|
private thermaLimaging;
|
|
46
45
|
private eventHandleFn;
|
|
47
46
|
private boxSkeyTexture;
|
|
47
|
+
private treesMesh;
|
|
48
|
+
private grasslandMesh;
|
|
49
|
+
private massifMesh;
|
|
48
50
|
mainCamera: any;
|
|
49
51
|
interactionManager: InteractionManager;
|
|
50
52
|
constructor(option: factory3dOption);
|
package/dist/factory/3d.js
CHANGED
|
@@ -51,10 +51,12 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
51
51
|
_defineProperty(this, "techModel", void 0);
|
|
52
52
|
_defineProperty(this, "whiteModel", void 0);
|
|
53
53
|
_defineProperty(this, "realGroundModel", void 0);
|
|
54
|
-
_defineProperty(this, "realTreeModel", void 0);
|
|
55
54
|
_defineProperty(this, "thermaLimaging", void 0);
|
|
56
55
|
_defineProperty(this, "eventHandleFn", new Map());
|
|
57
56
|
_defineProperty(this, "boxSkeyTexture", void 0);
|
|
57
|
+
_defineProperty(this, "treesMesh", []);
|
|
58
|
+
_defineProperty(this, "grasslandMesh", []);
|
|
59
|
+
_defineProperty(this, "massifMesh", []);
|
|
58
60
|
_defineProperty(this, "mainCamera", void 0);
|
|
59
61
|
_defineProperty(this, "interactionManager", void 0);
|
|
60
62
|
this.option = option;
|
|
@@ -69,47 +71,86 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
69
71
|
key: "renderScene",
|
|
70
72
|
value: function renderScene(scene) {
|
|
71
73
|
var _this = this;
|
|
74
|
+
function loadCSS(url, callback) {
|
|
75
|
+
var link = document.createElement('link');
|
|
76
|
+
link.rel = 'stylesheet';
|
|
77
|
+
link.href = url;
|
|
78
|
+
link.onload = function () {
|
|
79
|
+
if (typeof callback === 'function') callback();
|
|
80
|
+
};
|
|
81
|
+
link.onerror = function (err) {
|
|
82
|
+
console.log(err);
|
|
83
|
+
console.error("Failed to load CSS: ".concat(url));
|
|
84
|
+
};
|
|
85
|
+
document.head.appendChild(link);
|
|
86
|
+
}
|
|
72
87
|
return new Promise(function (resolve) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
_this.
|
|
88
|
+
loadCSS('./result.css', function () {
|
|
89
|
+
_this.scene = scene;
|
|
90
|
+
_this.cameraUtil = new Camera(scene.camera, scene.controls, scene);
|
|
91
|
+
_this.control = scene.controls;
|
|
92
|
+
scene.camera.layers.set(0);
|
|
93
|
+
load.loadGLTF("".concat(_this.usePath, "landScap2.glb"), false, true, './draco/', function (gltf) {
|
|
94
|
+
_this.realGroundModel = gltf.scene;
|
|
79
95
|
|
|
80
|
-
|
|
96
|
+
// this.interactionManager.add(gltf.scene)
|
|
81
97
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
98
|
+
// gltf.scene.addEventListener('click', (value) => {
|
|
99
|
+
// console.log(value.point)
|
|
100
|
+
// this.position = value.point
|
|
101
|
+
// })
|
|
102
|
+
var mesh, material;
|
|
103
|
+
gltf.scene.traverse(function (child) {
|
|
104
|
+
child.layers.enable(5);
|
|
105
|
+
if (child.type === 'Mesh') {
|
|
106
|
+
child.castShadow = true;
|
|
107
|
+
child.receiveShadow = true;
|
|
108
|
+
mesh = child;
|
|
109
|
+
material = mesh.material;
|
|
110
|
+
// 记录树、草地、山体的Mesh对象,用于四季效果
|
|
111
|
+
if (material.name === 'sss-1-2.001' || material.name === 'sss-1') _this.treesMesh.push(mesh);else if (material.name === 'Material #32') _this.grasslandMesh.push(mesh);else if (material.name === 'Material #33') _this.massifMesh.push(mesh);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
scene.add(_this.realGroundModel);
|
|
115
|
+
return gltf;
|
|
116
|
+
});
|
|
117
|
+
load.loadGLTF("".concat(_this.usePath, "landScap3.glb"), false, true, './draco/', function (gltf) {
|
|
118
|
+
_this.realTreeModel = gltf.scene;
|
|
86
119
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
120
|
+
// this.interactionManager.add(gltf.scene)
|
|
121
|
+
|
|
122
|
+
// gltf.scene.addEventListener('click', (value) => {
|
|
123
|
+
// console.log(value.point)
|
|
124
|
+
// this.position = value.point
|
|
125
|
+
// })
|
|
126
|
+
|
|
127
|
+
gltf.scene.traverse(function (child) {
|
|
128
|
+
child.layers.enable(5);
|
|
129
|
+
if (child.type === 'Mesh') {
|
|
130
|
+
child.castShadow = true;
|
|
131
|
+
child.receiveShadow = true;
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
scene.add(_this.realTreeModel);
|
|
135
|
+
return gltf;
|
|
93
136
|
});
|
|
94
|
-
scene.
|
|
95
|
-
|
|
96
|
-
});
|
|
97
|
-
var interactionManager = new InteractionManager(_this.scene.renderer, _this.scene.camera, _this.scene.renderer.domElement) // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,
|
|
98
|
-
;
|
|
137
|
+
var interactionManager = new InteractionManager(_this.scene.renderer, _this.scene.camera, _this.scene.renderer.domElement) // Modified By LM this.scene.cssRenderer.cssRenderer.domElement,
|
|
138
|
+
;
|
|
99
139
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
140
|
+
_this.interactionManager = interactionManager;
|
|
141
|
+
utils.storeManagement.set('interactionManager', interactionManager);
|
|
142
|
+
use.useframe(function () {
|
|
143
|
+
interactionManager.update();
|
|
144
|
+
});
|
|
145
|
+
_this.loadModel();
|
|
146
|
+
loadingManager.onLoad = function () {
|
|
147
|
+
resolve('success');
|
|
148
|
+
};
|
|
109
149
|
|
|
110
|
-
|
|
150
|
+
// initPostEffects(scene.scene, scene.renderer, scene.camera, { type: 'main' })
|
|
111
151
|
|
|
112
|
-
|
|
152
|
+
scene.renderer.toneMappingExposure = 0.4;
|
|
153
|
+
});
|
|
113
154
|
});
|
|
114
155
|
}
|
|
115
156
|
}, {
|
|
@@ -323,21 +364,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
323
364
|
_this2.pipeline = gltf.scene;
|
|
324
365
|
return gltf;
|
|
325
366
|
});
|
|
326
|
-
|
|
327
|
-
// ground
|
|
328
|
-
load.loadGLTF("".concat(this.usePath, "landScap.glb"), false, true, './draco/', function (gltf) {
|
|
329
|
-
_this2.scene.add(gltf.scene);
|
|
330
|
-
|
|
331
|
-
// this.interactionManager.add(gltf.scene)
|
|
332
|
-
|
|
333
|
-
// gltf.scene.addEventListener('click', (value) => {
|
|
334
|
-
// console.log(value.point)
|
|
335
|
-
// this.position = value.point
|
|
336
|
-
// })
|
|
337
|
-
|
|
338
|
-
_this2.realGroundModel = gltf.scene;
|
|
339
|
-
return gltf;
|
|
340
|
-
});
|
|
341
367
|
}
|
|
342
368
|
|
|
343
369
|
/**
|
|
@@ -354,7 +380,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
354
380
|
this.techModel.visible = true;
|
|
355
381
|
this.realModl.visible = false;
|
|
356
382
|
this.whiteModel.visible = false;
|
|
357
|
-
this.realTreeModel.visible = false;
|
|
358
383
|
this.scene.scene.background = null;
|
|
359
384
|
this.realGroundModel && (this.realGroundModel.visible = false);
|
|
360
385
|
this.scene.renderer.toneMappingExposure = 0.6;
|
|
@@ -365,7 +390,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
365
390
|
this.whiteModel.visible = false;
|
|
366
391
|
this.realModl.visible = true;
|
|
367
392
|
this.realGroundModel && (this.realGroundModel.visible = true);
|
|
368
|
-
this.realTreeModel && (this.realTreeModel.visible = true);
|
|
369
393
|
this.scene.scene.background = new Color('#ccc');
|
|
370
394
|
this.scene.renderer.toneMappingExposure = 0.4;
|
|
371
395
|
}
|
|
@@ -374,7 +398,6 @@ var Factory3D = /*#__PURE__*/function () {
|
|
|
374
398
|
this.techModel.visible = false;
|
|
375
399
|
this.realModl.visible = false;
|
|
376
400
|
this.whiteModel.visible = true;
|
|
377
|
-
this.realTreeModel.visible = false;
|
|
378
401
|
this.scene.scene.background = null;
|
|
379
402
|
this.realGroundModel && (this.realGroundModel.visible = false);
|
|
380
403
|
this.scene.renderer.toneMappingExposure = 0.4;
|
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","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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"}
|
|
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","loadCSS","url","callback","link","document","createElement","rel","href","onload","onerror","err","console","log","error","head","appendChild","Promise","resolve","cameraUtil","camera","controls","control","layers","set","loadGLTF","gltf","realGroundModel","mesh","traverse","child","enable","type","castShadow","receiveShadow","name","treesMesh","push","grasslandMesh","massifMesh","add","realTreeModel","interactionManager","renderer","domElement","storeManagement","useframe","update","loadModel","onLoad","toneMappingExposure","visible","style","realModl","call","group","_Time","value","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","img","src","span","innerText","top","left","transform","fontSize","fontWeight","span2","poi01","width","height","div2","img2","span3","span4","poi02","thermaLimaging","pipeline","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"],"sources":["../../src/factory/3d.ts"],"sourcesContent":["import type { DataTexture, Group, Material, Object3D, 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 thermaLimaging: Group\n private eventHandleFn: Map<string, ((args?: any) => void)[]> = new Map()\n private boxSkeyTexture: DataTexture\n private treesMesh: Array<Mesh> = []\n private grasslandMesh: Array<Mesh> = []\n private massifMesh: Array<Mesh> = []\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 function loadCSS(url, callback) {\n const link = document.createElement('link')\n link.rel = 'stylesheet'\n link.href = url\n\n link.onload = () => {\n if (typeof callback === 'function')\n callback()\n }\n\n link.onerror = (err) => {\n console.log(err)\n console.error(`Failed to load CSS: ${url}`)\n }\n\n document.head.appendChild(link)\n }\n\n return new Promise((resolve) => {\n loadCSS('./result.css', () => {\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}landScap2.glb`, false, true, './draco/', (gltf) => {\n this.realGroundModel = (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 let mesh, material\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 mesh = child as Mesh\n material = mesh.material as Material\n // 记录树、草地、山体的Mesh对象,用于四季效果\n if (material.name === 'sss-1-2.001' || material.name === 'sss-1')\n this.treesMesh.push(mesh)\n else if (material.name === 'Material #32')\n this.grasslandMesh.push(mesh)\n else if (material.name === 'Material #33')\n this.massifMesh.push(mesh)\n }\n })\n scene.add(this.realGroundModel)\n\n return gltf\n })\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\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\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.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.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.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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"}
|
|
@@ -14,6 +14,10 @@ declare class InspectionObject {
|
|
|
14
14
|
isStartUp: boolean;
|
|
15
15
|
initialMinCameraQuaternion: any;
|
|
16
16
|
contineCount: number;
|
|
17
|
+
compassInfo: {
|
|
18
|
+
verticalSpeed: number;
|
|
19
|
+
horizontalSpeed: number;
|
|
20
|
+
};
|
|
17
21
|
constructor(inspection: any);
|
|
18
22
|
private loadModel;
|
|
19
23
|
private breathinglamp;
|
|
@@ -34,6 +34,10 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
34
34
|
_defineProperty(this, "isStartUp", false);
|
|
35
35
|
_defineProperty(this, "initialMinCameraQuaternion", void 0);
|
|
36
36
|
_defineProperty(this, "contineCount", 0);
|
|
37
|
+
_defineProperty(this, "compassInfo", {
|
|
38
|
+
verticalSpeed: 0,
|
|
39
|
+
horizontalSpeed: 10
|
|
40
|
+
});
|
|
37
41
|
_defineProperty(this, "startRotate", function (targetQuaternion, mesh, cb) {
|
|
38
42
|
var clock = new Clock();
|
|
39
43
|
if (mesh.quaternion.equals(targetQuaternion)) return cb();
|
|
@@ -80,7 +84,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
80
84
|
span.innerText = '巡检无人机';
|
|
81
85
|
span.style.position = 'absolute';
|
|
82
86
|
span.style.top = '10px';
|
|
83
|
-
span.style.left = '
|
|
87
|
+
span.style.left = '45%';
|
|
84
88
|
span.style.transform = 'translateX(-30%)';
|
|
85
89
|
span.style.color = 'white';
|
|
86
90
|
span.style.fontSize = '20px';
|
|
@@ -97,7 +101,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
97
101
|
width: 400 * 2,
|
|
98
102
|
height: 160 * 2
|
|
99
103
|
});
|
|
100
|
-
poi.scale.set(
|
|
104
|
+
poi.scale.set(80, 30, 1);
|
|
101
105
|
poi2.scale.set(400, 160, 1);
|
|
102
106
|
fly1 = glb.scene.getObjectByName('fly1');
|
|
103
107
|
fly2 = glb.scene.getObjectByName('fly1_1');
|
|
@@ -128,6 +132,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
128
132
|
if (isCheck(_this.getSportsProgress) && !_this.isLock) {
|
|
129
133
|
_this.stop();
|
|
130
134
|
_this.checkAnimation(_this.getSportsProgress);
|
|
135
|
+
_this.compassInfo.horizontalSpeed = 0;
|
|
136
|
+
_this.compassInfo.verticalSpeed = 0;
|
|
131
137
|
}
|
|
132
138
|
});
|
|
133
139
|
this.inspection.minCamera.position.copy(glb.scene.position);
|
|
@@ -244,7 +250,7 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
244
250
|
});
|
|
245
251
|
}
|
|
246
252
|
sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {
|
|
247
|
-
percentage: _this3.getSportsProgress
|
|
253
|
+
percentage: _this3.getSportsProgress * 1000
|
|
248
254
|
});
|
|
249
255
|
});
|
|
250
256
|
case 8:
|
|
@@ -278,8 +284,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
278
284
|
rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),
|
|
279
285
|
degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,
|
|
280
286
|
distance: _this4.getSportsProgress * _this4.inspection.curve.getLength(),
|
|
281
|
-
verticalSpeed:
|
|
282
|
-
horizontalSpeed:
|
|
287
|
+
verticalSpeed: _this4.compassInfo.verticalSpeed * 3.6,
|
|
288
|
+
horizontalSpeed: _this4.compassInfo.horizontalSpeed * 3.6
|
|
283
289
|
});
|
|
284
290
|
}, 100);
|
|
285
291
|
}
|
|
@@ -425,6 +431,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
425
431
|
backwardTween.onComplete(function () {
|
|
426
432
|
_this5.isAnimation = false;
|
|
427
433
|
_this5.contineMove();
|
|
434
|
+
_this5.compassInfo.verticalSpeed = 0;
|
|
435
|
+
_this5.compassInfo.horizontalSpeed = 10;
|
|
428
436
|
currentAnchor.traverse(function (child) {
|
|
429
437
|
if (child.name === 'cylinder') child.material = new MeshBasicMaterial({
|
|
430
438
|
color: new Color('#cdccca')
|
|
@@ -483,8 +491,12 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
483
491
|
loop: false,
|
|
484
492
|
lookat: false
|
|
485
493
|
});
|
|
494
|
+
this.compassInfo.horizontalSpeed = 0;
|
|
495
|
+
this.compassInfo.verticalSpeed = 10;
|
|
486
496
|
upControl.addEventListener('end', function () {
|
|
487
497
|
_this7.control.contine();
|
|
498
|
+
_this7.compassInfo.verticalSpeed = 0;
|
|
499
|
+
_this7.compassInfo.horizontalSpeed = 10;
|
|
488
500
|
});
|
|
489
501
|
}
|
|
490
502
|
}, {
|
|
@@ -494,6 +506,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
494
506
|
if (this.isAnimation) return;
|
|
495
507
|
this.isAnimation = true;
|
|
496
508
|
this.control.stop();
|
|
509
|
+
this.compassInfo.verticalSpeed = 0;
|
|
510
|
+
this.compassInfo.horizontalSpeed = 0;
|
|
497
511
|
var rotationMatrix = new Matrix4();
|
|
498
512
|
var targetQuaternion = new Quaternion();
|
|
499
513
|
rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up);
|
|
@@ -507,6 +521,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
507
521
|
loop: false,
|
|
508
522
|
lookat: targetPosition
|
|
509
523
|
});
|
|
524
|
+
_this8.compassInfo.verticalSpeed = 10;
|
|
525
|
+
_this8.compassInfo.horizontalSpeed = 0;
|
|
510
526
|
|
|
511
527
|
// up end
|
|
512
528
|
upControl.addEventListener('end', function () {
|
|
@@ -515,6 +531,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
515
531
|
loop: false,
|
|
516
532
|
lookat: false
|
|
517
533
|
});
|
|
534
|
+
_this8.compassInfo.verticalSpeed = 0;
|
|
535
|
+
_this8.compassInfo.horizontalSpeed = 60;
|
|
518
536
|
|
|
519
537
|
// temp end
|
|
520
538
|
tempControl.addEventListener('end', function () {
|
|
@@ -524,6 +542,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
524
542
|
loop: false,
|
|
525
543
|
lookat: false
|
|
526
544
|
});
|
|
545
|
+
_this8.compassInfo.verticalSpeed = 10;
|
|
546
|
+
_this8.compassInfo.horizontalSpeed = 0;
|
|
527
547
|
|
|
528
548
|
// down end
|
|
529
549
|
downControl.addEventListener('end', function () {
|
|
@@ -538,6 +558,8 @@ var InspectionObject = /*#__PURE__*/function () {
|
|
|
538
558
|
_this8.isAnimation = false;
|
|
539
559
|
_this8.control.setProgress(targetProgress);
|
|
540
560
|
_this8.control.contine();
|
|
561
|
+
_this8.compassInfo.verticalSpeed = 0;
|
|
562
|
+
_this8.compassInfo.horizontalSpeed = 10;
|
|
541
563
|
}, 500);
|
|
542
564
|
});
|
|
543
565
|
});
|