gs-bim-air 3.0.3 → 3.0.5

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 (391) hide show
  1. package/.git +1 -0
  2. package/README.md +20 -1
  3. package/docs/classes/CameraMouse.md +1 -1
  4. package/docs/classes/EarthCameraMouse3D.md +1 -1
  5. package/docs/classes/Process.md +3 -1
  6. package/docs/classes/ThirdPersonOperator.md +1 -1
  7. package/docs/classes/TreeNodeObject.md +12 -4
  8. package/docs/classes/Viewer.md +25 -21
  9. package/docs/namespaces/Animation/classes/MeadowEffect.md +14 -2
  10. package/docs/namespaces/Managers/classes/EffectManager.md +58 -16
  11. package/docs/namespaces/Managers/classes/ProjectManager.md +51 -1
  12. package/docs/namespaces/Managers/classes/RenderObjectManager.md +0 -104
  13. package/docs/namespaces/Managers/classes/SelectionManager.md +34 -5
  14. package/docs/namespaces/Managers/classes/StyleManager.md +34 -2
  15. package/lib/BimAir.common-report.html +2 -2
  16. package/lib/BimAir.common.js +2879 -2057
  17. package/lib/BimAir.css +8782 -8786
  18. package/lib/BimAir.umd-report.html +2 -2
  19. package/lib/BimAir.umd.js +2879 -2057
  20. package/lib/BimAir.umd.min-report.html +2 -2
  21. package/lib/BimAir.umd.min.js +3 -3
  22. package/package.json +1 -1
  23. package/public/js/longanWithoutShareArrayBuffer/longan.js +404 -332
  24. package/public/js/longanWithoutShareArrayBuffer/longan.wasm +0 -0
  25. package/public/js/shaders/screenSpaceCurvature.fragment.fx +1 -1
  26. package/public/js/shaders/shadersInclude/screenSpaceRayTrace.fx +1 -1
  27. package/public/js/shadersWGSL/shadersInclude/screenSpaceRayTrace.fx +1 -1
  28. package/src/api/cuttingService.ts +0 -55
  29. package/src/api/effectService.ts +0 -46
  30. package/src/api/file/fileService.ts +0 -21
  31. package/src/api/gisProjectService.ts +0 -129
  32. package/src/api/gsl/gslService.ts +0 -36
  33. package/src/api/indexedDB.ts +0 -212
  34. package/src/api/labelService.ts +0 -55
  35. package/src/api/longan/component-property.http +0 -157
  36. package/src/api/longan/longan-segment.http +0 -149
  37. package/src/api/longan/segment- geometry.http +0 -24
  38. package/src/api/longanModelApi.ts +0 -24
  39. package/src/api/markupService.ts +0 -61
  40. package/src/api/measureService.ts +0 -55
  41. package/src/api/modelService copy.ts +0 -265
  42. package/src/api/modelService.ts +0 -378
  43. package/src/api/modelVersion/convertorService.ts +0 -62
  44. package/src/api/modelVersion/model.http +0 -8
  45. package/src/api/modelVersion/model.ts +0 -72
  46. package/src/api/modelVersion/modelService.ts +0 -112
  47. package/src/api/modelVersion/version.ts +0 -15
  48. package/src/api/modelVersion/versionCode.ts +0 -4
  49. package/src/api/osgbApi.ts +0 -19
  50. package/src/api/pathRoamService.ts +0 -55
  51. package/src/api/project/project.http +0 -62
  52. package/src/api/projectService copy.ts +0 -32
  53. package/src/api/projectService.ts +0 -231
  54. package/src/api/renderObjectService.ts +0 -61
  55. package/src/api/userService.ts +0 -97
  56. package/src/api/viewPointService.ts +0 -62
  57. package/src/assets/icon.ts +0 -134
  58. package/src/assets/iconfont/demo.css +0 -539
  59. package/src/assets/iconfont/demo_index.html +0 -2675
  60. package/src/assets/iconfont/iconfont.css +0 -449
  61. package/src/assets/iconfont/iconfont.js +0 -1
  62. package/src/assets/iconfont/iconfont.json +0 -765
  63. package/src/assets/iconfont/iconfont.ttf +0 -0
  64. package/src/assets/iconfont/iconfont.woff +0 -0
  65. package/src/assets/iconfont/iconfont.woff2 +0 -0
  66. package/src/assets/images/DaylightBoxIcon.jpg +0 -0
  67. package/src/assets/images/TropicalSunnyDayIcon.jpg +0 -0
  68. package/src/assets/images/autumnSkyboxIcon.jpg +0 -0
  69. package/src/assets/images/cloudySkyboxIcon.jpg +0 -0
  70. package/src/assets/images/darkSkyboxIcon.jpg +0 -0
  71. package/src/assets/images/desertSkyboxIcon.jpg +0 -0
  72. package/src/assets/images/duskSkyboxIcon.jpg +0 -0
  73. package/src/assets/images/modelImg.png +0 -0
  74. package/src/assets/images/nightSkyboxIcon.jpg +0 -0
  75. package/src/assets/images/placeholder.jpg +0 -0
  76. package/src/assets/images/skyboxIcon.jpg +0 -0
  77. package/src/assets/images/sunnySkyboxIcon.jpg +0 -0
  78. package/src/assets/images/sunsetSkyboxIcon.jpg +0 -0
  79. package/src/assets/scss/dialog.scss +0 -47
  80. package/src/assets/scss/element-dark.scss +0 -1102
  81. package/src/assets/scss/element-variables.scss +0 -1113
  82. package/src/assets/scss/global.scss +0 -3
  83. package/src/assets/scss/gs-card.scss +0 -66
  84. package/src/assets/scss/gs-date-picker.scss +0 -14
  85. package/src/assets/scss/gs-input-dark.scss +0 -15
  86. package/src/assets/scss/gs-select-dropdown.scss +0 -37
  87. package/src/assets/scss/gs-table.scss +0 -37
  88. package/src/assets/scss/gs-tabs.scss +0 -32
  89. package/src/assets/scss/gs-tree-dark.scss +0 -26
  90. package/src/assets/scss/gs-tree.scss +0 -30
  91. package/src/assets/scss/intelligentScreen.scss +0 -1009
  92. package/src/assets/scss/scrollbar.scss +0 -14
  93. package/src/assets/scss/site-dark.scss +0 -53
  94. package/src/assets/scss/site-light.scss +0 -53
  95. package/src/assets/scss/site.scss +0 -54
  96. package/src/assets/scss/vuesaxCover.css +0 -15
  97. package/src/assets/svgs/camera.svg +0 -15
  98. package/src/assets/svgs/compass.svg +0 -14
  99. package/src/assets/svgs/compass.ts +0 -7
  100. package/src/assets/svgs/rotatePoint.svg +0 -8
  101. package/src/assets/svgs/rotatePoint.ts +0 -6
  102. package/src/assets/theme/common.scss +0 -1088
  103. package/src/assets/theme/dark/element-variables.scss +0 -71
  104. package/src/assets/theme/dark/styls.scss +0 -73
  105. package/src/assets/theme/gis/element-variables.scss +0 -72
  106. package/src/assets/theme/gis/styls.scss +0 -74
  107. package/src/assets/theme/handle.scss +0 -27
  108. package/src/assets/theme/primary/element-variables.scss +0 -71
  109. package/src/assets/theme/primary/styls.scss +0 -74
  110. package/src/assets/theme/themes.scss +0 -11
  111. package/src/assets/theme/tint/element-variables.scss +0 -71
  112. package/src/assets/theme/tint/styls.scss +0 -74
  113. package/src/axiosRequestExport.ts +0 -97
  114. package/src/components/el/tree/index.js +0 -8
  115. package/src/components/el/tree/src/model/node.js +0 -508
  116. package/src/components/el/tree/src/model/tree-store.js +0 -340
  117. package/src/components/el/tree/src/model/util.js +0 -27
  118. package/src/components/el/tree/src/tree-node.vue +0 -313
  119. package/src/components/el/tree/src/tree.vue +0 -580
  120. package/src/components/gs/gs-icon.vue +0 -65
  121. package/src/components/gs/gsButtonGroup/gs-button-group.vue +0 -77
  122. package/src/components/gs/gsButtonGroup/index.ts +0 -7
  123. package/src/components/gs/gsButtonIcon/gs-button-icon.vue +0 -285
  124. package/src/components/gs/gsButtonIcon/index.ts +0 -7
  125. package/src/components/gs/gsDialog/gs-dialog.vue +0 -128
  126. package/src/components/gs/gsDialog/index.ts +0 -7
  127. package/src/components/gs/gsDivider/gs-divider.vue +0 -34
  128. package/src/components/gs/gsDivider/index.ts +0 -7
  129. package/src/components/gs/gsTree/gs-property-tree.vue +0 -71
  130. package/src/components/gs/gsTree/index.ts +0 -7
  131. package/src/components/gs/gsTreeNode/gs-property-tree-node.vue +0 -158
  132. package/src/components/gs/gsTreeNode/index.ts +0 -7
  133. package/src/components/gs-animation-box.vue +0 -73
  134. package/src/components/gs-badge.vue +0 -40
  135. package/src/components/gs-button-bigIcon.vue +0 -102
  136. package/src/components/gs-button-icon-border.vue +0 -111
  137. package/src/components/gs-button-select-right.vue +0 -126
  138. package/src/components/gs-button-select.vue +0 -168
  139. package/src/components/gs-button-small.vue +0 -180
  140. package/src/components/gs-button-underline.vue +0 -66
  141. package/src/components/gs-button-wrapper.vue +0 -62
  142. package/src/components/gs-button.vue +0 -201
  143. package/src/components/gs-drag-left-right.vue +0 -175
  144. package/src/components/gs-input.vue +0 -63
  145. package/src/components/gs-panel-dark.vue +0 -176
  146. package/src/components/gs-right-menu.vue +0 -115
  147. package/src/components/gs-roll-list-slot.vue +0 -125
  148. package/src/components/gs-select-small.vue +0 -67
  149. package/src/components/gs-setting-wrapper.vue +0 -47
  150. package/src/components/gs-show-panel-down.vue +0 -131
  151. package/src/components/gs-show-panel.vue +0 -180
  152. package/src/components/gs-toolbar-item.vue +0 -72
  153. package/src/components/gs-tooltip.vue +0 -38
  154. package/src/components/gs-upload.vue +0 -225
  155. package/src/index.ts +0 -259
  156. package/src/install.ts +0 -35
  157. package/src/plugins/canvasDraw/canvasOperator.ts +0 -89
  158. package/src/plugins/canvasDraw/canvasViewer.ts +0 -120
  159. package/src/plugins/canvasDraw/index.ts +0 -319
  160. package/src/plugins/canvasDraw/keyEvent.ts +0 -86
  161. package/src/plugins/canvasDraw/lib/arrow.ts +0 -49
  162. package/src/plugins/canvasDraw/lib/color.ts +0 -3
  163. package/src/plugins/canvasDraw/lib/diameter.ts +0 -3
  164. package/src/plugins/canvasDraw/lib/editor.ts +0 -209
  165. package/src/plugins/canvasDraw/lib/ellipsis.ts +0 -14
  166. package/src/plugins/canvasDraw/lib/mosaic.ts +0 -31
  167. package/src/plugins/canvasDraw/lib/pen.ts +0 -36
  168. package/src/plugins/canvasDraw/lib/rectangle.ts +0 -13
  169. package/src/plugins/canvasDraw/lib/shape.ts +0 -42
  170. package/src/plugins/canvasDraw/lib/text.ts +0 -60
  171. package/src/plugins/canvasDraw/lib/tool.ts +0 -168
  172. package/src/plugins/element.ts +0 -180
  173. package/src/plugins/gsElement.ts +0 -14
  174. package/src/plugins/iconfont.ts +0 -3
  175. package/src/plugins/svgDraw/index.ts +0 -168
  176. package/src/plugins/svgDraw/svgViewer.ts +0 -86
  177. package/src/plugins/vuesax.ts +0 -16
  178. package/src/shims-fx.d.ts +0 -1
  179. package/src/shims-image.d.ts +0 -14
  180. package/src/shims-scss.d.ts +0 -2
  181. package/src/shims-tsx.d.ts +0 -13
  182. package/src/shims-vue.d.ts +0 -18
  183. package/src/shims-worker.d.ts +0 -8
  184. package/src/store/command.ts +0 -101
  185. package/src/store/index.ts +0 -156
  186. package/src/store/operator.ts +0 -25
  187. package/src/store/options.ts +0 -52
  188. package/src/store/panel.ts +0 -144
  189. package/src/store/structureTree.ts +0 -14
  190. package/src/store/toolbar.ts +0 -45
  191. package/src/typedocExport.ts +0 -288
  192. package/src/utils/canvas.ts +0 -40
  193. package/src/utils/color.ts +0 -17
  194. package/src/utils/cookie.ts +0 -187
  195. package/src/utils/copyText.ts +0 -16
  196. package/src/utils/dataFormat.ts +0 -3
  197. package/src/utils/dataUtility.ts +0 -73
  198. package/src/utils/date.ts +0 -23
  199. package/src/utils/dateUtility.ts +0 -5
  200. package/src/utils/deepClone.ts +0 -19
  201. package/src/utils/documentUtility.ts +0 -11
  202. package/src/utils/fileFormatTransform.ts +0 -42
  203. package/src/utils/fileType.ts +0 -97
  204. package/src/utils/fileUtility.ts +0 -208
  205. package/src/utils/forbiddenF12.ts +0 -11
  206. package/src/utils/global.ts +0 -6
  207. package/src/utils/httpUtility.ts +0 -18
  208. package/src/utils/index.ts +0 -26
  209. package/src/utils/md5.ts +0 -262
  210. package/src/utils/request.ts +0 -123
  211. package/src/utils/utility.ts +0 -204
  212. package/src/utils/uuid.ts +0 -9
  213. package/src/utils/window.ts +0 -22
  214. package/src/viewerWrapper/commands/commandBindComponent.vue +0 -405
  215. package/src/viewerWrapper/commands/commandComponent.ts +0 -180
  216. package/src/viewerWrapper/commands/commandSelect.ts +0 -7
  217. package/src/viewerWrapper/commands/createMeadow/commandCreateMeadow.ts +0 -84
  218. package/src/viewerWrapper/commands/createWall/commandCreateWall.ts +0 -231
  219. package/src/viewerWrapper/commands/createWall/createWall.vue +0 -120
  220. package/src/viewerWrapper/commands/multiPoint/multiPointCommand.ts +0 -228
  221. package/src/viewerWrapper/commands/showCollision/commandShowCollision.ts +0 -404
  222. package/src/viewerWrapper/commands/showCollision/showCollision.vue +0 -222
  223. package/src/viewerWrapper/commands/showComponentCut/commandShowComponentCut.ts +0 -31
  224. package/src/viewerWrapper/commands/showComponentCut/showComponentCut.vue +0 -138
  225. package/src/viewerWrapper/commands/showCut/showAxisCut/commandShowAxisCut.ts +0 -129
  226. package/src/viewerWrapper/commands/showCut/showAxisCut/showAxisCut.vue +0 -100
  227. package/src/viewerWrapper/commands/showCut/showBoxCut/commandShowBoxCut.ts +0 -129
  228. package/src/viewerWrapper/commands/showCut/showBoxCut/showBoxCut.vue +0 -228
  229. package/src/viewerWrapper/commands/showCut/showElavationCut/commandShowElevationCut.ts +0 -100
  230. package/src/viewerWrapper/commands/showCut/showElavationCut/showElevationCut.vue +0 -123
  231. package/src/viewerWrapper/commands/showCut/showElementCut/commandShowElementCut.ts +0 -108
  232. package/src/viewerWrapper/commands/showCut/showElementCut/showElementCut.vue +0 -185
  233. package/src/viewerWrapper/commands/showDrawingItem/commandShowDrawingItem.ts +0 -215
  234. package/src/viewerWrapper/commands/showDrawingItem/showDrawingItem.vue +0 -65
  235. package/src/viewerWrapper/commands/showEditLabel/commandShowEditLabel.ts +0 -48
  236. package/src/viewerWrapper/commands/showEditLabel/lib/image.ts +0 -136
  237. package/src/viewerWrapper/commands/showEditLabel/lib/label.ts +0 -56
  238. package/src/viewerWrapper/commands/showEditLabel/lib/leadtext.ts +0 -130
  239. package/src/viewerWrapper/commands/showEditLabel/lib/location.ts +0 -86
  240. package/src/viewerWrapper/commands/showEditLabel/showEditLabel.vue +0 -359
  241. package/src/viewerWrapper/commands/showEditStyle/commandShowEditStyle.ts +0 -358
  242. package/src/viewerWrapper/commands/showEditStyle/showEditStyle.vue +0 -339
  243. package/src/viewerWrapper/commands/showFirstPersonRoam/commandShowFirstPersonRoam.ts +0 -215
  244. package/src/viewerWrapper/commands/showFirstPersonRoam/showFirstPersonRoam.vue +0 -56
  245. package/src/viewerWrapper/commands/showMarkup/commandShowMarkup.ts +0 -200
  246. package/src/viewerWrapper/commands/showMarkup/lib/arrow.ts +0 -342
  247. package/src/viewerWrapper/commands/showMarkup/lib/elliptic.ts +0 -331
  248. package/src/viewerWrapper/commands/showMarkup/lib/markup.ts +0 -35
  249. package/src/viewerWrapper/commands/showMarkup/lib/rectangle.ts +0 -335
  250. package/src/viewerWrapper/commands/showMarkup/lib/text.ts +0 -317
  251. package/src/viewerWrapper/commands/showMarkup/lib/waveRectangle.ts +0 -334
  252. package/src/viewerWrapper/commands/showMarkup/showMarkup.vue +0 -203
  253. package/src/viewerWrapper/commands/showMeasure/commandShowMeasure.ts +0 -104
  254. package/src/viewerWrapper/commands/showMeasure/lib/angle.ts +0 -387
  255. package/src/viewerWrapper/commands/showMeasure/lib/area.ts +0 -103
  256. package/src/viewerWrapper/commands/showMeasure/lib/distance.ts +0 -314
  257. package/src/viewerWrapper/commands/showMeasure/lib/elevation.ts +0 -164
  258. package/src/viewerWrapper/commands/showMeasure/lib/measure.ts +0 -48
  259. package/src/viewerWrapper/commands/showMeasure/lib/minDistance.ts +0 -398
  260. package/src/viewerWrapper/commands/showMeasure/lib/point.ts +0 -211
  261. package/src/viewerWrapper/commands/showMeasure/lib/slope.ts +0 -203
  262. package/src/viewerWrapper/commands/showMeasure/lib/volume.ts +0 -113
  263. package/src/viewerWrapper/commands/showMeasure/showMeasure.vue +0 -415
  264. package/src/viewerWrapper/commands/showModelExplosion/commandShowModelExplosion.ts +0 -271
  265. package/src/viewerWrapper/commands/showModelExplosion/commandShowProModelExplosion.ts +0 -410
  266. package/src/viewerWrapper/commands/showModelExplosion/showModelExplosion.vue +0 -63
  267. package/src/viewerWrapper/commands/showModelExplosion/showProModelExplosion.vue +0 -382
  268. package/src/viewerWrapper/commands/showMove/commandShowMove.ts +0 -55
  269. package/src/viewerWrapper/commands/showMove/showMove.vue +0 -116
  270. package/src/viewerWrapper/commands/showPathRoam/commandShowPathRoam.ts +0 -405
  271. package/src/viewerWrapper/commands/showPathRoam/showPathRoam.vue +0 -573
  272. package/src/viewerWrapper/commands/showProjection/commandShowProjection.ts +0 -353
  273. package/src/viewerWrapper/commands/showProjection/showProjection.vue +0 -75
  274. package/src/viewerWrapper/commands/showSlicePanel/commandShowSlicePanel.ts +0 -658
  275. package/src/viewerWrapper/commands/showSlicePanel/showSlicePanel.vue +0 -190
  276. package/src/viewerWrapper/commands/showThirdPersonRoam/commandShowThirdPersonRoam.ts +0 -196
  277. package/src/viewerWrapper/commands/showThirdPersonRoam/showThirdPersonRoam.vue +0 -57
  278. package/src/viewerWrapper/commands/showViewPlanItem/commandShowViewPlanItem.ts +0 -374
  279. package/src/viewerWrapper/commands/showViewPlanItem/showViewPlanItem.vue +0 -75
  280. package/src/viewerWrapper/components/bottomToolbar/componentOperate/componentOperate.ts +0 -77
  281. package/src/viewerWrapper/components/bottomToolbar/componentOperate/componentOperate.vue +0 -36
  282. package/src/viewerWrapper/components/bottomToolbar/cut/cut.ts +0 -110
  283. package/src/viewerWrapper/components/bottomToolbar/cut/cut.vue +0 -21
  284. package/src/viewerWrapper/components/bottomToolbar/indexToolbar.ts +0 -446
  285. package/src/viewerWrapper/components/bottomToolbar/indexToolbar.vue +0 -181
  286. package/src/viewerWrapper/components/bottomToolbar/info/info.ts +0 -60
  287. package/src/viewerWrapper/components/bottomToolbar/info/info.vue +0 -30
  288. package/src/viewerWrapper/components/bottomToolbar/label/label.ts +0 -39
  289. package/src/viewerWrapper/components/bottomToolbar/label/label.vue +0 -17
  290. package/src/viewerWrapper/components/bottomToolbar/markup/markup.ts +0 -48
  291. package/src/viewerWrapper/components/bottomToolbar/markup/markup.vue +0 -72
  292. package/src/viewerWrapper/components/bottomToolbar/measure/measure.ts +0 -39
  293. package/src/viewerWrapper/components/bottomToolbar/measure/measure.vue +0 -20
  294. package/src/viewerWrapper/components/bottomToolbar/roam/roam.ts +0 -243
  295. package/src/viewerWrapper/components/bottomToolbar/roam/roam.vue +0 -135
  296. package/src/viewerWrapper/components/bottomToolbar/sceneEffect/sceneEffect.ts +0 -132
  297. package/src/viewerWrapper/components/bottomToolbar/sceneEffect/sceneEffect.vue +0 -63
  298. package/src/viewerWrapper/components/bottomToolbar/sceneOperate/sceneOperate.ts +0 -158
  299. package/src/viewerWrapper/components/bottomToolbar/sceneOperate/sceneOperate.vue +0 -72
  300. package/src/viewerWrapper/components/bottomToolbar/toolbar.ts +0 -49
  301. package/src/viewerWrapper/components/bottomToolbar/toolbar.vue +0 -74
  302. package/src/viewerWrapper/components/bottomToolbar/viewModel/viewModel.ts +0 -157
  303. package/src/viewerWrapper/components/bottomToolbar/viewModel/viewModel.vue +0 -54
  304. package/src/viewerWrapper/components/frameRate/frameRate.ts +0 -34
  305. package/src/viewerWrapper/components/frameRate/frameRate.vue +0 -14
  306. package/src/viewerWrapper/components/leftToolbar/components/showRoam/showRoam.ts +0 -59
  307. package/src/viewerWrapper/components/leftToolbar/components/viewPoint/viewPointPanel.ts +0 -65
  308. package/src/viewerWrapper/components/leftToolbar/toolbar.ts +0 -246
  309. package/src/viewerWrapper/components/leftToolbar/toolbar.vue +0 -124
  310. package/src/viewerWrapper/components/rightToolbar/toolbar.ts +0 -210
  311. package/src/viewerWrapper/components/rightToolbar/toolbar.vue +0 -78
  312. package/src/viewerWrapper/module/addModel.ts +0 -55
  313. package/src/viewerWrapper/module/addRotatePointSVG.ts +0 -74
  314. package/src/viewerWrapper/module/createMenu.tsx +0 -163
  315. package/src/viewerWrapper/module/findModelId.ts +0 -24
  316. package/src/viewerWrapper/module/getRelatedIds.ts +0 -59
  317. package/src/viewerWrapper/module/removeModel.ts +0 -8
  318. package/src/viewerWrapper/module/saveModel.ts +0 -32
  319. package/src/viewerWrapper/module/setModelColor.ts +0 -11
  320. package/src/viewerWrapper/module/translateModel.ts +0 -12
  321. package/src/viewerWrapper/panels/backgroundEffect/backgroundEffectPanel.ts +0 -24
  322. package/src/viewerWrapper/panels/backgroundEffect/interfaceBackgroundEffectPanel.vue +0 -370
  323. package/src/viewerWrapper/panels/collision/collisionItemPanel.ts +0 -316
  324. package/src/viewerWrapper/panels/collision/collisionPanel.ts +0 -127
  325. package/src/viewerWrapper/panels/collision/interfaceCollisionItemPanel.vue +0 -219
  326. package/src/viewerWrapper/panels/collision/interfaceCollisionPanel.vue +0 -816
  327. package/src/viewerWrapper/panels/componentBlink/componentBlinkPanel.ts +0 -68
  328. package/src/viewerWrapper/panels/componentBlink/interfaceComponentBlinkPanel.vue +0 -140
  329. package/src/viewerWrapper/panels/componentInfo/componentInfoPanel.ts +0 -27
  330. package/src/viewerWrapper/panels/componentInfo/interfaceComponentInfoPanel.vue +0 -98
  331. package/src/viewerWrapper/panels/drawing/drawingPanel.ts +0 -105
  332. package/src/viewerWrapper/panels/drawing/interfaceDrawingPanel.vue +0 -126
  333. package/src/viewerWrapper/panels/effectPanels/componentEmissive/componentEmissivePanel.ts +0 -80
  334. package/src/viewerWrapper/panels/effectPanels/componentEmissive/interfaceComponentEmissivePanel.vue +0 -114
  335. package/src/viewerWrapper/panels/effectPanels/electricWall/electricWallPanel.ts +0 -65
  336. package/src/viewerWrapper/panels/effectPanels/electricWall/interfaceElectricWallEffectPanel.vue +0 -109
  337. package/src/viewerWrapper/panels/effectPanels/heatMap/heatMapEffectPanel.ts +0 -87
  338. package/src/viewerWrapper/panels/effectPanels/hemisphereScan/hemisphereScanCommand.ts +0 -17
  339. package/src/viewerWrapper/panels/effectPanels/hemisphereScan/hemisphereScanPanel.ts +0 -75
  340. package/src/viewerWrapper/panels/effectPanels/hemisphereScan/interfaceHemisphereScanPanel.vue +0 -159
  341. package/src/viewerWrapper/panels/effectPanels/particleEffect/interfaceParticleEffectPanel.vue +0 -242
  342. package/src/viewerWrapper/panels/effectPanels/particleEffect/particleEffectCommand.ts +0 -17
  343. package/src/viewerWrapper/panels/effectPanels/particleEffect/particleEffectPanel.ts +0 -86
  344. package/src/viewerWrapper/panels/effectPanels/radarScanEffect/interfaceRadarScanEffectPanel.vue +0 -164
  345. package/src/viewerWrapper/panels/effectPanels/radarScanEffect/radarScanEffectCommand.ts +0 -17
  346. package/src/viewerWrapper/panels/effectPanels/radarScanEffect/radarScanEffectPanel.ts +0 -89
  347. package/src/viewerWrapper/panels/effectPanels/spotLight/interfaceSpotLightEffectPanel.vue +0 -134
  348. package/src/viewerWrapper/panels/effectPanels/spotLight/spotLightEffectCommand.ts +0 -17
  349. package/src/viewerWrapper/panels/effectPanels/spotLight/spotLightEffectPanel.ts +0 -79
  350. package/src/viewerWrapper/panels/effectPanels/videoFusion/interfaceVideoFusionPanel.vue +0 -208
  351. package/src/viewerWrapper/panels/effectPanels/videoFusion/videoEffectCommand.ts +0 -17
  352. package/src/viewerWrapper/panels/effectPanels/videoFusion/videoFusionPanel.ts +0 -82
  353. package/src/viewerWrapper/panels/frameRate/frameRatePanel.ts +0 -29
  354. package/src/viewerWrapper/panels/frameRate/interfaceFrameRatePanel.vue +0 -102
  355. package/src/viewerWrapper/panels/index.ts +0 -40
  356. package/src/viewerWrapper/panels/info/infoPanel.ts +0 -30
  357. package/src/viewerWrapper/panels/info/interfaceInfoPanel.vue +0 -191
  358. package/src/viewerWrapper/panels/markup/interfaceMarkupPanel.vue +0 -234
  359. package/src/viewerWrapper/panels/markup/markupPanel.ts +0 -54
  360. package/src/viewerWrapper/panels/operationInfo/interfaceOperationInfoPanel.vue +0 -80
  361. package/src/viewerWrapper/panels/operationInfo/operationInfoPanel.ts +0 -25
  362. package/src/viewerWrapper/panels/panel.ts +0 -126
  363. package/src/viewerWrapper/panels/panelBindComponent.vue +0 -355
  364. package/src/viewerWrapper/panels/position/interfacePositionPanel.vue +0 -240
  365. package/src/viewerWrapper/panels/position/positionPanel.ts +0 -64
  366. package/src/viewerWrapper/panels/projection/interfaceProjectionPanel.vue +0 -80
  367. package/src/viewerWrapper/panels/projection/projectionPanel.ts +0 -426
  368. package/src/viewerWrapper/panels/property/interfacePropertyPanel.vue +0 -322
  369. package/src/viewerWrapper/panels/property/panes/propertyPanel.vue +0 -971
  370. package/src/viewerWrapper/panels/property/propertyPanel.ts +0 -82
  371. package/src/viewerWrapper/panels/scene/interfaceScenePanel.vue +0 -264
  372. package/src/viewerWrapper/panels/scene/scenePanel.ts +0 -133
  373. package/src/viewerWrapper/panels/setting/interfaceSettingPanel.vue +0 -909
  374. package/src/viewerWrapper/panels/setting/settingPanel.ts +0 -32
  375. package/src/viewerWrapper/panels/snapshoot/interfaceSnapshootPanel.vue +0 -213
  376. package/src/viewerWrapper/panels/snapshoot/snapshootPanel.ts +0 -80
  377. package/src/viewerWrapper/panels/structureTree/interfaceStructureTree.ts +0 -92
  378. package/src/viewerWrapper/panels/structureTree/interfaceStructureTree.vue +0 -147
  379. package/src/viewerWrapper/panels/structureTree/panes/structureTree.ts +0 -1124
  380. package/src/viewerWrapper/panels/structureTree/panes/structureTree.vue +0 -227
  381. package/src/viewerWrapper/panels/structureTree/structureTree.ts +0 -54
  382. package/src/viewerWrapper/panels/structureTree/structureTreeBus.ts +0 -4
  383. package/src/viewerWrapper/panels/transparency/interfaceTransparencyPanel.vue +0 -197
  384. package/src/viewerWrapper/panels/transparency/transparencyPanel.ts +0 -25
  385. package/src/viewerWrapper/panels/viewPlan/interfaceViewPlanPanel.vue +0 -133
  386. package/src/viewerWrapper/panels/viewPlan/viewPlanPanel.ts +0 -97
  387. package/src/viewerWrapper/panels/viewPoint/interfaceViewPointPanel.vue +0 -241
  388. package/src/viewerWrapper/panels/viewPoint/viewPointPanel.ts +0 -350
  389. package/src/viewerWrapper/viewerWrapper.ts +0 -238
  390. package/src/viewerWrapper/viewerWrapper.vue +0 -166
  391. package//347/216/257/345/242/203/346/226/207/346/241/243//345/270/270/350/247/201/351/227/256/351/242/230.md +0 -1
