gs-bim-air 0.0.3-0.39 → 0.0.3-0.40

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 (34) hide show
  1. package/READMEBETA.md +4 -1
  2. package/demo//346/250/241/345/236/213/346/225/210/346/236/234/BIM+GIS.html +112 -0
  3. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/205/250/346/201/257/345/275/261/345/203/217.html +194 -0
  4. package/docs/.vuepress/config.js +281 -245
  5. package/docs/animation//350/267/257/345/276/204/345/271/263/347/247/273/345/212/250/347/224/273/346/226/207/346/241/243.md +39 -24
  6. package/docs/classes/Longan.PersistenceManager.md +1 -1
  7. package/docs//345/212/240/350/275/275/346/230/276/347/244/272/346/250/241/345/236/213.md +93 -0
  8. package/docs//345/277/253/351/200/237/344/270/212/346/211/213.md +90 -74
  9. package/docs//346/250/241/345/236/213/344/272/244/344/272/222//344/272/213/344/273/266/347/233/221/345/220/254.md +70 -0
  10. package/docs//346/250/241/345/236/213/344/272/244/344/272/222//350/247/206/345/233/276/350/256/276/347/275/256.md +25 -0
  11. package/docs//346/250/241/345/236/213/344/272/244/344/272/222//351/200/211/346/213/251/347/256/241/347/220/206/345/231/250.md +42 -0
  12. package/docs//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//346/236/204/344/273/266/345/256/232/344/275/215/343/200/201/345/261/236/346/200/247/346/230/276/347/244/272.md +27 -0
  13. package/docs//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/240/267/345/274/217/350/256/276/347/275/256.md +66 -15
  14. package/docs//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//346/236/204/344/273/266/351/232/220/350/227/217/343/200/201/351/232/224/347/246/273/343/200/201/351/253/230/344/272/256.md +83 -0
  15. package/docs//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//347/273/223/346/236/204/346/240/221.md +3 -1
  16. package/docs//351/205/215/347/275/256/LoaderOptions.md +29 -0
  17. package/docs//351/205/215/347/275/256/Options.md +177 -0
  18. package/lib/BimAir.common-report.html +2 -2
  19. package/lib/BimAir.common.js +16 -16
  20. package/lib/BimAir.css +41 -41
  21. package/lib/BimAir.umd-report.html +2 -2
  22. package/lib/BimAir.umd.js +16 -16
  23. package/lib/BimAir.umd.min-report.html +2 -2
  24. package/lib/BimAir.umd.min.js +16 -16
  25. package/lib/undefined.gzundefined +0 -0
  26. package/package.json +1 -1
  27. package/public/js/longan/longan.js +167 -159
  28. package/public/js/longan/longan.wasm +0 -0
  29. package/public/js/longanWithoutShareArrayBuffer/longan.js +1 -1
  30. package/public/js/longanWithoutShareArrayBuffer/longan.wasm +0 -0
  31. package/docs/feature//345/257/271/350/261/241/351/200/211/346/213/251.md +0 -86
  32. package/docs/feature//345/261/236/346/200/247/346/230/276/347/244/272.md +0 -254
  33. package/docs/feature//350/247/206/345/233/276/350/256/276/347/275/256.md +0 -96
  34. package/docs/options/options.md +0 -75
package/READMEBETA.md CHANGED
@@ -406,7 +406,6 @@ viewer.loadRenderObjects(["6ddabd40-4492-42f0-a16e-b9c0f9bb98b9"]);
406
406
  ### 0.0.30.39
407
407
 
408
408
  - 更新 public/js 里的内核文件,安装此版本需替换 js 文件夹
409
- - 修复添加钻孔平硐结构树不更新问题
410
409
  - 增加添加平面的接口,使用方式如下,具体文档请看 [Germetry.Plane](.\docs\classes\Germetry.Plane.md)
411
410
 
412
411
  ```js
@@ -418,3 +417,7 @@ plane
418
417
  console.log("planeObject", planeObject);
419
418
  });
420
419
  ```
