gs-bim-air 0.1.3-0.14 → 0.1.3-0.15
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/READMEBETA2.md +48 -0
- package/demo//346/250/241/345/236/213/344/272/244/344/272/222//346/250/241/345/236/213/344/272/244/344/272/222-/345/212/240/350/275/275/345/244/232/346/250/241/345/236/213-/346/227/213/350/275/254/345/271/263/347/247/273/347/274/251/346/224/276.html +155 -0
- package/demo//346/250/241/345/236/213/344/272/244/344/272/222//346/250/241/345/236/213/344/272/244/344/272/222-/345/244/232/346/250/241/345/236/213/346/223/215/344/275/234-/351/232/220/350/227/217/345/274/272/350/260/203.html +156 -0
- package/demo//346/250/241/345/236/213/344/272/244/344/272/222//346/250/241/345/236/213/344/272/244/344/272/222-/350/256/276/347/275/256viewHouse.html +122 -0
- package/demo//346/250/241/345/236/213/345/212/250/347/224/273//345/212/250/347/224/273-/345/273/272/347/255/221/346/210/277/345/261/213/350/277/233/345/272/246/346/250/241/346/213/237-/351/232/224/347/246/273/347/224/237/351/225/277.html +118 -0
- package/demo//346/250/241/345/236/213/345/212/250/347/224/273//345/212/250/347/224/273-/346/226/275/345/267/245/350/277/233/345/272/246/346/250/241/346/213/237-/350/267/257/345/276/204/345/212/250/347/224/273/347/224/237/351/225/277.html +493 -0
- package/demo//346/250/241/345/236/213/345/212/250/347/224/273//345/212/250/347/224/273-/347/256/241/350/267/257/350/277/233/345/272/246/346/250/241/346/213/237-/347/256/241/351/201/223/347/224/237/351/225/277.html +172 -0
- package/demo//346/250/241/345/236/213/345/212/250/347/224/273//345/212/250/347/224/273-/350/207/252/345/256/232/344/271/211/347/256/241/351/201/223/350/277/233/345/272/246/346/250/241/346/213/237/346/226/271/345/220/221.html +291 -0
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//345/217/214/345/261/217/346/223/215/344/275/234.html +77 -65
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//346/230/276/347/244/272/347/233/270/346/234/272/345/217/202/346/225/260.html +1 -1
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//346/250/241/345/236/213/346/223/215/344/275/234-/346/250/241/345/236/213/350/247/206/350/247/222-/346/212/225/345/275/261/346/226/271/345/274/217/345/217/230/346/215/242.html +115 -0
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//346/250/241/345/236/213/346/223/215/344/275/234-/346/250/241/345/236/213/350/247/206/350/247/222-/350/216/267/345/217/226/347/233/270/346/234/272/345/217/202/346/225/260.html +134 -0
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//346/250/241/345/236/213/346/223/215/344/275/234-/346/250/241/345/236/213/350/247/206/350/247/222-/351/224/201/345/256/232/347/233/270/346/234/272/350/247/206/350/247/222.html +138 -0
- package/demo//346/250/241/345/236/213/346/223/215/344/275/234//350/256/276/347/275/256/347/233/270/346/234/272/347/212/266/346/200/201-/350/216/267/345/217/226/344/275/215/347/275/256/343/200/201/346/201/242/345/244/215/344/275/215/347/275/256.html +2 -2
- package/demo//346/250/241/345/236/213/346/225/210/346/236/234//350/201/232/345/205/211/347/201/257/346/225/210/346/236/234.html +56 -0
- package/demo//346/250/241/345/236/213/346/225/210/346/236/234//350/277/233/345/272/246/346/250/241/346/213/237-/346/214/211/344/273/273/346/204/217/346/226/271/345/220/221/345/211/226/345/210/207.html +1 -1
- package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//345/244/232/346/250/241/345/236/213/346/223/215/344/275/234-/346/236/204/344/273/266/351/232/220/350/227/217/343/200/201/346/236/204/344/273/266/345/274/272/350/260/203.html +1 -1
- package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//346/236/204/344/273/266/346/223/215/344/275/234-/346/236/204/344/273/266/345/244/215/345/210/266-/344/277/256/346/224/271/351/242/234/350/211/262/343/200/201/346/236/204/344/273/266/351/232/224/347/246/273.html +250 -0
- package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//346/236/204/344/273/266/346/223/215/344/275/234-/346/236/204/344/273/266/345/244/215/345/210/266-/346/236/204/344/273/266/351/232/220/350/227/217/343/200/201/350/267/257/345/276/204/345/212/250/347/224/273.html +265 -0
- package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//346/250/241/345/236/213/344/277/241/346/201/257-/350/216/267/345/217/226/346/250/241/345/236/213/345/261/236/346/200/247/344/277/241/346/201/257-/346/236/204/344/273/266/345/261/236/346/200/247.html +111 -0
- package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//350/216/267/345/217/226/346/236/204/344/273/266/344/277/241/346/201/257.html +1 -1
- package/docs/README.md +2 -0
- package/docs/classes/AditObjects.md +2 -1
- package/docs/classes/BoreholeObjects.md +2 -1
- package/docs/classes/Command.md +1 -1
- package/docs/classes/ComponentManager.md +7 -7
- package/docs/classes/ComponentSelector.md +15 -0
- package/docs/classes/DataManagerBase.md +4 -4
- package/docs/classes/HighlightManager.md +2 -2
- package/docs/classes/InvisibleManager.md +3 -3
- package/docs/classes/IsolationManager.md +3 -3
- package/docs/classes/LightModel.md +2 -1
- package/docs/classes/MaterialManager.md +2 -2
- package/docs/classes/SegmentObject.md +26 -4
- package/docs/classes/SelectionManager.md +4 -4
- package/docs/classes/SpotLightEffect.md +47 -0
- package/docs/classes/SpotLightEffectConfig.md +79 -0
- package/docs/classes/StructureTreeManager.md +0 -93
- package/docs/classes/StyleManagerBase.md +3 -3
- package/docs/classes/TreeNodeObject.md +69 -21
- package/docs/classes/Viewer.md +169 -7
- package/docs/interfaces/Options.md +4 -3
- package/lib/BimAir.common-report.html +2 -2
- package/lib/BimAir.common.js +274 -90
- package/lib/BimAir.css +124 -130
- package/lib/BimAir.umd-report.html +2 -2
- package/lib/BimAir.umd.js +274 -90
- package/lib/BimAir.umd.min-report.html +2 -2
- package/lib/BimAir.umd.min.js +274 -90
- package/lib/undefined.gzundefined +0 -0
- package/package.json +1 -1
- package/public/js/longan/longan.js +254 -192
- package/public/js/longan/longan.wasm +0 -0
- package/public/js/longan/longan.worker.js +4 -1
- package/public/js/longanWithoutShareArrayBuffer/longan.js +1 -1
- package/public/js/longanWithoutShareArrayBuffer/longan.wasm +0 -0
- package/public/js/sql-wasm.wasm +0 -0
package/READMEBETA2.md
CHANGED
|
@@ -60,3 +60,51 @@
|
|
|
60
60
|
- 修复结构树消失问题
|
|
61
61
|
- 新增剖切盒接口[Command](docs/classes/Command.md)
|
|
62
62
|
- 修复加载项目时多次刷新后页面崩溃
|
|
63
|
+
|
|
64
|
+
### 0.1.30.15
|
|
65
|
+
|
|
66
|
+
- 更新 public/js 里的内核文件,安装此版本需替换 js 文件夹
|
|
67
|
+
- 修复碰撞卡死问题
|
|
68
|
+
- 结构树添加显示隐藏的回调函数
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
let options: Options = {
|
|
72
|
+
|
|
73
|
+
components: {
|
|
74
|
+
|
|
75
|
+
structureTree: {
|
|
76
|
+
// Tab切换的回调函数
|
|
77
|
+
tabClickFun: (data) => {
|
|
78
|
+
console.log("tabClickFun--------------", data);
|
|
79
|
+
},
|
|
80
|
+
defaultTab: {
|
|
81
|
+
visible: true,
|
|
82
|
+
// 点击的回调函数
|
|
83
|
+
clickFun: (data) => {
|
|
84
|
+
console.log("clickFun--------------", data);
|
|
85
|
+
},
|
|
86
|
+
// 显示隐藏的回调函数
|
|
87
|
+
checkFun: (
|
|
88
|
+
data,
|
|
89
|
+
{ checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys }
|
|
90
|
+
) => {
|
|
91
|
+
console.log("checkFun-------", data, {
|
|
92
|
+
checkedNodes,
|
|
93
|
+
checkedKeys,
|
|
94
|
+
halfCheckedNodes,
|
|
95
|
+
halfCheckedKeys,
|
|
96
|
+
});
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
// 自定义tabs
|
|
100
|
+
tabs: [
|
|
101
|
+
{
|
|
102
|
+
name: "结构树222",
|
|
103
|
+
component: () =>
|
|
104
|
+
import(
|
|
105
|
+
"../../../structureTree.vue"
|
|
106
|
+
),
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
```
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="UTF-8">
|
|
3
|
+
<title>模型变换</title>
|
|
4
|
+
<link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
|
|
5
|
+
<script src="https://static.graphicstone.com/vue.min.js"></script>
|
|
6
|
+
<script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
|
|
7
|
+
</link>
|
|
8
|
+
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<style>
|
|
13
|
+
body {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
height: 100vh;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#app {
|
|
20
|
+
height: 100vh;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
button {
|
|
25
|
+
margin: 20px 20px 20px 20px;
|
|
26
|
+
width: 180px;
|
|
27
|
+
height: 40px;
|
|
28
|
+
border-radius: 3px;
|
|
29
|
+
border: none;
|
|
30
|
+
background: #0066ffe4;
|
|
31
|
+
color: #FFFFFF;
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.button-group {
|
|
36
|
+
position: absolute;
|
|
37
|
+
z-index: 100;
|
|
38
|
+
top: 5px;
|
|
39
|
+
left: 70px;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
42
|
+
<div id="app">
|
|
43
|
+
<!-- <div id="viewer">
|
|
44
|
+
</div> -->
|
|
45
|
+
<div class="button-group">
|
|
46
|
+
<button onclick="funLoadmodel()">加载模型</button>
|
|
47
|
+
<button onclick="funMovemodel()">平移模型</button>
|
|
48
|
+
<button onclick="funRotatemodel()">旋转模型</button>
|
|
49
|
+
<button onclick="funScalemodel()">缩放模型</button>
|
|
50
|
+
</div>
|
|
51
|
+
<viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
|
|
52
|
+
|
|
53
|
+
</div>
|
|
54
|
+
|
|
55
|
+
<script type="text/javascript">
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
new Vue({
|
|
59
|
+
el: '#app',
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
let options = {
|
|
63
|
+
// viewerType: "model",
|
|
64
|
+
elementId: "viewer",
|
|
65
|
+
id: "6253e9d6b0545a0a6e49bf85",
|
|
66
|
+
modelService: "http://8.134.85.254:9036/api",
|
|
67
|
+
fileService: "http://8.134.85.254:9040/api",
|
|
68
|
+
background: "linear-gradient(#e3fcfc, #f6ffff)",
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
let viewer;
|
|
72
|
+
let lightModels;
|
|
73
|
+
let tag_view = true;
|
|
74
|
+
let tag_visible = true;
|
|
75
|
+
let tag_color = 118;
|
|
76
|
+
let tag_load = true;
|
|
77
|
+
let scaleTime = 1;
|
|
78
|
+
let rotateTime = 0;
|
|
79
|
+
let moveTime = 0;
|
|
80
|
+
|
|
81
|
+
BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
|
|
82
|
+
viewer = new BimAir.Viewer(options);
|
|
83
|
+
|
|
84
|
+
let shengyazhanModelId = "62e3681f525bed6af87fb383"; //第一次加载升压站模型
|
|
85
|
+
let xuexiaoModelId = "62e3543f525bed6af87fb1a5";
|
|
86
|
+
viewer.loadModels([shengyazhanModelId]).then((resLightModels) => {
|
|
87
|
+
viewer.setViewMode(BimAir.Longan.ViewMode.Iso, true);
|
|
88
|
+
lightModels = resLightModels;
|
|
89
|
+
let SYZ_bb = viewer.computeViewBoundingBox(lightModels[0].segment);
|
|
90
|
+
let SYZ_bbCenter = new Float64Array([
|
|
91
|
+
(SYZ_bb[0] + SYZ_bb[3]) / 2,
|
|
92
|
+
(SYZ_bb[1] + SYZ_bb[4]) / 2,
|
|
93
|
+
(SYZ_bb[2] + SYZ_bb[5]) / 2,
|
|
94
|
+
]);
|
|
95
|
+
viewer.updateDisplay();
|
|
96
|
+
});
|
|
97
|
+
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
function funLoadmodel() {
|
|
101
|
+
console.log(tag_load);
|
|
102
|
+
if (tag_load) {
|
|
103
|
+
BimAir.Loader({ isShareArrayBuffer: true }).then(() => {
|
|
104
|
+
let shengyazhanModelId = "62e3681f525bed6af87fb383";
|
|
105
|
+
let xuexiaoModelId = "62e3543f525bed6af87fb1a5"; //第二次加载的学校模型
|
|
106
|
+
viewer.loadModels([xuexiaoModelId]).then((resLightModels) => {
|
|
107
|
+
// console.log("模型加载完毕");
|
|
108
|
+
lightModels = resLightModels;
|
|
109
|
+
let XX_bb = viewer.computeViewBoundingBox(lightModels[0].segment);
|
|
110
|
+
let XX_bbCenter = new Float64Array([
|
|
111
|
+
(XX_bb[0] + XX_bb[3]) / 2,
|
|
112
|
+
(XX_bb[1] + XX_bb[4]) / 2,
|
|
113
|
+
(XX_bb[2] + XX_bb[5]) / 2,
|
|
114
|
+
]);
|
|
115
|
+
console.log("包围盒点", XX_bb);
|
|
116
|
+
console.log("中心点", XX_bbCenter);
|
|
117
|
+
console.log("中心点", XX_bbCenter[0], XX_bbCenter[1], XX_bbCenter[2]);
|
|
118
|
+
// lightModels = lightModels;
|
|
119
|
+
|
|
120
|
+
lightModels[0].translate = [-19.658, 87.682, 0.400] //手动计算出两模型之间的位置
|
|
121
|
+
|
|
122
|
+
viewer.updateDisplay();
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
tag_load = false;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function funMovemodel() {
|
|
130
|
+
console.log("~~~~~~~~~~~移动之前");
|
|
131
|
+
moveTime++;
|
|
132
|
+
console.log("移动之后", moveTime);
|
|
133
|
+
|
|
134
|
+
lightModels[0].translate = [-19.658, 87.682 + moveTime * 10, 0.400];
|
|
135
|
+
viewer.updateDisplay();
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
function funRotatemodel() {
|
|
139
|
+
rotateTime += 90;
|
|
140
|
+
lightModels[0].rotate = [1, 1, rotateTime];
|
|
141
|
+
viewer.updateDisplay();
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
function funScalemodel() {
|
|
145
|
+
scaleTime += 0.1;
|
|
146
|
+
lightModels[0].scale = [scaleTime, scaleTime, scaleTime];
|
|
147
|
+
viewer.updateDisplay();
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
</script>
|
|
152
|
+
|
|
153
|
+
</body>
|
|
154
|
+
|
|
155
|
+
</html>
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="UTF-8">
|
|
3
|
+
<title>多模型操作</title>
|
|
4
|
+
<link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
|
|
5
|
+
<script src="https://static.graphicstone.com/vue.min.js"></script>
|
|
6
|
+
<script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
|
|
7
|
+
</link>
|
|
8
|
+
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<style>
|
|
13
|
+
body {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
height: 100vh;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#app {
|
|
20
|
+
height: 100vh;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
button {
|
|
25
|
+
margin: 20px 20px 20px 20px;
|
|
26
|
+
width: 180px;
|
|
27
|
+
height: 40px;
|
|
28
|
+
border-radius: 3px;
|
|
29
|
+
border: none;
|
|
30
|
+
background: #0066ffe4;
|
|
31
|
+
color: #FFFFFF;
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.button-group {
|
|
36
|
+
position: absolute;
|
|
37
|
+
z-index: 100;
|
|
38
|
+
top: 5px;
|
|
39
|
+
left: 70px;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
42
|
+
<div id="app">
|
|
43
|
+
<!-- <div id="viewer">
|
|
44
|
+
</div> -->
|
|
45
|
+
<div class="button-group">
|
|
46
|
+
<button onclick="funVisible()">构件隐藏</button>
|
|
47
|
+
<button onclick="funEmphasize()">构件强调</button>
|
|
48
|
+
</div>
|
|
49
|
+
<viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<script type="text/javascript">
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
new Vue({
|
|
57
|
+
el: '#app',
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
let options = {
|
|
61
|
+
// viewerType: "model",
|
|
62
|
+
elementId: "viewer",
|
|
63
|
+
id: "6253e9d6b0545a0a6e49bf85",
|
|
64
|
+
modelService: "http://8.134.85.254:9036/api",
|
|
65
|
+
fileService: "http://8.134.85.254:9040/api",
|
|
66
|
+
background: "linear-gradient(#e3fcfc, #f6ffff)",
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
let home_cameraView = {
|
|
70
|
+
position: new Float64Array([63.85, -114.21, 34.68]),
|
|
71
|
+
target: new Float64Array([-42.33, 70.52, -46.67]),
|
|
72
|
+
up: new Float64Array([-0.177, 0.309, 0.934]),
|
|
73
|
+
height: 228.08677009579034,
|
|
74
|
+
width: 228.08677009579034,
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
let cameraView = {
|
|
78
|
+
position: new Float64Array([0, 0, 0]),
|
|
79
|
+
target: new Float64Array([0, 0, 0]),
|
|
80
|
+
up: new Float64Array([0, 0, 0]),
|
|
81
|
+
height: 0,
|
|
82
|
+
width: 0,
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
let viewer;
|
|
86
|
+
let lightModels;
|
|
87
|
+
let tag_view = false;
|
|
88
|
+
let tag_visible = true;
|
|
89
|
+
let tag_color = 118;
|
|
90
|
+
//let bangonglouModelId = "62ba4f503a591513fe17d930";
|
|
91
|
+
|
|
92
|
+
BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
|
|
93
|
+
viewer = new BimAir.Viewer(options);
|
|
94
|
+
//viewer.isUpdateTt = true;
|
|
95
|
+
let bangonglouModelId = "62e35430525bed6af87fb12c";
|
|
96
|
+
let bieshuModelId = "62e35436525bed6af87fb163";
|
|
97
|
+
viewer.loadModels([bangonglouModelId, bieshuModelId]).then((resLightModels) => {
|
|
98
|
+
lightModels = resLightModels;
|
|
99
|
+
|
|
100
|
+
lightModels[1].rotate = [1, 1, 270];
|
|
101
|
+
lightModels[1].translate = [40, 40, 0.45];
|
|
102
|
+
lightModels[1].scale = [1.2, 1.2, 1.2];
|
|
103
|
+
|
|
104
|
+
viewer.setViewMode(BimAir.Longan.ViewMode.Iso, true);
|
|
105
|
+
|
|
106
|
+
// viewer.camera.position = home_cameraView.position;
|
|
107
|
+
// viewer.camera.target = home_cameraView.target;
|
|
108
|
+
// viewer.camera.up = home_cameraView.up;
|
|
109
|
+
// viewer.camera.setField(home_cameraView.width, home_cameraView.height);
|
|
110
|
+
viewer.updateDisplay();
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
})
|
|
114
|
+
|
|
115
|
+
function funVisible() {
|
|
116
|
+
if (tag_visible) {
|
|
117
|
+
lightModels[1].setComponentsVisible(["234936"], false);
|
|
118
|
+
viewer.updateDisplay();
|
|
119
|
+
tag_visible = !tag_visible;
|
|
120
|
+
} else {
|
|
121
|
+
lightModels[1].setComponentsVisible(["234936"], true);
|
|
122
|
+
viewer.updateDisplay();
|
|
123
|
+
tag_visible = !tag_visible;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
function funEmphasize() {
|
|
128
|
+
console.log("funEmphasize##########", tag_color);
|
|
129
|
+
let material = new BimAir.Material(viewer, "test");
|
|
130
|
+
setInterval(() => {
|
|
131
|
+
let color_R = 0;
|
|
132
|
+
let color_G = tag_color;
|
|
133
|
+
let color_U = 0;
|
|
134
|
+
if (color_G >= 102) {
|
|
135
|
+
color_U = 255;
|
|
136
|
+
color_R = (color_G - 102) * 1.6;
|
|
137
|
+
} else {
|
|
138
|
+
color_R = 0;
|
|
139
|
+
color_U = 255 - (102 - color_G) * 2.5;
|
|
140
|
+
}
|
|
141
|
+
material.setColor(color_R, color_G, color_U, 1);
|
|
142
|
+
lightModels[0].setComponentsColor(["384359"], material)
|
|
143
|
+
viewer.updateDisplay();
|
|
144
|
+
tag_color += 20;
|
|
145
|
+
tag_color %= 254;
|
|
146
|
+
}, 100);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
</script>
|
|
153
|
+
|
|
154
|
+
</body>
|
|
155
|
+
|
|
156
|
+
</html>
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="UTF-8">
|
|
3
|
+
<title>设置viewHouse</title>
|
|
4
|
+
<link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
|
|
5
|
+
<script src="https://static.graphicstone.com/vue.min.js"></script>
|
|
6
|
+
<script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
|
|
7
|
+
</link>
|
|
8
|
+
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<style>
|
|
13
|
+
body {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
height: 100vh;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#app {
|
|
20
|
+
height: 100vh;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
button {
|
|
25
|
+
margin: 20px 20px 20px 20px;
|
|
26
|
+
width: 180px;
|
|
27
|
+
height: 40px;
|
|
28
|
+
border-radius: 3px;
|
|
29
|
+
border: none;
|
|
30
|
+
background: #0066ffe4;
|
|
31
|
+
color: #FFFFFF;
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.button-group {
|
|
36
|
+
position: absolute;
|
|
37
|
+
z-index: 100;
|
|
38
|
+
top: 5px;
|
|
39
|
+
left: 70px;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
42
|
+
<div id="app">
|
|
43
|
+
<!-- <div id="viewer">
|
|
44
|
+
</div> -->
|
|
45
|
+
<div class="button-group">
|
|
46
|
+
<button onclick="funRtnView()">恢复viewHouse</button>
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
</div>
|
|
50
|
+
<viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
|
|
51
|
+
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<script type="text/javascript">
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
new Vue({
|
|
58
|
+
el: '#app',
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
let options = {
|
|
62
|
+
// viewerType: "model",
|
|
63
|
+
elementId: "viewer",
|
|
64
|
+
id: "6253e9d6b0545a0a6e49bf85",
|
|
65
|
+
modelService: "http://8.134.85.254:9036/api",
|
|
66
|
+
fileService: "http://8.134.85.254:9040/api",
|
|
67
|
+
background: "linear-gradient(#e3fcfc, #f6ffff)",
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
let home_cameraView = {
|
|
71
|
+
position: new Float64Array([47.17493348840205, -80.08997132883879, 24.0318348294697]),
|
|
72
|
+
target: new Float64Array([-85.72613400929843, 90.2933317530632, -48.9778287884545]),
|
|
73
|
+
up: new Float64Array([-0.19687114683779236, 0.2523949349039173, 0.9473851109119353]),
|
|
74
|
+
height: 228.08677009579034,
|
|
75
|
+
width: 228.08677009579034,
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
let cameraView = {
|
|
79
|
+
position: new Float64Array([0, 0, 0]),
|
|
80
|
+
target: new Float64Array([0, 0, 0]),
|
|
81
|
+
up: new Float64Array([0, 0, 0]),
|
|
82
|
+
height: 0,
|
|
83
|
+
width: 0,
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
let viewer;
|
|
87
|
+
let lightModels;
|
|
88
|
+
|
|
89
|
+
BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
|
|
90
|
+
viewer = new BimAir.Viewer(options);
|
|
91
|
+
//viewer.isUpdateTt = true;
|
|
92
|
+
let bangonglouModelId = "62e35430525bed6af87fb12c";
|
|
93
|
+
viewer.loadModels([bangonglouModelId]).then((resLightModels) => {
|
|
94
|
+
lightModels = resLightModels;
|
|
95
|
+
viewer.camera.position = home_cameraView.position;
|
|
96
|
+
viewer.camera.target = home_cameraView.target;
|
|
97
|
+
viewer.camera.up = home_cameraView.up;
|
|
98
|
+
viewer.camera.setField(home_cameraView.width, home_cameraView.height);
|
|
99
|
+
viewer.updateDisplay();
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
})
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
function funRtnView() {
|
|
107
|
+
viewer.camera.position = home_cameraView.position;
|
|
108
|
+
viewer.camera.target = home_cameraView.target;
|
|
109
|
+
viewer.camera.up = home_cameraView.up;
|
|
110
|
+
viewer.camera.setField(home_cameraView.width, home_cameraView.height);
|
|
111
|
+
viewer.updateDisplay();
|
|
112
|
+
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
</script>
|
|
119
|
+
|
|
120
|
+
</body>
|
|
121
|
+
|
|
122
|
+
</html>
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<head>
|
|
2
|
+
<meta charset="UTF-8">
|
|
3
|
+
<title>建筑隔离生长</title>
|
|
4
|
+
<link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
|
|
5
|
+
<script src="https://static.graphicstone.com/vue.min.js"></script>
|
|
6
|
+
<script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
|
|
7
|
+
</link>
|
|
8
|
+
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<style>
|
|
13
|
+
body {
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
height: 100vh;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
#app {
|
|
20
|
+
height: 100vh;
|
|
21
|
+
position: relative;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
button {
|
|
25
|
+
margin: 20px 20px 20px 20px;
|
|
26
|
+
width: 180px;
|
|
27
|
+
height: 40px;
|
|
28
|
+
border-radius: 3px;
|
|
29
|
+
border: none;
|
|
30
|
+
background: #0066ffe4;
|
|
31
|
+
color: #FFFFFF;
|
|
32
|
+
outline: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.button-group {
|
|
36
|
+
position: absolute;
|
|
37
|
+
z-index: 100;
|
|
38
|
+
top: 5px;
|
|
39
|
+
left: 70px;
|
|
40
|
+
}
|
|
41
|
+
</style>
|
|
42
|
+
<div id="app">
|
|
43
|
+
<!-- <div id="viewer">
|
|
44
|
+
</div> -->
|
|
45
|
+
<!-- <div class="button-group">
|
|
46
|
+
<button onclick="funChangeView()">正交投影</button>
|
|
47
|
+
<button onclick="funChangeView()">透视投影</button>
|
|
48
|
+
</div> -->
|
|
49
|
+
<viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
|
|
50
|
+
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<script type="text/javascript">
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
new Vue({
|
|
57
|
+
el: '#app',
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
let options = {
|
|
61
|
+
// viewerType: "model",
|
|
62
|
+
elementId: "viewer",
|
|
63
|
+
id: "6253e9d6b0545a0a6e49bf85",
|
|
64
|
+
modelService: "http://8.134.85.254:9036/api",
|
|
65
|
+
fileService: "http://8.134.85.254:9040/api",
|
|
66
|
+
background: "linear-gradient(#e3fcfc, #f6ffff)",
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
let viewer;
|
|
70
|
+
let lightModels;
|
|
71
|
+
let tag_view = true;
|
|
72
|
+
let tag_visible = true;
|
|
73
|
+
let tag_color = 118;
|
|
74
|
+
|
|
75
|
+
BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
|
|
76
|
+
viewer = new BimAir.Viewer(options);
|
|
77
|
+
viewer = viewer;
|
|
78
|
+
|
|
79
|
+
let allObjId = "62baa40a3a591513fe17de64";
|
|
80
|
+
|
|
81
|
+
viewer.loadModels([allObjId]).then((resLightModels) => {
|
|
82
|
+
|
|
83
|
+
viewer.setViewMode(BimAir.Longan.ViewMode.Iso, true);
|
|
84
|
+
lightModels = resLightModels;
|
|
85
|
+
lightModels[0].setAllComponentsIsolation(true);
|
|
86
|
+
|
|
87
|
+
//通过根节点名称进行构件隔离 ------用户可以自行设计依次显示的模型构件
|
|
88
|
+
let structureTreeName = ["S-1F", "A-1F", "S-2F", "A-2F", "S-3F", "A-3F", "S-4F", "A-4F", "S-RF", "A-RF", "A-(18.6女儿墙顶标高)", "A-(21.3小屋面)"];
|
|
89
|
+
|
|
90
|
+
for (let i = 0; i < structureTreeName.length; i++) {
|
|
91
|
+
let setShowTime = 15000 + 1000 * i; //设置进度模拟加载间隔时间 起初时间是15S,之后每秒钟进行一次进度更新
|
|
92
|
+
let segmentObjectGroup = new Array(); //存储当前阶段需要加载的segment
|
|
93
|
+
|
|
94
|
+
for (let j = 0; j <= i; j++) {
|
|
95
|
+
segmentObjectGroup.push(viewer.structureTreeManager.getTreeNodesByName(structureTreeName[j]).items[0].segmentObject); //依次加载结构树下节点
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
setTimeout(() => {
|
|
99
|
+
//通过结构树名称进行构件隔离
|
|
100
|
+
viewer.isolationManager.isolationInvert(segmentObjectGroup);
|
|
101
|
+
viewer.updateDisplay();
|
|
102
|
+
//console.log(segmentObjectGroup);
|
|
103
|
+
}, setShowTime);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
viewer.updateDisplay();
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
})
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
</script>
|
|
115
|
+
|
|
116
|
+
</body>
|
|
117
|
+
|
|
118
|
+
</html>
|