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.
Files changed (57) hide show
  1. package/READMEBETA2.md +48 -0
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. package/docs/README.md +2 -0
  23. package/docs/classes/AditObjects.md +2 -1
  24. package/docs/classes/BoreholeObjects.md +2 -1
  25. package/docs/classes/Command.md +1 -1
  26. package/docs/classes/ComponentManager.md +7 -7
  27. package/docs/classes/ComponentSelector.md +15 -0
  28. package/docs/classes/DataManagerBase.md +4 -4
  29. package/docs/classes/HighlightManager.md +2 -2
  30. package/docs/classes/InvisibleManager.md +3 -3
  31. package/docs/classes/IsolationManager.md +3 -3
  32. package/docs/classes/LightModel.md +2 -1
  33. package/docs/classes/MaterialManager.md +2 -2
  34. package/docs/classes/SegmentObject.md +26 -4
  35. package/docs/classes/SelectionManager.md +4 -4
  36. package/docs/classes/SpotLightEffect.md +47 -0
  37. package/docs/classes/SpotLightEffectConfig.md +79 -0
  38. package/docs/classes/StructureTreeManager.md +0 -93
  39. package/docs/classes/StyleManagerBase.md +3 -3
  40. package/docs/classes/TreeNodeObject.md +69 -21
  41. package/docs/classes/Viewer.md +169 -7
  42. package/docs/interfaces/Options.md +4 -3
  43. package/lib/BimAir.common-report.html +2 -2
  44. package/lib/BimAir.common.js +274 -90
  45. package/lib/BimAir.css +124 -130
  46. package/lib/BimAir.umd-report.html +2 -2
  47. package/lib/BimAir.umd.js +274 -90
  48. package/lib/BimAir.umd.min-report.html +2 -2
  49. package/lib/BimAir.umd.min.js +274 -90
  50. package/lib/undefined.gzundefined +0 -0
  51. package/package.json +1 -1
  52. package/public/js/longan/longan.js +254 -192
  53. package/public/js/longan/longan.wasm +0 -0
  54. package/public/js/longan/longan.worker.js +4 -1
  55. package/public/js/longanWithoutShareArrayBuffer/longan.js +1 -1
  56. package/public/js/longanWithoutShareArrayBuffer/longan.wasm +0 -0
  57. 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>