gs-bim-air 2.0.0-beta.4 → 2.0.0-beta.7

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 (111) hide show
  1. package/README.md +18 -0
  2. package/demo/assets/demo.css +28 -0
  3. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//344/277/256/346/224/271/351/242/234/350/211/262.html +124 -0
  4. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//345/212/250/347/224/273/346/214/211/351/222/256.html +141 -141
  5. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//346/265/213/351/207/217/351/253/230/347/250/213.html +162 -166
  6. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//346/267/273/345/212/240/346/226/207/346/234/254/346/240/207/347/255/276.html +125 -129
  7. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//346/267/273/345/212/240/346/240/207/347/255/276/344/272/213/344/273/266/347/202/271/345/207/273/350/216/267/345/217/226/345/261/236/346/200/247.html +8 -18
  8. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//346/267/273/345/212/240/351/274/240/346/240/207/344/272/213/344/273/266/350/216/267/345/217/226/346/250/241/345/236/213.html +9 -19
  9. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//347/247/273/345/212/250/346/240/207/347/255/276/344/275/215/347/275/256.html +135 -139
  10. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//350/247/206/347/202/271/347/256/241/347/220/206.html +102 -97
  11. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//350/247/206/350/247/222/350/275/254/346/215/242.html +107 -112
  12. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//350/256/276/347/275/256/347/273/223/346/236/204/346/240/221/347/202/271/345/207/273/344/272/213/344/273/266.html +8 -18
  13. package/demo//345/217/202/346/225/260/345/214/226/350/256/276/350/256/241//345/217/202/346/225/260/345/214/226/345/273/272/346/250/241.html +5 -35
  14. package/demo//346/250/241/345/236/213/344/272/244/344/272/222//346/227/213/350/275/254/345/271/263/347/247/273/347/274/251/346/224/276.html +128 -0
  15. package/demo//346/250/241/345/236/213/344/272/244/344/272/222//350/256/276/347/275/256viewHouse.html +92 -0
  16. package/demo//346/250/241/345/236/213/344/272/244/344/272/222//351/232/220/350/227/217/345/274/272/350/260/203.html +124 -0
  17. package/demo//346/250/241/345/236/213/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 +100 -0
  18. package/demo//346/250/241/345/236/213/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 +626 -0
  19. package/demo//346/250/241/345/236/213/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 +153 -0
  20. package/demo//346/250/241/345/236/213/345/212/250/347/224/273//350/267/257/345/276/204/345/212/250/347/224/273.html +119 -87
  21. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//345/210/233/345/273/272/350/247/206/345/233/276.html +8 -18
  22. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//345/212/240/350/275/275/346/234/215/345/212/241/345/231/250/346/250/241/345/236/213.html +8 -18
  23. 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 +10 -8
  24. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//345/256/232/344/275/215/346/250/241/345/236/213.html +17 -19
  25. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//345/267/245/345/205/267/346/240/217/346/230/276/347/244/272/351/232/220/350/227/217.html +74 -0
  26. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//346/212/225/345/275/261/346/226/271/345/274/217/345/217/230/346/215/242.html +78 -0
  27. 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 +121 -114
  28. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//350/216/267/345/217/226/347/233/270/346/234/272/345/217/202/346/225/260.html +138 -0
  29. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//350/256/276/347/275/256/344/270/216/350/216/267/345/217/226/346/250/241/345/236/213/345/235/220/346/240/207.html +25 -24
  30. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//351/224/201/345/256/232/347/233/270/346/234/272/350/247/206/350/247/222.html +109 -0
  31. package/demo//346/250/241/345/236/213/346/225/210/346/236/234/2D/347/203/255/345/212/233/345/233/276.html +47 -48
  32. package/demo//346/250/241/345/236/213/346/225/210/346/236/234/{BIM+GIS.html → BIMGIS/347/244/272/344/276/213.html} +8 -17
  33. package/demo//346/250/241/345/236/213/346/225/210/346/236/234/UV/345/212/250/347/224/273.html +9 -19
  34. 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 +7 -17
  35. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/210/233/345/273/272/346/211/253/347/225/245.html +77 -85
  36. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/210/233/345/273/272/350/267/257/345/276/204.html +33 -35
  37. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/233/264/345/242/231/346/211/253/346/217/217/346/225/210/346/236/234.html +33 -37
  38. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/241/253/346/214/226/346/226/271/345/210/206/346/236/220.html +31 -36
  39. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/244/251/347/251/272/347/233/222/346/225/210/346/236/234.html +9 -19
  40. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//345/260/204/347/272/277/346/243/200/346/265/213.html +47 -52
  41. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/211/207/345/275/242/346/211/253/346/217/217/346/225/210/346/236/234.html +33 -33
  42. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/214/207/345/256/232/346/236/204/344/273/266/346/227/213/350/275/254.html +38 -40
  43. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/216/247/351/253/230/345/210/206/346/236/220/346/225/210/346/236/234.html +28 -29
  44. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/260/264/351/235/242/346/225/210/346/236/234.html +25 -27
  45. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/267/273/345/212/240/344/270/211/347/273/264/346/226/207/345/255/227.html +44 -22
  46. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//346/267/273/345/212/240/347/202/271/347/272/277/351/235/242/346/213/211/344/274/270/344/275/223.html +8 -18
  47. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//347/216/257/347/212/266/346/211/253/346/217/217/346/225/210/346/236/234.html +8 -18
  48. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//347/253/213/344/275/223/351/224/232/347/202/271.html +48 -53
  49. 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 +49 -32
  50. 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 +265 -281
  51. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//351/200/232/350/247/206/345/210/206/346/236/220.html +35 -39
  52. package/demo//346/250/241/345/236/213/346/225/210/346/236/234//351/233/252/345/244/251/346/225/210/346/236/234.html +20 -24
  53. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//345/244/232/346/236/204/344/273/266/345/211/226/345/210/207.html +80 -85
  54. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//345/256/232/344/275/215/346/236/204/344/273/266.html +96 -98
  55. 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/345/261/236/346/200/247.html +27 -31
  56. 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/347/242/260/346/222/236/346/243/200/346/265/213.html +93 -107
  57. 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/351/200/211/346/213/251/344/270/216/345/256/232/344/275/215.html +50 -61
  58. 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/351/232/220/350/227/217/343/200/201/346/236/204/344/273/266/345/274/272/350/260/203.html +124 -0
  59. 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/351/232/224/347/246/273.html +127 -0
  60. 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/345/214/205/345/233/264/347/233/222.html +48 -55
  61. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//350/256/276/347/275/256/346/250/241/345/236/213/351/242/234/350/211/262.html +65 -0
  62. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//350/256/276/347/275/256/351/200/217/346/230/216/345/272/246.html +100 -94
  63. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//350/256/276/347/275/256/351/232/224/347/246/273/346/240/267/345/274/217.html +93 -93
  64. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//351/232/220/350/227/217/346/236/204/344/273/266.html +63 -0
  65. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//351/242/234/350/211/262/346/214/211/351/222/256.html +110 -119
  66. package/docs/classes/{Animation.uvEffect.md → Animation.UvEffect.md} +10 -10
  67. package/docs/classes/Longan.CameraMouse.md +23 -7
  68. package/docs/classes/Longan.CameraPlanMouse.md +31 -11
  69. package/docs/classes/Longan.EarthCameraMouse.md +31 -11
  70. package/docs/classes/Longan.PanoramaCameraMouse.md +31 -11
  71. package/docs/classes/Longan.PerspectiveCameraMouse.md +31 -11
  72. package/docs/modules/Animation.md +1 -1
  73. package/lib/BimAir.common-report.html +2 -2
  74. package/lib/BimAir.common.js +10 -10
  75. package/lib/BimAir.css +41 -41
  76. package/lib/BimAir.umd-report.html +2 -2
  77. package/lib/BimAir.umd.js +10 -10
  78. package/lib/BimAir.umd.min-report.html +2 -2
  79. package/lib/BimAir.umd.min.js +10 -10
  80. package/lib/undefined.gzundefined +0 -0
  81. package/package.json +1 -1
  82. package/public/js/longan/longan.js +1013 -1019
  83. package/public/js/longan/longan.wasm +0 -0
  84. package/public/js/longan/longan.worker.js +43 -51
  85. package/public/js/longanWithoutShareArrayBuffer/longan.js +1 -1
  86. package/public/js/longanWithoutShareArrayBuffer/longan.wasm +0 -0
  87. package/demo//344/272/213/344/273/266/346/223/215/344/275/234//351/242/234/350/211/262/345/222/214/345/212/250/347/224/273/346/214/211/351/222/256.html +0 -178
  88. package/demo//345/217/202/346/225/260/345/214/226/350/256/276/350/256/241//345/217/202/346/225/260/347/256/241/347/220/206/345/231/250.html +0 -86
  89. 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 +0 -155
  90. 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 +0 -156
  91. 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 +0 -122
  92. 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 +0 -118
  93. 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 +0 -493
  94. 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 +0 -172
  95. 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 +0 -291
  96. package/demo//346/250/241/345/236/213/345/212/250/347/224/273//350/267/257/345/276/204/345/271/263/347/247/273/345/212/250/347/224/273.html +0 -175
  97. 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 +0 -115
  98. 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 +0 -134
  99. 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 +0 -138
  100. package/demo//346/250/241/345/236/213/346/223/215/344/275/234//350/256/276/347/275/256/345/267/245/345/205/267/346/240/217/344/270/216/346/214/211/351/222/256/346/230/276/347/244/272/351/232/220/350/227/217.html +0 -72
  101. 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 +0 -137
  102. 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 +0 -157
  103. 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 +0 -250
  104. 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 +0 -265
  105. 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 +0 -111
  106. 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/346/236/204/344/273/266/351/232/224/347/246/273.html +0 -69
  107. 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 +0 -112
  108. 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/250/241/345/236/213/347/273/223/346/236/204/346/240/221.html +0 -58
  109. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//350/256/276/347/275/256/346/236/204/344/273/266/351/242/234/350/211/262.html +0 -75
  110. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//351/232/220/350/227/217/344/270/211/347/273/264/346/250/241/345/236/213/346/236/204/344/273/266.html +0 -71
  111. package/demo//347/273/223/346/236/204/346/240/221/344/270/216/346/236/204/344/273/266//351/232/224/347/246/273/346/214/211/351/222/256.html +0 -137