420
+
421
+ ### 0.0.30.40
422
+
423
+ - 修复添加钻孔平硐结构树不更新问题
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
8
+ <title>轻量化平台</title>
9
+ <link
10
+ rel="stylesheet"
11
+ href="https://static.graphicstone.com/bimAir/BimAir.css"
12
+ />
13
+ <script src="https://static.graphicstone.com/vue.min.js"></script>
14
+ <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
15
+ </head>
16
+
17
+ <body>
18
+ <style>
19
+ body {
20
+ margin: 0;
21
+ padding: 0;
22
+ height: 100vh;
23
+ }
24
+
25
+ #app {
26
+ height: 100vh;
27
+ position: relative;
28
+ }
29
+ </style>
30
+ <div id="app">
31
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
32
+ </div>
33
+
34
+ <script type="text/javascript">
35
+ new Vue({
36
+ el: "#app",
37
+ });
38
+ let options = {
39
+ elementId: "viewer",
40
+ // background: "linear-gradient(#e3fcfc, #f6ffff)",
41
+ isShowLoading: false,
42
+ modelService: "https://8.134.85.254:9031/api",
43
+ fileService: "https://8.134.85.254:9041/api",
44
+ toolbarVisible: {
45
+ leftToolbar: false,
46
+ rightToolbar: false,
47
+ bottomToolbar: false
48
+ },
49
+ components: {
50
+ compass: {
51
+ visible: false
52
+ }
53
+ }
54
+ };
55
+
56
+ BimAir.Loader({
57
+ isShareArrayBuffer: false,
58
+ }).then(() => {
59
+ let viewer = new BimAir.Viewer(options);
60
+ viewer.sceneSegment.camera.projection =
61
+ BimAir.ProjectionType.Orthographic;
62
+ // 设置环境光,范围是0~255
63
+ viewer.viewSegment.color.ambient = [0, 0, 0];
64
+ // 设置反光为0
65
+ viewer.viewSegment.color.specular = 0;
66
+ let model = new BimAir.Longan.RenderObject();
67
+ model.name = "场景";
68
+ viewer.process.addRenderObject(null, model);
69
+ viewer.renderObject = model;
70
+
71
+ // 加载地球
72
+ let tianditu = new BimAir.DataSource();
73
+ tianditu._type = "TianDiTu";
74
+ tianditu._key = "c1f84a71f631d1e265b461b63e066511";
75
+ let earthObject = new BimAir.MapTileSet3D(
76
+ 256,
77
+ [-180, -85.051129, 180, 85.051129],
78
+ 3,
79
+ 17,
80
+ tianditu,
81
+ viewer
82
+ );
83
+ earthObject.depthRange = [0.1, 1];
84
+ viewer.process.addRenderObject(
85
+ viewer.process.renderObject,
86
+ earthObject
87
+ );
88
+ viewer.operatorManager.clear();
89
+ viewer.operatorManager.add(new BimAir.EarthCameraMouse3D());
90
+
91
+ // 视角定位
92
+ let testTarget = new Float64Array([-2450.0265956453973, 5323.723761133987, 2508.6950203882448]);
93
+ let testcameraWidth = 20;
94
+ let rotateDeg = 0;
95
+ earthObject.viewToHK(testTarget, rotateDeg, testcameraWidth);
96
+
97
+ viewer.sceneSegment.camera.up = [0, 0, 1];
98
+ viewer.updateDisplay();
99
+ earthObject.render();
100
+
101
+ // 加载模型
102
+ let gisRefRO = new BimAir.GisRefLightModel();
103
+ gisRefRO.lonlat = [111, 23, -14600];
104
+ gisRefRO.scale = [1, 1, 1];
105
+ viewer.process.addRenderObject(viewer.process.renderObject, gisRefRO);
106
+ gisRefRO.reference = "58fe9c88-7364-46a5-b51a-79b244199e60";
107
+ gisRefRO.loadReferenceModel(viewer.process.persistenceManager);
108
+ viewer.updateDisplay();
109
+ });
110
+ </script>
111
+ </body>
112
+ </html>
@@ -0,0 +1,194 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0" />
7
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico" />
8
+ <title>轻量化平台</title>
9
+ <link
10
+ rel="stylesheet"
11
+ href="https://static.graphicstone.com/bimAir/BimAir.css"
12
+ />
13
+ <script src="https://static.graphicstone.com/vue.min.js"></script>
14
+ <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
15
+ </head>
16
+
17
+ <body>
18
+ <style>
19
+ body {
20
+ margin: 0;
21
+ padding: 0;
22
+ height: 100vh;
23
+ }
24
+
25
+ #app {
26
+ height: 100vh;
27
+ position: relative;
28
+ }
29
+ </style>
30
+ <div id="app">
31
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
32
+ </div>
33
+
34
+ <script type="text/javascript">
35
+ new Vue({
36
+ el: "#app",
37
+ });
38
+ let options = {
39
+ elementId: "viewer",
40
+ // background: "linear-gradient(#e3fcfc, #f6ffff)",
41
+ isShowLoading: false,
42
+ modelService: "https://static.graphicstone.com/modelApi",
43
+ fileService: "https://static.graphicstone.com/fileApi",
44
+ toolbarVisible: {
45
+ leftToolbar: false,
46
+ rightToolbar: false,
47
+ bottomToolbar: false
48
+ },
49
+ components: {
50
+ compass: {
51
+ visible: false
52
+ }
53
+ }
54
+ };
55
+ let prefix = `/file-service`
56
+ let urls = {
57
+ file: (fileService, id) => `${fileService}${prefix}/files/${id}`
58
+ }
59
+
60
+ let fileService = {
61
+ urls
62
+ }
63
+ BimAir.Loader({
64
+ isShareArrayBuffer: false,
65
+ }).then(() => {
66
+ let viewer = new BimAir.Viewer(options);
67
+ viewer.sceneSegment.camera.projection = BimAir.Longan.ProjectionType.Orthographic;
68
+ viewer.sceneSegment.renderingOptions.setCullingMaximumExtent(0).setViewFrustumCulling(false);
69
+ // this.viewer = viewer;
70
+
71
+ let panoramaObject = new BimAir.Longan.PanoramaObject();
72
+ viewer.process.addRenderObject(null, panoramaObject);
73
+ viewer.renderObject = panoramaObject;
74
+
75
+ let textureURL = fileService.urls.file(
76
+ options.fileService,
77
+ "6375b168dcc0567781358bad"
78
+ );
79
+ initPanorama(viewer, textureURL, panoramaObject);
80
+ viewer.process.commandManager.execute(new BimAir.Longan.CommandPanoramaModelSelect());
81
+ });
82
+
83
+ function initPanorama(viewer, textureURL, panoramaObject) {
84
+ console.log("initPanorama");
85
+
86
+ let canvas = document.createElement("canvas");
87
+ let context = canvas.getContext("2d");
88
+
89
+ let img = new Image();
90
+ img.crossOrigin = "Anonymous";
91
+ img.src = textureURL;
92
+
93
+ img.onload = () => {
94
+ console.log("imgloaded");
95
+ // 使用Points点列表生成Mesh
96
+ // let viewer = this.viewer;
97
+
98
+ let imgWidth = img.width;
99
+ let imgHeight = img.height;
100
+
101
+ // 设置画布尺寸
102
+ canvas.width = imgWidth;
103
+ canvas.height = imgHeight;
104
+
105
+ // 将图片按像素写入画布
106
+ context.drawImage(img, 0, 0, imgWidth, imgHeight);
107
+
108
+ // 读取图片像素信息
109
+ let imageData = context.getImageData(0, 0, imgWidth, imgHeight);
110
+
111
+ // 将整个球划分成32 * 32块瓦片
112
+ let division = 32;
113
+
114
+ BimAir.LonganCore.JS_Open_Segment_By_Key(panoramaObject.segment.key);
115
+ {
116
+ BimAir.LonganCore.JS_Set_Rendering_Options("cull back face=off");
117
+ // LonganCore.JS_UnSet_One_Rendering_Option("lock face color");
118
+ let imageName = "panoTexture";
119
+ BimAir.LonganCore.JS_Set_Color("faces=(diffuse=" + imageName + ")");
120
+ let imageKey = BimAir.LonganCore.JS_Insert_Image(
121
+ 0,
122
+ 0,
123
+ 0,
124
+ imgWidth,
125
+ imgHeight,
126
+ imageData.data,
127
+ "name=" + imageName + ",tiling=clamp"
128
+ );
129
+ BimAir.LonganCore.JS_Set_Selectability("faces=off");
130
+
131
+ for (let i = 0; i < division; i++) {
132
+ for (let j = 0; j < division; j++) {
133
+ let TL = panoramaObject.getLatLonFromTile(j, i, division);
134
+ let BR = panoramaObject.getLatLonFromTile(j + 1, i + 1, division);
135
+
136
+ // 每块瓦片划分为16 * 16个顶点
137
+ let divNumber = 15;
138
+ let pointNumber = divNumber + 1;
139
+
140
+ // 生成Mesh点列表
141
+ let points = panoramaObject.meshDivisionPolicy(TL, BR, divNumber);
142
+
143
+ // 每个瓦片,生成一个Mesh.
144
+ let meshKey = BimAir.LonganCore.JS_Insert_Mesh(
145
+ pointNumber,
146
+ pointNumber,
147
+ points
148
+ );
149
+
150
+ let UVs = new Array((points.length / 3) * 2);
151
+
152
+ for (let m = 0; m < pointNumber; m++) {
153
+ for (let n = 0; n < pointNumber; n++) {
154
+ UVs[(m * pointNumber + n) * 2 + 0] =
155
+ j / division + n / (pointNumber - 1) / division;
156
+ UVs[(m * pointNumber + n) * 2 + 1] =
157
+ i / division + m / (pointNumber - 1) / division;
158
+ }
159
+ }
160
+
161
+ BimAir.LonganCore.JS_Set_Geometry_Texture_Coords(
162
+ meshKey,
163
+ 0,
164
+ pointNumber * pointNumber,
165
+ UVs
166
+ );
167
+ }
168
+ }
169
+ }
170
+ BimAir.LonganCore.JS_Close_Segment();
171
+
172
+ // 设置CameraPos在球体中心
173
+ BimAir.LonganCore.JS_Open_Segment_By_Key(viewer.sceneKey);
174
+ {
175
+ let origin = new Float32Array([0, 0, 0]);
176
+ let pos = new Float32Array([0, 1, 0]);
177
+ BimAir.Longan.Vector.normalize(pos);
178
+ let camUp = BimAir.Longan.Vector.cross(pos, new Float32Array([1, 0, 0]));
179
+
180
+ BimAir.LonganCore.JS_Set_Camera_Target(origin);
181
+ BimAir.LonganCore.JS_Set_Camera_Position(pos);
182
+ BimAir.LonganCore.JS_Set_Camera_Up(camUp);
183
+
184
+ BimAir.LonganCore.JS_Set_Camera_Field(300, 300);
185
+ }
186
+ BimAir.LonganCore.JS_Close_Segment();
187
+
188
+ console.log("finish");
189
+ viewer.updateDisplay();
190
+ };
191
+ }
192
+ </script>
193
+ </body>
194
+ </html>