@@ -1,1124 +0,0 @@
1
- import { Component, Inject, Prop, Vue } from "vue-property-decorator";
2
- import * as Longan from "gs-longan";
3
- import * as LonganApi from "gs-bim-air-core/gsDevFx/api";
4
- import GsDivider from "../../../../components/gs/gsDivider/gs-divider.vue";
5
-
6
- import Tree from "../../../../components/el/tree";
7
- import { Button, Input, Form, FormItem, Message, MessageBox } from "element-ui";
8
- import { ButtonConfig, createMenu } from "../../../module/createMenu";
9
- import structureTree from "../../../../store/structureTree";
10
- import { ComponentSelector } from "gs-bim-air-core/gsDevFx/operators/componentSelector";
11
- import { TreeNodeObject } from "gs-bim-air-core/gsDevFx/objects/treeNodeObject";
12
- import { Viewer } from "gs-bim-air-core/gsDevFx/viewer";
13
- import structureTreeBus from "../structureTreeBus";
14
- import { ViewerEvent } from "gs-longan";
15
- import PropertyPanel from "../../property/propertyPanel";
16
-
17
- Vue.use(Tree);
18
- Vue.use(Button);
19
- Vue.use(Input);
20
- Vue.use(Form);
21
- Vue.use(FormItem);
22
-
23
- @Component({
24
- components: { GsDivider },
25
- })
26
- export default class StructureTree extends Vue {
27
- @Prop() componentData;
28
- @Inject() getViewer;
29
- searchValue = "";
30
- treeProps = {
31
- label: "name",
32
- children: "childNodes",
33
- isLeaf: "isLeaf",
34
- expaned: "expaned",
35
- };
36
- treeCheckedNos = [];
37
- treeExpandAll = true;
38
- draggingNode = null;
39
-
40
- treeModelStructure = null;
41
-
42
- selectedKey = -1;
43
- selectedPath = "";
44
- // 勾选的keys
45
- checkKeys = [];
46
- // 隐藏的keys
47
- invisibleKeys = [];
48
- // 展开的keys
49
- expandedKeys = [];
50
- currentTreeKey = null;
51
- isEditingKey: string = null;
52
- nameValue = "";
53
- // modelObjects: TreeNodeObject[] = [];
54
- modelObjectsClone = [];
55
-
56
- parentSegmentKey: number = null;
57
- treeNodeHoverKey = null;
58
- isTreeEditing = false;
59
- operatorList = [];
60
- contextMenu;
61
- currentTreeNodeData: TreeNodeObject;
62
- currentTreeNode;
63
-
64
- // 隔离id列表
65
- isolationIds = [];
66
- levelOneData = [];
67
-
68
- loopFlag = false;
69
- selectedGslNode = null;
70
- nodePath = [];
71
- chooseNode = null;
72
- rootNode = null;
73
- lastNoCheckedRootNodes = [];
74
-
75
- count = 0;
76
- end = false;
77
- isolationKeys = [];
78
-
79
- isTreeLocate = localStorage.getItem("isTreeLocate") !== "false";
80
-
81
- level0Node;
82
- level0NodeResolve;
83
-
84
- currentNode;
85
- currentNodeResolve;
86
-
87
- checkStrictly = false;
88
- draggingNodeChecked = true;
89
- // isLoading = false;
90
- isTreeLoading = false;
91
- isChecking = false;
92
-
93
- buttonList: ButtonConfig[] = [
94
- {
95
- name: "编辑",
96
- children: [
97
- {
98
- name: "添加",
99
- clickFun: () => {
100
- this.addTreeNodeClick();
101
- },
102
- },
103
- {
104
- name: "重命名",
105
- clickFun: () => {
106
- this.renameTreeNodeClick();
107
- },
108
- },
109
- {
110
- name: "删除",
111
- clickFun: () => {
112
- this.deleteTreeNodeClick();
113
- },
114
- },
115
- ],
116
- },
117
- // {
118
- // name: "高亮选中对象",
119
- // key: "highlight",
120
- // clickFun: () => {
121
- // //this.componentSelectAndHeighlight();
122
- // },
123
- // },
124
- {
125
- name: "隐藏",
126
- children: [
127
- {
128
- name: "隐藏选中对象",
129
- clickFun: () => {
130
- this.hideObject();
131
- },
132
- },
133
- {
134
- name: "隐藏其他对象",
135
- clickFun: () => {
136
- this.reHideObject();
137
- },
138
- },
139
- {
140
- name: "显示全部对象",
141
- clickFun: () => {
142
- this.clearHideObject();
143
- },
144
- },
145
- ],
146
- },
147
- {
148
- name: "隔离",
149
- children: [
150
- {
151
- name: "隔离选中对象",
152
- clickFun: () => {
153
- this.isolateObject();
154
- },
155
- },
156
- {
157
- name: "隔离其他对象",
158
- clickFun: () => {
159
- this.isolateOtherObjects();
160
- },
161
- },
162
- {
163
- name: "取消隔离",
164
- clickFun: () => {
165
- this.clearIsolateObjects();
166
- },
167
- },
168
- ],
169
- },
170
- {
171
- name: "展开",
172
- children: [
173
- {
174
- name: "展开一层",
175
- clickFun: () => {
176
- this.showLevel(1);
177
- },
178
- },
179
- {
180
- name: "展开二层",
181
- clickFun: () => {
182
- this.showLevel(2);
183
- },
184
- },
185
- {
186
- name: "展开三层",
187
- clickFun: () => {
188
- this.showLevel(3);
189
- },
190
- },
191
- // {
192
- // name: "全部展开", key: "showAll", clickFun: () => {
193
- // this.setAllExpand(true)
194
- // }
195
- // },
196
- {
197
- name: "全部收起",
198
- clickFun: () => {
199
- this.setAllExpand(false);
200
- },
201
- },
202
- ],
203
- },
204
- ];
205
-
206
- structureTree = structureTree;
207
- treeNodeDragEnterTimer;
208
-
209
- heighLightObserver: Longan.Observer<ViewerEvent>;
210
-
211
- get viewer(): Viewer {
212
- return this.getViewer();
213
- }
214
-
215
- get tabs() {
216
- let tabs = this.viewer.options.components.property.tabs;
217
- return tabs;
218
- }
219
-
220
- get viewerType() {
221
- return this.viewer.options.viewerType;
222
- }
223
-
224
- loadNode(node, resolve) {
225
- if (!this.viewer) {
226
- resolve([]);
227
- }
228
- this.checkStrictly = true;
229
- if (this.viewer?.structureTreeManager?.treeNodeObjects) {
230
- this.$nextTick(() => {
231
- this.currentNode = node;
232
- this.currentTreeNodeData = node.data;
233
- this.currentNodeResolve = resolve;
234
- if (node.level === 0) {
235
- let result;
236
- this.level0Node = node; //这里是关键!在data里面定义一个变量,将node.level == 0的node存起来
237
- this.level0NodeResolve = resolve; //同
238
- // if (
239
- // this.viewer.renderObject
240
- // ) {
241
- // result = this.getNodes([this.viewer.structureTreeManager.rootNode]);
242
- // if (this.invisibleKeys.indexOf(result[0].id) === -1) {
243
- // this.checkKeys.push(result[0].id);
244
- // }
245
- // } else {
246
- // result = this.getNodes(
247
- // this.viewer.structureTreeManager.rootNode.childNodes
248
- // );
249
- // result.forEach((item) => {
250
- // if (this.invisibleKeys.indexOf(item.id) === -1) {
251
- // this.checkKeys.push(item.id);
252
- // }
253
- // });
254
- // }
255
-
256
- result = this.getNodes(this.viewer.structureTreeManager.treeNodeObjects);
257
- let childNodes = this.viewer.structureTreeManager.treeNodeObjects;
258
- result.forEach((item, index) => {
259
- if (childNodes[index].isVisible) {
260
- this.checkKeys.push(item.id);
261
- }
262
- });
263
-
264
- resolve(result);
265
- } else {
266
- let treeNode = this.viewer.structureTreeManager?.treeNodeObjectHash[node.data.id];
267
- if (treeNode) {
268
- let childNodes = treeNode.childNodes;
269
- // 过滤main节点
270
- // if (childNodes.length === 1 && childNodes[0].name === "main") {
271
- // childNodes = childNodes[0].childNodes;
272
- // }
273
- let result = this.getNodes(childNodes);
274
- result.forEach((item, index) => {
275
- if (childNodes[index].isVisible) {
276
- this.checkKeys.push(item.id);
277
- }
278
- });
279
- return resolve(result);
280
- } else {
281
- return resolve([]);
282
- }
283
- }
284
- });
285
-
286
- setTimeout(() => {
287
- this.checkStrictly = false;
288
- // console.log("树结构父子节点重新关联");
289
- }, 20);
290
- }
291
- }
292
-
293
- getNodes(treeNodeObjects: TreeNodeObject[]): {
294
- name: string;
295
- id: string;
296
- isShow: boolean;
297
- isLeaf: boolean;
298
- expaned: boolean;
299
- }[] {
300
- let result = [];
301
- treeNodeObjects.forEach((item) => {
302
- result.push({
303
- name: item.name,
304
- id: item.id,
305
- isShow: item.isShow,
306
- isLeaf: item.childNodes.length === 0,
307
- expaned: this.expandedKeys.indexOf(item.id) !== -1,
308
- });
309
- });
310
- return result;
311
- }
312
-
313
- isTreeLocateChange(val) {
314
- localStorage.setItem("isTreeLocate", val);
315
- this.isTreeLocate = val;
316
- }
317
-
318
- locateCurrentNode(id) {
319
- if (!this.isTreeLocate) {
320
- return;
321
- }
322
- this.count = 0;
323
- this.end = false;
324
- let tree = document.getElementById("structureTree");
325
- let node = (this.$refs.structureTree as any).store.root;
326
-
327
- this.countExpandNode(node, id);
328
- let count = this.count;
329
- let parentElement = tree.parentElement;
330
- parentElement.scrollTo(0, count * 26 - 60);
331
- }
332
-
333
- // TODO:递归待优化,找到目标节点应该中断递归
334
- countExpandNode(node, id) {
335
- if (!this.end) {
336
- if (node.expanded || this.count === 0 || node.data.id === id) {
337
- this.count += 1;
338
- if (node.data && node.data.id === id) {
339
- this.end = true;
340
- return this.count;
341
- }
342
- if (node.childNodes) {
343
- for (let i = 0, len = node.childNodes.length; i < len; i++) {
344
- // 遍历子节点
345
- this.countExpandNode(node.childNodes[i], id);
346
- }
347
- }
348
- } else {
349
- this.count += 1;
350
- }
351
- }
352
- }
353
-
354
- findRoVisible(insObj: Longan.RenderInstanceObject, checkedNos: number[]) {
355
- if (insObj.renderObject.visible) {
356
- checkedNos.push(insObj.no);
357
- }
358
- for (let i = 0; i < insObj.childObjects.length; i++) {
359
- this.findRoVisible(insObj.childObjects[i], checkedNos);
360
- }
361
- }
362
-
363
- searchValueChange(val) {
364
- if (val) {
365
- let treeNodeObjects = this.viewer.structureTreeManager.treeNodeObjectHash;
366
- let tree = this.$refs.structureTree as any;
367
- // this.isLoading = true;
368
-
369
- // let searchValue = this.searchValue.toLowerCase();
370
- for (let key in treeNodeObjects) {
371
- if (treeNodeObjects[key].name.toLowerCase().indexOf(this.searchValue) !== -1) {
372
- let treeNodeObject = treeNodeObjects[key];
373
- let pathKeys: Longan.List<string> = new Longan.List();
374
- if (treeNodeObject) {
375
- this.getPathKeys(treeNodeObject, pathKeys);
376
- }
377
-
378
- pathKeys.items.reverse().forEach((id) => {
379
- setTimeout(() => {
380
- let node = tree.getNode(id);
381
- if (node) {
382
- node.expand();
383
- }
384
- }, 0);
385
- });
386
- }
387
- }
388
- }
389
- setTimeout(() => {
390
- (this.$refs.structureTree as any).filter(this.searchValue);
391
- // this.isLoading = false;
392
- }, 0);
393
- }
394
-
395
- filterNode(value, data): boolean {
396
- if (!value) {
397
- return true;
398
- }
399
- return data.name.indexOf(value) !== -1;
400
- }
401
-
402
- treeCheck(data: TreeNodeObject, { checkedNodes, checkedKeys, halfCheckedNodes, halfCheckedKeys }) {
403
- this.isChecking = true;
404
- let treeNodeObject = this.viewer.structureTreeManager.getTreeNodeById(data.id);
405
- let isUpdate = false;
406
- if (checkedNodes.map((item) => item.id).indexOf(treeNodeObject.id) === -1) {
407
- treeNodeObject.invisible(false);
408
- isUpdate = true;
409
- } else {
410
- checkedNodes.map((item) => {
411
- let checkTreeNodeObject = this.viewer.structureTreeManager.getTreeNodeById(item.id);
412
- checkTreeNodeObject.visible(false);
413
- isUpdate = true;
414
- });
415
- }
416
-
417
- if (isUpdate) {
418
- setTimeout(() => {
419
- this.viewer.styleManager.updateAllStyle().then(() => {
420
- this.isChecking = false;
421
- });
422
- }, 10);
423
- }
424
-
425
- if (this.viewer.options.components.structureTree.defaultTab.checkFun) {
426
- this.viewer.options.components.structureTree.defaultTab.checkFun(treeNodeObject, {
427
- checkedNodes,
428
- checkedKeys,
429
- halfCheckedNodes,
430
- halfCheckedKeys,
431
- });
432
- }
433
- }
434
-
435
- findInvisibleRootNodes(rootNode, halfCheckedNodes, invisibleRootNodes) {
436
- if (rootNode.checked === false) {
437
- if (halfCheckedNodes.indexOf(rootNode.data) === -1) {
438
- invisibleRootNodes.push(rootNode.data);
439
- } else {
440
- let childNodes = rootNode.childNodes;
441
- for (let i = 0; i < childNodes.length; i++) {
442
- this.findInvisibleRootNodes(childNodes[i], halfCheckedNodes, invisibleRootNodes);
443
- }
444
- }
445
- }
446
- }
447
-
448
- treeNodeClick(data, node) {
449
- this.isChecking = true;
450
-
451
- let treeNode = this.viewer.structureTreeManager.getTreeNodeById(data.id);
452
-
453
- console.log("treeNodeClick", treeNode);
454
- this.currentTreeNodeData = treeNode;
455
-
456
- console.time("构件高亮");
457
- if (treeNode) {
458
- this.viewer.selectionManager.clearSelectionAndHighlight();
459
- // treeNode.highlight(true);
460
- this.viewer.selectionManager.selectAndHighlight(treeNode);
461
- setTimeout(() => {
462
- this.viewer.styleManager.updateAllStyle().then(() => {
463
- console.time("treeNode.locate");
464
- treeNode.locate();
465
- console.timeEnd("treeNode.locate");
466
- this.isChecking = false;
467
- });
468
- }, 10);
469
-
470
- let panel = this.viewer.panelManager.getPanelByName<PropertyPanel>("PropertyPanel");
471
- if (panel) {
472
- panel.getProperty(treeNode);
473
- }
474
- }
475
- console.timeEnd("构件高亮");
476
-
477
- if (this.viewer.options.components.structureTree.clickFun) {
478
- this.viewer.options.components.structureTree.clickFun(treeNode);
479
- }
480
- if (this.viewer.options.components.structureTree.defaultTab.clickFun) {
481
- this.viewer.options.components.structureTree.defaultTab.clickFun(treeNode);
482
- }
483
- // this.viewer.updateDisplay();
484
- }
485
-
486
- createTree(newTree, node) {
487
- let newNode = null;
488
- if (node.data) {
489
- newNode = { key: node.data.key, name: node.data.name, items: [] };
490
- if (newTree.items) {
491
- newTree.items.push(newNode);
492
- } else {
493
- newTree.push(newNode);
494
- }
495
- }
496
-
497
- if (!newNode) {
498
- newNode = newTree;
499
- }
500
-
501
- for (let i = 0; i < node.childNodes.length; i++) {
502
- this.createTree(newNode, node.childNodes[i]);
503
- }
504
- }
505
-
506
- getProperties(key) {
507
- let segment = new Longan.Segment(key);
508
- let jsonString = segment.property.showString("Properties");
509
-
510
- let showParentProperty = segment.property.showBoolean("showParentProperties");
511
- if (showParentProperty) {
512
- let key = segment.owner.key;
513
- jsonString = this.getParentProperties(key);
514
- }
515
-
516
- return JSON.parse(jsonString);
517
- }
518
-
519
- getParentProperties(key) {
520
- let segment = new Longan.Segment(key);
521
- let properties = segment.property.showString("Properties");
522
- if (properties) {
523
- return properties;
524
- } else {
525
- return this.getParentProperties(segment.owner.key);
526
- }
527
- }
528
-
529
- treeNodeDragStart(node, ev) {
530
- this.draggingNode = node;
531
- this.currentTreeNode = node;
532
- this.currentTreeNodeData = this.viewer.structureTreeManager.treeNodeObjectHash[node.data.id];
533
- this.draggingNodeChecked = node.checked;
534
-
535
- console.log("this.draggingNodeChecked ", this.draggingNodeChecked);
536
- }
537
-
538
- treeNodeDragEnter(draggingNode, overNode, ev) {
539
- // this.loadNode(overNode, this.level0NodeResolve);
540
- console.log("this.treeNodeDragEnterTimer");
541
- // if (this.treeNodeDragEnterTimer) {
542
- // clearTimeout(this.treeNodeDragEnterTimer);
543
- // }
544
- // this.treeNodeDragEnterTimer = setTimeout(() => {
545
- // this.expandedKeys.push(overNode.data.id);
546
- // clearTimeout(this.treeNodeDragEnterTimer);
547
- // this.treeNodeDragEnterTimer = null;
548
- // }, 500);
549
- }
550
-
551
- treeNodeDragEnd(draggingNode, dropNode, dropType) {
552
- // if (dropType === "inner" && !dropNode.expanded) {
553
- // this.$message.warning(dropNode.label + "节点未展开,无法移入");
554
- // return false;
555
- // }
556
- // return true;
557
- }
558
-
559
- treeNodeDrop(draggingNode, dropNode, dropType, ev) {
560
- console.log("dropNode.expend", dropNode);
561
-
562
- this.$confirm(
563
- `是否将节点${draggingNode.label}移动到${dropNode.label}${
564
- dropType == "before" ? "之前" : dropType == "after" ? "之后" : "下"
565
- }?`,
566
- "提示",
567
- {
568
- confirmButtonText: "确定",
569
- cancelButtonText: "取消",
570
- type: "warning",
571
- }
572
- )
573
- .then(() => {
574
- this.dropConfirm(draggingNode, dropNode, dropType).then(() => {
575
- this.$message({
576
- type: "success",
577
- message: "移动成功!",
578
- });
579
- // structureTreeBus.$emit("updateTree", draggingNode.key);
580
- if (dropNode === "inner") {
581
- structureTreeBus.$emit("updateTree", dropNode.key);
582
- } else {
583
- structureTreeBus.$emit("updateTree", dropNode.parent.key);
584
- }
585
- });
586
- })
587
- .catch(() => {
588
- this.$message({
589
- type: "info",
590
- message: "取消移动",
591
- });
592
- // structureTreeBus.$emit("updateTree", draggingNode.parent.key);
593
- structureTreeBus.$emit("updateTree", dropNode.parent.key);
594
- });
595
- }
596
-
597
- dropConfirm(draggingNode, dropNode, dropType) {
598
- function getIndex(parent, child) {
599
- for (let i = 0, len = parent.childNodes.length; i < len; i++) {
600
- const item = parent.childNodes[i];
601
- if (item.key === child.key) {
602
- return i;
603
- }
604
- }
605
- return -1;
606
- }
607
-
608
- let index = -1;
609
- // let draggingSegment = new LonganApi.Segment(draggingNode.key);
610
- let dropSegment;
611
-
612
- let draggingTreeNode = this.viewer.structureTreeManager.treeNodeObjectHash[draggingNode.data.id];
613
- let dropTreeNode;
614
-
615
- let targetSegIndex;
616
-
617
- switch (dropType) {
618
- case "inner":
619
- // dropSegment = new LonganApi.Segment(dropNode.key);
620
- dropTreeNode = this.viewer.structureTreeManager.treeNodeObjectHash[dropNode.data.id];
621
- dropSegment = dropTreeNode.segment;
622
- targetSegIndex = dropTreeNode.childNodes.length;
623
- this.expandedKeys.push(dropNode.data.key);
624
- break;
625
- case "before":
626
- index = getIndex(dropNode.parent, dropNode);
627
- // dropSegment = new LonganApi.Segment(dropNode.parent.key);
628
- dropTreeNode = this.viewer.structureTreeManager.treeNodeObjectHash[dropNode.parent.data.id];
629
- // dropSegment =
630
- // this.viewer.structureTreeManager.treeNodeObjects[dropNode.key].segment
631
- // .owner;
632
- targetSegIndex = index - 1;
633
-
634
- break;
635
- case "after":
636
- index = getIndex(dropNode.parent, dropNode);
637
-
638
- dropTreeNode = this.viewer.structureTreeManager.treeNodeObjectHash[dropNode.parent.data.id];
639
-
640
- targetSegIndex = index + 1;
641
- break;
642
- }
643
- return draggingTreeNode.moveToWithRequestApi(dropTreeNode, targetSegIndex);
644
- }
645
-
646
- addTreeNodeClick() {
647
- let data = this.currentTreeNodeData;
648
- if (data.childNodes) {
649
- for (let i = 0; i < data.childNodes.length; i++) {
650
- if (data.childNodes[i].id === "-1") {
651
- return;
652
- }
653
- }
654
- }
655
-
656
- this.nameValue = "";
657
-
658
- const parent = this.currentTreeNode;
659
- parent.expand();
660
- // this.expandedKeys.push(data.id);
661
- // this.expandedKeys.push("-1");
662
- (this.$refs.structureTree as any).append(
663
- {
664
- name: " ",
665
- id: "-1",
666
- isShow: true,
667
- },
668
- parent
669
- );
670
-
671
- this.isEditingKey = "-1";
672
- setTimeout(() => {
673
- this.locateCurrentNode("-1");
674
- let input = this.$refs.editingTreeNodeInput as any;
675
- if (input) {
676
- input.focus();
677
- }
678
- }, 10);
679
- }
680
-
681
- renameTreeNodeClick() {
682
- let data = this.currentTreeNodeData;
683
- this.isEditingKey = data.id;
684
- this.nameValue = data.name;
685
- setTimeout(() => {
686
- (this.$refs.editingTreeNodeInput as any).focus();
687
- }, 10);
688
- }
689
-
690
- deleteTreeNodeClick() {
691
- let data = this.currentTreeNodeData;
692
- let node = this.currentTreeNode;
693
- MessageBox.confirm(`确定删除${data.name}节点?`, "提示", {
694
- confirmButtonText: "确定",
695
- cancelButtonText: "取消",
696
- type: "warning",
697
- }).then(() => {
698
- // this.updateIndexedDB();
699
-
700
- this.currentTreeNodeData.deleteWithRequestApi().then(() => {
701
- let children: any[] = node.parent.childNodes;
702
- const index = children.findIndex((d) => d.data.id === node.data.id);
703
-
704
- if (index >= 0) {
705
- children.splice(index, 1);
706
- } else {
707
- this.$message.warning("节点删除出错");
708
- }
709
- });
710
- });
711
- }
712
-
713
- editRenderObjectConfirm(node, data) {
714
- let treeNode = this.viewer.structureTreeManager.treeNodeObjectHash[data.id];
715
-
716
- // 添加
717
- if (data.id === "-1") {
718
- let segment = new LonganApi.Segment(this.parentSegmentKey);
719
- if (!this.nameValue) {
720
- Message.warning("节点名不能为空");
721
- return;
722
- }
723
- if (segment.subsegmentExists(this.nameValue)) {
724
- Message.warning("此节点已存在,请重命名");
725
- } else {
726
- // let parent = data.parent;
727
- //删除临时的
728
- // parent.removeChildNode(treeNode);
729
- // treeNode.delete();
730
- const parent = node.parent;
731
- const children = parent.childNodes;
732
- const index = children.findIndex((d) => d.id === data.id);
733
- children.splice(index, 1);
734
-
735
- let parentTreeNode = this.viewer.structureTreeManager.treeNodeObjectHash[parent.data.id];
736
- console.log("parentTreeNode", parentTreeNode);
737
- if (parentTreeNode) {
738
- parentTreeNode.addWithRequestApi(this.nameValue, true).then((treeNodeObject) => {
739
- if (treeNodeObject) {
740
- // treeNode = treeNodeObject;
741
- data.id = treeNodeObject.id;
742
- data.name = treeNodeObject.name;
743
- this.isEditingKey = null;
744
- this.nameValue = "";
745
- (this.$refs.structureTree as any).append(
746
- {
747
- name: treeNodeObject.name,
748
- id: treeNodeObject.id,
749
- isShow: true,
750
- },
751
- parent
752
- );
753
- (this.$refs.structureTree as any).setChecked(data.id, true, true);
754
- (this.$refs.structureTree as any).setChecked(treeNodeObject.id, true, true);
755
- this.updateIndexedDB();
756
- } else {
757
- Message.error("添加失败");
758
- }
759
- });
760
- }
761
- }
762
- } else {
763
- // 编辑
764
- if (this.nameValue) {
765
- this.currentTreeNodeData.renameWithRequestApi(this.nameValue).then((treeNodeObject) => {
766
- if (treeNodeObject) {
767
- data.name = this.nameValue;
768
- this.isEditingKey = null;
769
- this.nameValue = "";
770
- } else {
771
- Message.error("编辑失败");
772
- }
773
- });
774
- } else {
775
- Message.warning("名字不能为空");
776
- }
777
- }
778
- }
779
-
780
- editRenderObjectCancel(node, data) {
781
- // 添加
782
- if (data.id === "-1") {
783
- const parent = node.parent;
784
- const children = parent.childNodes;
785
- const index = children.findIndex((d) => d.id === data.id);
786
- children.splice(index, 1);
787
- } else {
788
- // 编辑
789
- this.isEditingKey = null;
790
- }
791
- }
792
-
793
- updateIndexedDB() {}
794
-
795
- treeNodeMouseOver(data) {
796
- // if (this.isTreeEditing) {
797
- this.treeNodeHoverKey = data.key;
798
- // }
799
- }
800
-
801
- treeNodeMouseLeave(data) {
802
- // if (this.isTreeEditing) {
803
- this.treeNodeHoverKey = null;
804
- // }
805
- }
806
-
807
- isBindModelExist(modelId) {
808
- return false;
809
- }
810
-
811
- treeNodeContextMenuClick(e, data, node, nodeElement) {
812
- let treeNodeObject = this.viewer.structureTreeManager.treeNodeObjectHash[data.id];
813
- this.currentTreeNodeData = treeNodeObject;
814
- this.currentTreeNode = node;
815
- console.log("treeNodeContextMenuClick", treeNodeObject, node);
816
-
817
- createMenu(e.pageX, e.pageY, this.buttonList);
818
- }
819
-
820
- treeNodeExpand(data, node, e) {
821
- console.log(data, node, e);
822
- this.expandedKeys.push(data.id);
823
- }
824
-
825
- treeNodeCollapse(data, node, e) {
826
- let index = this.expandedKeys.indexOf(data.id);
827
- if (index !== -1) {
828
- this.expandedKeys.splice(index, 1);
829
- }
830
- }
831
-
832
- showLevel(level: number) {
833
- setTimeout(() => {
834
- // this.expandedKeys = [];
835
- let node = this.currentTreeNodeData;
836
- this.expandLevel(node, level);
837
- }, 10);
838
- }
839
-
840
- expandLevel(node, level: number) {
841
- // node.expanded = true;
842
- if (node) {
843
- node.loaded = false;
844
-
845
- let nodeDom = (this.$refs.structureTree as any)?.getNode(node.id);
846
- if (nodeDom) {
847
- nodeDom.expand();
848
- }
849
- }
850
- setTimeout(() => {
851
- let currentLevel = level - 1;
852
- if (currentLevel > 0) {
853
- for (let i = 0; i < node.childNodes.length; i++) {
854
- const item = node.childNodes[i];
855
- if (item.childNodes && item.childNodes.length > 0) {
856
- this.expandLevel(item, currentLevel);
857
- }
858
- }
859
- }
860
- }, 10);
861
- // this.expandedKeys.push(node.key);
862
- }
863
-
864
- setAllExpand(state) {
865
- let nodes = (this.$refs.structureTree as any).store.root;
866
- this.expandNode(nodes, state);
867
- }
868
-
869
- expandNode(node, state) {
870
- // 改变节点的自身expanded状态
871
- node.expanded = state;
872
- for (let i = 0, len = node.childNodes.length; i < len; i++) {
873
- // 遍历子节点
874
- if (node.childNodes[i].childNodes.length > 0) {
875
- this.expandNode(node.childNodes[i], state);
876
- }
877
- }
878
- }
879
-
880
- hideObject() {
881
- console.log("hideObject");
882
- // (this.$refs.structureTree as any).setChecked(this.currentTreeNodeData, false, true);
883
- structureTreeBus.$emit("unCheckTreeNode", this.currentTreeNodeData);
884
- this.viewer.styleManager.invisible(this.currentTreeNodeData);
885
- this.viewer.styleManager.updateAllStyle();
886
- }
887
-
888
- reHideObject() {
889
- structureTreeBus.$emit("reCheckTreeNode", this.currentTreeNodeData);
890
-
891
- this.viewer.styleManager.invisible(...this.viewer.structureTreeManager.treeNodeObjects);
892
- this.viewer.styleManager.clearInvisible(this.currentTreeNodeData);
893
- this.viewer.styleManager.updateAllStyle();
894
- }
895
-
896
- clearHideObject() {
897
- structureTreeBus.$emit("checkAllTreeNode", this.currentTreeNodeData);
898
-
899
- this.viewer.styleManager.clearInvisible();
900
- this.viewer.styleManager.updateAllStyle();
901
- }
902
-
903
- // checkChange(data) {
904
- // let checkedNodes;
905
- // let checkedKeys = (this.$refs.structureTree as any).getCheckedKeys();
906
- // let halfCheckedNodes = (this.$refs.structureTree as any).getHalfCheckedNodes();
907
- // let halfCheckedKeys;
908
- // this.treeCheck(data, {
909
- // checkedNodes,
910
- // checkedKeys,
911
- // halfCheckedNodes,
912
- // halfCheckedKeys,
913
- // });
914
- // }
915
-
916
- isolateObject() {
917
- this.viewer.styleManager.isolation(this.currentTreeNodeData);
918
- this.viewer.styleManager.updateAllStyle();
919
- }
920
-
921
- isolateOtherObjects() {
922
- this.viewer.styleManager.isolation(...this.viewer.structureTreeManager.treeNodeObjects);
923
- this.viewer.styleManager.clearIsolation(this.currentTreeNodeData);
924
- this.viewer.styleManager.updateAllStyle();
925
- }
926
-
927
- clearIsolateObjects() {
928
- this.viewer.styleManager.clearIsolation();
929
- this.viewer.styleManager.updateAllStyle();
930
- }
931
-
932
- openEditAllRenderObjectClick(node, data) {}
933
-
934
- editAllRenderObjectConfirm(data) {
935
- this.isTreeEditing = false;
936
- this.treeNodeHoverKey = null;
937
- }
938
-
939
- editAllRenderObjectCancel(data) {
940
- // this.isTreeEditing = false;
941
- // this.treeNodeHoverKey = null;
942
- // this.modelObjects = [...this.modelObjectsClone];
943
- // this.getModelObjects();
944
- // this.modelObjects = [];
945
- // this.createTree(this.modelObjects, (this.$refs.structureTree as any).root);
946
- }
947
-
948
- setData() {
949
- this.$emit("setData", {
950
- title: "模型结构树",
951
- top: "20px",
952
- left: "20px",
953
- height: "600px",
954
- width: "300px",
955
- });
956
- }
957
-
958
- findTreeNodePath(node, targetKey, nodePath: any[]) {
959
- if (!this.loopFlag) {
960
- return;
961
- }
962
- let childNodes = node.childNodes;
963
- for (let i = 0; i < childNodes.length; i++) {
964
- let childNode = childNodes[i];
965
- let data = childNode.data;
966
-
967
- let deepCloneNodePath = [...nodePath];
968
-
969
- deepCloneNodePath.push(childNode);
970
- if (data.key !== targetKey) {
971
- this.findTreeNodePath(childNode, targetKey, deepCloneNodePath);
972
- } else {
973
- this.nodePath.push(this.rootNode);
974
- for (let j = 0; j < deepCloneNodePath.length; j++) {
975
- this.nodePath.push(deepCloneNodePath[j]);
976
- }
977
- this.selectedGslNode = childNode;
978
- this.loopFlag = false;
979
- return deepCloneNodePath;
980
- }
981
- }
982
- }
983
-
984
- getPathKeys(treeNodeObject: TreeNodeObject, pathKeys: Longan.List<string>) {
985
- if (treeNodeObject.id) {
986
- pathKeys.add(treeNodeObject.id);
987
- }
988
- if (treeNodeObject.parent) {
989
- this.getPathKeys(treeNodeObject.parent, pathKeys);
990
- }
991
- }
992
-
993
- updateNode(treeNodeObject: TreeNodeObject) {
994
- let pathKeys: Longan.List<string> = new Longan.List();
995
- if (treeNodeObject) {
996
- this.getPathKeys(treeNodeObject, pathKeys);
997
- }
998
-
999
- // let tree = this.$refs.structureTree as any;
1000
- pathKeys.items.reverse().forEach((id) => {
1001
- if (id === this.level0Node.key) {
1002
- this.loadNode(this.level0Node, this.level0NodeResolve);
1003
- } else {
1004
- this.loadNode(this.currentNode, this.currentNodeResolve);
1005
- }
1006
- });
1007
- }
1008
-
1009
- mounted() {
1010
- this.setData();
1011
-
1012
- this.isTreeLoading = true;
1013
- let timer = setInterval(() => {
1014
- if (this.viewer.structureTreeManager.treeNodeObjects.length > 0) {
1015
- this.isTreeLoading = false;
1016
-
1017
- // this.getModelObjects();
1018
- structureTreeBus.$on("unCheckTreeNode", (...treeNodeObjects: TreeNodeObject[]) => {
1019
- treeNodeObjects.forEach((treeNodeObject) => {
1020
- (this.$refs.structureTree as any).setChecked(treeNodeObject, false, true);
1021
- });
1022
- });
1023
-
1024
- structureTreeBus.$on("reCheckTreeNode", (...treeNodeObjects: TreeNodeObject[]) => {
1025
- let root = (this.$refs.structureTree as any).root;
1026
- console.log("root-------------", root);
1027
- root.childNodes.forEach((item) => {
1028
- (this.$refs.structureTree as any).setChecked(item.data.id, false, true);
1029
- });
1030
- treeNodeObjects.forEach((treeNodeObject) => {
1031
- (this.$refs.structureTree as any).setChecked(treeNodeObject, true, true);
1032
- });
1033
- });
1034
-
1035
- structureTreeBus.$on("checkAllTreeNode", () => {
1036
- let root = (this.$refs.structureTree as any).root;
1037
- root.childNodes.forEach((item) => {
1038
- (this.$refs.structureTree as any).setChecked(item.data.id, true, true);
1039
- });
1040
- });
1041
-
1042
- structureTreeBus.$on("updateTree", (key?) => {
1043
- let tree: any = this.$refs.structureTree;
1044
- if (tree) {
1045
- // 获取当前选中节点的key值
1046
- let keys = tree.getCheckedKeys();
1047
- // 获取当前展开节点的key值
1048
- let expandedKeys = tree.getCheckedKeys();
1049
- // 更新数据
1050
- if (key !== undefined) {
1051
- let treeNode = this.viewer.structureTreeManager?.getTreeNodeById(key);
1052
-
1053
- this.updateNode(treeNode);
1054
- } else {
1055
- this.level0Node.childNodes = []; //把存起来的node的子节点清空,不然会界面会出现重复树!
1056
- this.checkKeys = [];
1057
- this.loadNode(this.level0Node, this.level0NodeResolve);
1058
-
1059
- this.showLevel(1);
1060
- }
1061
- // 重新勾选节点
1062
- // tree.setCheckedKeys(keys);
1063
- // 重新展开节点
1064
- tree.setCheckedKeys(expandedKeys);
1065
- }
1066
- });
1067
-
1068
- this.$nextTick(() => {
1069
- let componentSelector = this.viewer.operatorManager.find("ComponentSelector") as ComponentSelector;
1070
- if (componentSelector) {
1071
- // this.viewer.onLButtonUp.add(this.heighLight);
1072
- this.heighLightObserver = componentSelector.lButtonUp.add((event: ViewerEvent) => {
1073
- // let segObj = this.viewer.selectionManager.selectedObject;
1074
- let treeNodeObject = (event.viewer as Viewer).selectionManager.selectedObject;
1075
- console.log("选中的对象:", treeNodeObject);
1076
- if (treeNodeObject) {
1077
- let pathKeys: Longan.List<string> = new Longan.List();
1078
- if (treeNodeObject) {
1079
- this.getPathKeys(treeNodeObject, pathKeys);
1080
- }
1081
- let tree = this.$refs.structureTree as any;
1082
- // for (let i = 0; i < treeNodeObject.roIds.length; i++) {
1083
- // let id = treeNodeObject.roIds[i];
1084
- // let sceneTree = this.viewer.process.projectManager.sceneTree;
1085
- // sceneTree.forEach((co) => {
1086
- // if (co.id === id) {
1087
- // console.log("co:", co.name);
1088
- // }
1089
- // });
1090
- // }
1091
- if (tree) {
1092
- pathKeys.items.reverse().forEach((id) => {
1093
- // 节点加载完后再展开
1094
- setTimeout(() => {
1095
- let node = tree.getNode(id);
1096
- if (node) {
1097
- node.expand();
1098
- }
1099
- }, 0);
1100
- });
1101
- // this.expandedKeys.push(segObj.id);
1102
- setTimeout(() => {
1103
- this.locateCurrentNode(treeNodeObject.id);
1104
- tree.setCurrentKey(treeNodeObject.id);
1105
- }, 10);
1106
- }
1107
- }
1108
- });
1109
- }
1110
- });
1111
- clearInterval(timer);
1112
- }
1113
- }, 200);
1114
- }
1115
-
1116
- beforeDestroy() {
1117
- if (this.viewer) {
1118
- let componentSelector = this.viewer.operatorManager.find("ComponentSelector") as ComponentSelector;
1119
- if (componentSelector) {
1120
- componentSelector.lButtonDown.remove(this.heighLightObserver);
1121
- }
1122
- }
1123
- }
1124
- }