@@ -1,117 +1,103 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
-
4
- <head>
5
- <meta charset="UTF-8">
3
+ <head>
4
+ <meta charset="UTF-8" />
6
5
  <title>构件碰撞检测</title>
7
- <link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
8
- </link>
9
-
10
- </head>
11
-
12
- <body>
13
- <style>
14
- body {
15
- margin: 0;
16
- padding: 0;
17
- height: 100vh;
18
- }
19
-
20
- #app {
21
- height: 100vh;
22
- position: relative;
23
- }
24
- </style>
6
+ <!-- demo的样式 -->
7
+ <link rel="stylesheet" href="../assets/demo.css" />
8
+ <link
9
+ rel="stylesheet"
10
+ href="https://static.belife-bim.com/bimAir/BimAir.css"
11
+ />
12
+ </head>
13
+
14
+ <body>
25
15
  <div id="app">
26
- <!-- <div id="viewer">
16
+ <!-- <div id="viewer">
27
17
  </div> -->
28
- <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
18
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
29
19
  </div>
30
20
 
31
- <script src="https://static.graphicstone.com/vue.min.js"></script>
32
- <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
21
+ <script src="https://static.belife-bim.com/vue.min.js"></script>
22
+ <script src="https://static.belife-bim.com/bimAir/BimAir.umd.min.js"></script>
33
23
 
34
24
  <script type="text/javascript">
35
- new Vue({
36
- el: '#app',
37
- });
38
-
39
- let timer = setTimeout(() => {
40
- let options = {
41
- // viewerType: "model",
42
- elementId: "viewer",
43
- modelService: "https://static.graphicstone.com/modelApi",
44
- fileService: "https://static.graphicstone.com/fileApi",
45
-
46
- }
47
- BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
48
- let viewer = new BimAir.Viewer(options)
49
-
50
- viewer.loadModels(["626b4d1ebfe39e58ae7b66a2"]).then((lightModels) => {
51
-
52
-
53
- let sphere = viewer.temporaryObjectManager.addHemisphere(
54
- "test",
55
- "22",
56
- new Float32Array([0, 0, 1]),
57
- 100,
58
- new Float32Array([0, 0, 1])
59
- );
60
- let components = [];
61
- viewer.structureTreeManager.getComponents(
62
- viewer.structureTreeManager.rootNode,
63
- components
64
- );
65
-
66
- viewer.updateDisplay();
67
-
68
- let material = new BimAir.Material(viewer, "1");
69
- material.setColor(255, 0, 0, 1);
70
-
71
- //需要检测的碰撞类型
72
- // let type = BimAir.Longan.CollisionType.Touch | BimAir.Longan.CollisionType.Contain | BimAir.Longan.CollisionType.Soft | BimAir.Longan.CollisionType.Intersect;
73
- let type = BimAir.Longan.CollisionType.Soft ;
74
- //软碰撞距离
75
- viewer.softCollisionDistance = 0.1;
76
- console.log("components",components,sphere,type)
77
- for (let i = 0; i < components.length; i++) {
78
- const seg = components[i].segment;
79
- viewer.computeCollision(seg, sphere.segment, type).then(data => {
80
- console.log(data)
81
- })
82
- }
83
-
84
-
85
-
86
- // setTimeout(() => {
87
- // viewer
88
- // .computeObjectCollisions(
89
- // [sphere],
90
- // components,
91
- // type,
92
- // (viewer, total, current) => {
93
- // console.log("碰撞进度",total, current);
94
- // }
95
- // )
96
- // .then((result) => {
97
- // for (let i = 0; i < result.length; i++) {
98
- // let seg = result[i].component0;
99
- // let seg1 = result[i].component1;
100
-
101
- // viewer.materialManager.override([seg, seg1], material);
102
- // }
103
-
104
- // console.log("碰撞结果", result);
105
- // });
106
- // }, 3000);
107
-
108
-
109
- });
110
- })
111
-
112
- }, 1000)
25
+ new Vue({
26
+ el: "#app",
27
+ });
28
+
29
+ let timer = setTimeout(() => {
30
+ let options = {
31
+ // viewerType: "model",
32
+ elementId: "viewer",
33
+ modelService: "https://static.graphicstone.com/modelApi",
34
+ fileService: "https://static.graphicstone.com/fileApi",
35
+ };
36
+ BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(
37
+ () => {
38
+ let viewer = new BimAir.Viewer(options);
39
+
40
+ viewer
41
+ .loadModels(["626b4d1ebfe39e58ae7b66a2"])
42
+ .then((lightModels) => {
43
+ let sphere = viewer.temporaryObjectManager.addHemisphere(
44
+ "test",
45
+ "22",
46
+ new Float32Array([0, 0, 1]),
47
+ 100,
48
+ new Float32Array([0, 0, 1])
49
+ );
50
+ let components = [];
51
+ viewer.structureTreeManager.getComponents(
52
+ viewer.structureTreeManager.rootNode,
53
+ components
54
+ );
55
+
56
+ viewer.updateDisplay();
57
+
58
+ let material = new BimAir.Material(viewer, "1");
59
+ material.setColor(255, 0, 0, 1);
60
+
61
+ //需要检测的碰撞类型
62
+ // let type = BimAir.Longan.CollisionType.Touch | BimAir.Longan.CollisionType.Contain | BimAir.Longan.CollisionType.Soft | BimAir.Longan.CollisionType.Intersect;
63
+ let type = BimAir.Longan.CollisionType.Soft;
64
+ //软碰撞距离
65
+ viewer.softCollisionDistance = 0.1;
66
+ console.log("components", components, sphere, type);
67
+ for (let i = 0; i < components.length; i++) {
68
+ const seg = components[i].segment;
69
+ viewer
70
+ .computeCollision(seg, sphere.segment, type)
71
+ .then((data) => {
72
+ console.log(data);
73
+ });
74
+ }
75
+
76
+ // setTimeout(() => {
77
+ // viewer
78
+ // .computeObjectCollisions(
79
+ // [sphere],
80
+ // components,
81
+ // type,
82
+ // (viewer, total, current) => {
83
+ // console.log("碰撞进度",total, current);
84
+ // }
85
+ // )
86
+ // .then((result) => {
87
+ // for (let i = 0; i < result.length; i++) {
88
+ // let seg = result[i].component0;
89
+ // let seg1 = result[i].component1;
90
+
91
+ // viewer.materialManager.override([seg, seg1], material);
92
+ // }
93
+
94
+ // console.log("碰撞结果", result);
95
+ // });
96
+ // }, 3000);
97
+ });
98
+ }
99
+ );
100
+ }, 1000);
113
101
  </script>
114
-
115
- </body>
116
-
117
- </html>
102
+ </body>
103
+ </html>
@@ -1,70 +1,59 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
-
4
- <head>
5
- <meta charset="UTF-8">
3
+ <head>
4
+ <meta charset="UTF-8" />
6
5
  <title>构件选择与定位</title>
7
- <link rel="stylesheet" href="https://static.graphicstone.com/bimAir/BimAir.css">
8
- </link>
9
-
10
- </head>
11
-
12
- <body>
13
- <style>
14
- body {
15
- margin: 0;
16
- padding: 0;
17
- height: 100vh;
18
- }
19
-
20
- #app {
21
- height: 100vh;
22
- position: relative;
23
- }
24
- </style>
6
+ <!-- demo的样式 -->
7
+ <link rel="stylesheet" href="../assets/demo.css" />
8
+ <link
9
+ rel="stylesheet"
10
+ href="https://static.belife-bim.com/bimAir/BimAir.css"
11
+ />
12
+ </head>
13
+
14
+ <body>
25
15
  <div id="app">
26
- <!-- <div id="viewer">
27
- </div> -->
28
- <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
16
+ <div class="button-group">
17
+ <button onclick="locate()">构件定位</button>
18
+ </div>
19
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
29
20
  </div>
30
21
 
31
- <script src="https://static.graphicstone.com/vue.min.js"></script>
32
- <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
22
+ <script src="https://static.belife-bim.com/vue.min.js"></script>
23
+ <script src="https://static.belife-bim.com/bimAir/BimAir.umd.min.js"></script>
33
24
 
34
25
  <script type="text/javascript">
35
- new Vue({
36
- el: '#app',
37
- });
38
-
39
- let timer = setTimeout(() => {
40
- let options = {
41
- // viewerType: "model",
42
- elementId: "viewer",
43
-
44
- modelService: "https://static.graphicstone.com/modelApi",
45
- fileService: "https://static.graphicstone.com/fileApi",
46
-
47
- }
48
- BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(() => {
49
- let viewer = new BimAir.Viewer(options)
50
-
51
- viewer.loadModels(["626b4d1ebfe39e58ae7b66a2"]).then(lightModels => {
52
-
53
- let segmentObject = viewer.getComponent(
54
- lightModels[0].modelId,
55
- "243274"
56
- );
57
- // let selected = viewer.selectionManager.segmentObject;
58
- viewer.locateObject([segmentObject]);
59
- viewer.highlightManager.highlight([segmentObject])
60
-
61
-
62
- });
63
- })
64
-
65
- }, 1000)
26
+ new Vue({
27
+ el: "#app",
28
+ });
29
+
30
+ let options = {
31
+ // viewerType: "model",
32
+ elementId: "viewer",
33
+
34
+ modelService: "https://static.graphicstone.com/modelApi",
35
+ fileService: "https://static.graphicstone.com/fileApi",
36
+ };
37
+
38
+ let viewer, lightModels;
39
+ BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(
40
+ () => {
41
+ viewer = new BimAir.Viewer(options);
42
+
43
+ viewer.loadModels(["626b4d1ebfe39e58ae7b66a2"]).then((res) => {
44
+ lightModels = res;
45
+ });
46
+ }
47
+ );
48
+
49
+ function locate() {
50
+ let segmentObject = viewer.getComponent(
51
+ lightModels[0].modelId,
52
+ "243274"
53
+ );
54
+ viewer.locateObject([segmentObject]);
55
+ viewer.highlightManager.highlight([segmentObject]);
56
+ }
66
57
  </script>
67
-
68
- </body>
69
-
70
- </html>
58
+ </body>
59
+ </html>
@@ -0,0 +1,124 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <title>多模型操作</title>
6
+ <!-- demo的样式 -->
7
+ <link rel="stylesheet" href="../assets/demo.css" />
8
+ <link
9
+ rel="stylesheet"
10
+ href="https://static.belife-bim.com/bimAir/BimAir.css"
11
+ />
12
+ <script src="https://static.graphicstone.com/vue.min.js"></script>
13
+ <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
14
+ </head>
15
+
16
+ <body>
17
+ <div id="app">
18
+ <!-- <div id="viewer">
19
+ </div> -->
20
+ <div class="button-group">
21
+ <button onclick="funVisible()">构件隐藏</button>
22
+ <button onclick="funEmphasize()">构件强调</button>
23
+ </div>
24
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
25
+ </div>
26
+
27
+ <script type="text/javascript">
28
+ new Vue({
29
+ el: "#app",
30
+ });
31
+
32
+ let options = {
33
+ // viewerType: "model",
34
+ elementId: "viewer",
35
+ id: "6253e9d6b0545a0a6e49bf85",
36
+ modelService: "http://8.134.85.254:9036/api",
37
+ fileService: "http://8.134.85.254:9040/api",
38
+ };
39
+
40
+ let home_cameraView = {
41
+ position: new Float64Array([63.85, -114.21, 34.68]),
42
+ target: new Float64Array([-42.33, 70.52, -46.67]),
43
+ up: new Float64Array([-0.177, 0.309, 0.934]),
44
+ height: 228.08677009579034,
45
+ width: 228.08677009579034,
46
+ };
47
+
48
+ let cameraView = {
49
+ position: new Float64Array([0, 0, 0]),
50
+ target: new Float64Array([0, 0, 0]),
51
+ up: new Float64Array([0, 0, 0]),
52
+ height: 0,
53
+ width: 0,
54
+ };
55
+
56
+ let viewer;
57
+ let lightModels;
58
+ let tag_view = false;
59
+ let tag_visible = true;
60
+ let tag_color = 118;
61
+ //let bangonglouModelId = "62ba4f503a591513fe17d930";
62
+
63
+ BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(
64
+ () => {
65
+ viewer = new BimAir.Viewer(options);
66
+ this.viewer = viewer;
67
+ //viewer.isUpdateTt = true;
68
+ let bangonglouModelId = "62e35430525bed6af87fb12c";
69
+ let bieshuModelId = "62e35436525bed6af87fb163";
70
+ this.viewer
71
+ .loadModels([bangonglouModelId, bieshuModelId])
72
+ .then((lightModels) => {
73
+ lightModels[1].rotate = [1, 1, 270];
74
+ lightModels[1].translate = [40, 40, 0.45];
75
+ lightModels[1].scale = [1.2, 1.2, 1.2];
76
+
77
+ this.viewer.setViewMode(BimAir.Longan.ViewMode.Iso, true);
78
+
79
+ // this.viewer.camera.position = home_cameraView.position;
80
+ // this.viewer.camera.target = home_cameraView.target;
81
+ // this.viewer.camera.up = home_cameraView.up;
82
+ // this.viewer.camera.setField(home_cameraView.width, home_cameraView.height);
83
+ this.lightModels = lightModels;
84
+ this.viewer.updateDisplay();
85
+ });
86
+ }
87
+ );
88
+
89
+ function funVisible() {
90
+ if (this.tag_visible) {
91
+ this.lightModels[1].setComponentsVisible(["234936"], false);
92
+ this.viewer.updateDisplay();
93
+ this.tag_visible = !this.tag_visible;
94
+ } else {
95
+ this.lightModels[1].setComponentsVisible(["234936"], true);
96
+ this.viewer.updateDisplay();
97
+ this.tag_visible = !this.tag_visible;
98
+ }
99
+ }
100
+
101
+ function funEmphasize() {
102
+ console.log("funEmphasize##########", tag_color);
103
+ let material = new BimAir.Material(this.viewer, "test");
104
+ setInterval(() => {
105
+ let color_R = 0;
106
+ let color_G = tag_color;
107
+ let color_U = 0;
108
+ if (color_G >= 102) {
109
+ color_U = 255;
110
+ color_R = (color_G - 102) * 1.6;
111
+ } else {
112
+ color_R = 0;
113
+ color_U = 255 - (102 - color_G) * 2.5;
114
+ }
115
+ material.setColor(color_R, color_G, color_U, 1);
116
+ this.lightModels[0].setComponentsColor(["384359"], material);
117
+ this.viewer.updateDisplay();
118
+ tag_color += 20;
119
+ tag_color %= 254;
120
+ }, 100);
121
+ }
122
+ </script>
123
+ </body>
124
+ </html>
@@ -0,0 +1,127 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <title>设置隔离</title>
6
+ <!-- demo的样式 -->
7
+ <link rel="stylesheet" href="../assets/demo.css" />
8
+ <link
9
+ rel="stylesheet"
10
+ href="https://static.belife-bim.com/bimAir/BimAir.css"
11
+ />
12
+ <script src="https://static.graphicstone.com/vue.min.js"></script>
13
+ <script src="https://static.graphicstone.com/bimAir/BimAir.umd.min.js"></script>
14
+ </head>
15
+
16
+ <body>
17
+ <style>
18
+ body {
19
+ margin: 0;
20
+ padding: 0;
21
+ height: 100vh;
22
+ }
23
+
24
+ #app {
25
+ height: 100vh;
26
+ position: relative;
27
+ }
28
+
29
+ button {
30
+ margin: 20px 20px 20px 20px;
31
+ width: 120px;
32
+ height: 40px;
33
+ border-radius: 3px;
34
+ border: none;
35
+ background: #006fe4;
36
+ color: #ffffff;
37
+ outline: none;
38
+ }
39
+
40
+ .button-group {
41
+ position: absolute;
42
+ z-index: 100;
43
+ top: 5px;
44
+ left: 70px;
45
+ }
46
+ </style>
47
+ <div id="app">
48
+ <!-- <div id="viewer">
49
+ </div> -->
50
+ <div class="button-group">
51
+ <button onclick="setScene()">设置视角</button>
52
+ <button onclick="setAllIsolation()">设置模型隔离</button>
53
+ <button onclick="setComponentsColor()">设置构件颜色</button>
54
+ <button onclick="cancelColor()">取消颜色</button>
55
+ <button onclick="cancelIsolation()">取消隔离</button>
56
+ </div>
57
+ <viewer-wrapper elementId="viewer" style="height: 100%; width: 100%" />
58
+ </div>
59
+
60
+ <script type="text/javascript">
61
+ new Vue({
62
+ el: "#app",
63
+ });
64
+
65
+ let options = {
66
+ // viewerType: "model",
67
+ elementId: "viewer",
68
+ id: "6253e9d6b0545a0a6e49bf85",
69
+ modelService: "https://static.graphicstone.com/modelApi",
70
+ fileService: "https://static.graphicstone.com/fileApi",
71
+ };
72
+ let aboutCamera = {
73
+ position: new Float64Array([379633.85, 39084.71, 3129.943]),
74
+ target: new Float64Array([380036.613, 39459.857, 3066.088]),
75
+ up: new Float64Array([0.084, 0.079, 0.993]),
76
+ field: 554.132,
77
+ };
78
+ let viewer;
79
+ let lightModels;
80
+ let id = "632273cbbc278049a0898a0e";
81
+ let model1 = "632273cfbc278049a0898a12";
82
+
83
+ let objectID1 = "QMD+M+4G+HYD+XDRA01+EL002";
84
+
85
+ BimAir.Loader({ url: "https://static.graphicstone.com/bimAir" }).then(
86
+ () => {
87
+ viewer = new BimAir.Viewer(options);
88
+ this.viewer = viewer;
89
+ this.viewer.loadModels([id, model1]).then((lightModels) => {
90
+ this.lightModels = lightModels;
91
+ this.viewer.fitWorld();
92
+ });
93
+ }
94
+ );
95
+
96
+ function setScene() {
97
+ this.viewer.camera.position = aboutCamera.position;
98
+ this.viewer.camera.target = aboutCamera.target;
99
+ this.viewer.camera.up = aboutCamera.up;
100
+ this.viewer.camera.setField(aboutCamera.field, aboutCamera.field);
101
+ this.viewer.fitWorld();
102
+ }
103
+
104
+ function setAllIsolation() {
105
+ this.lightModels[0].setAllComponentsIsolation(true);
106
+ this.viewer.updateDisplay();
107
+ }
108
+
109
+ function setComponentsColor() {
110
+ let material2 = new BimAir.Material(this.viewer, "test2");
111
+ material2.setColor(127, 250, 0, 1);
112
+ this.lightModels[1].setAllComponentsColor(material2);
113
+ this.viewer.updateDisplay();
114
+ }
115
+
116
+ function cancelColor() {
117
+ this.lightModels[1].setAllComponentsColor(null);
118
+ this.viewer.updateDisplay();
119
+ }
120
+
121
+ function cancelIsolation() {
122
+ this.lightModels[0].setAllComponentsIsolation(false);
123
+ this.viewer.updateDisplay();
124
+ }
125
+ </script>
126
+ </body>
127
+ </html>