@labelbee/lb-components 1.10.0-alpha.2 → 1.10.0-alpha.4

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 (926) hide show
  1. package/dist/App.js +146 -1
  2. package/dist/App.js.map +1 -0
  3. package/dist/assets/annotation/common/icon_adapt.svg.js +6 -1
  4. package/dist/assets/annotation/common/icon_adapt.svg.js.map +1 -0
  5. package/dist/assets/annotation/common/icon_adapt_black.svg.js +6 -1
  6. package/dist/assets/annotation/common/icon_adapt_black.svg.js.map +1 -0
  7. package/dist/assets/annotation/common/icon_back.svg.js +6 -1
  8. package/dist/assets/annotation/common/icon_back.svg.js.map +1 -0
  9. package/dist/assets/annotation/common/icon_backA.svg.js +6 -1
  10. package/dist/assets/annotation/common/icon_backA.svg.js.map +1 -0
  11. package/dist/assets/annotation/common/icon_clear.svg.js +6 -1
  12. package/dist/assets/annotation/common/icon_clear.svg.js.map +1 -0
  13. package/dist/assets/annotation/common/icon_clearSmall.svg.js +6 -1
  14. package/dist/assets/annotation/common/icon_clearSmall.svg.js.map +1 -0
  15. package/dist/assets/annotation/common/icon_clearSmall_a.svg.js +6 -1
  16. package/dist/assets/annotation/common/icon_clearSmall_a.svg.js.map +1 -0
  17. package/dist/assets/annotation/common/icon_clear_a.svg.js +6 -1
  18. package/dist/assets/annotation/common/icon_clear_a.svg.js.map +1 -0
  19. package/dist/assets/annotation/common/icon_invalid.svg.js +6 -1
  20. package/dist/assets/annotation/common/icon_invalid.svg.js.map +1 -0
  21. package/dist/assets/annotation/common/icon_invalid_a.svg.js +6 -1
  22. package/dist/assets/annotation/common/icon_invalid_a.svg.js.map +1 -0
  23. package/dist/assets/annotation/common/icon_next.svg.js +6 -1
  24. package/dist/assets/annotation/common/icon_next.svg.js.map +1 -0
  25. package/dist/assets/annotation/common/icon_nextA.svg.js +6 -1
  26. package/dist/assets/annotation/common/icon_nextA.svg.js.map +1 -0
  27. package/dist/assets/annotation/common/icon_r.svg.js +6 -1
  28. package/dist/assets/annotation/common/icon_r.svg.js.map +1 -0
  29. package/dist/assets/annotation/common/icon_rA.svg.js +6 -1
  30. package/dist/assets/annotation/common/icon_rA.svg.js.map +1 -0
  31. package/dist/assets/annotation/common/icon_save.svg.js +6 -1
  32. package/dist/assets/annotation/common/icon_save.svg.js.map +1 -0
  33. package/dist/assets/annotation/common/icon_saveA.svg.js +6 -1
  34. package/dist/assets/annotation/common/icon_saveA.svg.js.map +1 -0
  35. package/dist/assets/annotation/image/brightness.svg.js +6 -1
  36. package/dist/assets/annotation/image/brightness.svg.js.map +1 -0
  37. package/dist/assets/annotation/image/contrast.svg.js +6 -1
  38. package/dist/assets/annotation/image/contrast.svg.js.map +1 -0
  39. package/dist/assets/annotation/image/icon_yuantu.svg.js +6 -1
  40. package/dist/assets/annotation/image/icon_yuantu.svg.js.map +1 -0
  41. package/dist/assets/annotation/image/saturation.svg.js +6 -1
  42. package/dist/assets/annotation/image/saturation.svg.js.map +1 -0
  43. package/dist/assets/annotation/lineTool/icon_line.svg.js +6 -1
  44. package/dist/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
  45. package/dist/assets/annotation/lineTool/icon_line_a.svg.js +6 -1
  46. package/dist/assets/annotation/lineTool/icon_line_a.svg.js.map +1 -0
  47. package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +6 -1
  48. package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
  49. package/dist/assets/annotation/pointCloudTool/copy.svg.js +6 -1
  50. package/dist/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
  51. package/dist/assets/annotation/pointCloudTool/nextBox.svg.js +6 -1
  52. package/dist/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
  53. package/dist/assets/annotation/pointCloudTool/nodata.svg.js +6 -1
  54. package/dist/assets/annotation/pointCloudTool/nodata.svg.js.map +1 -0
  55. package/dist/assets/annotation/pointCloudTool/patse.svg.js +6 -1
  56. package/dist/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
  57. package/dist/assets/annotation/pointCloudTool/prevBox.svg.js +6 -1
  58. package/dist/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
  59. package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js +6 -1
  60. package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
  61. package/dist/assets/annotation/pointCloudTool/selectAll.svg.js +6 -1
  62. package/dist/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
  63. package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js +6 -1
  64. package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
  65. package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js +6 -1
  66. package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +1 -0
  67. package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +6 -1
  68. package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +1 -0
  69. package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +6 -1
  70. package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +1 -0
  71. package/dist/assets/annotation/pointTool/icon_point.svg.js +6 -1
  72. package/dist/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
  73. package/dist/assets/annotation/pointTool/icon_point_a.svg.js +6 -1
  74. package/dist/assets/annotation/pointTool/icon_point_a.svg.js.map +1 -0
  75. package/dist/assets/annotation/polygonTool/icon_polygon.svg.js +6 -1
  76. package/dist/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
  77. package/dist/assets/annotation/polygonTool/icon_polygon_a.svg.js +6 -1
  78. package/dist/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +1 -0
  79. package/dist/assets/annotation/rectTool/icon_rect.svg.js +6 -1
  80. package/dist/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
  81. package/dist/assets/annotation/rectTool/icon_rect_a.svg.js +6 -1
  82. package/dist/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
  83. package/dist/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +6 -1
  84. package/dist/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +1 -0
  85. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +6 -1
  86. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
  87. package/dist/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +6 -1
  88. package/dist/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +1 -0
  89. package/dist/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +6 -1
  90. package/dist/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +1 -0
  91. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +6 -1
  92. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
  93. package/dist/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +6 -1
  94. package/dist/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +1 -0
  95. package/dist/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +6 -1
  96. package/dist/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +1 -0
  97. package/dist/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +6 -1
  98. package/dist/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +1 -0
  99. package/dist/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +6 -1
  100. package/dist/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +1 -0
  101. package/dist/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +6 -1
  102. package/dist/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +1 -0
  103. package/dist/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +6 -1
  104. package/dist/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +1 -0
  105. package/dist/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +6 -1
  106. package/dist/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +1 -0
  107. package/dist/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +6 -1
  108. package/dist/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +1 -0
  109. package/dist/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +6 -1
  110. package/dist/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +1 -0
  111. package/dist/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +6 -1
  112. package/dist/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +1 -0
  113. package/dist/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +6 -1
  114. package/dist/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +1 -0
  115. package/dist/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +6 -1
  116. package/dist/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +1 -0
  117. package/dist/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +6 -1
  118. package/dist/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +1 -0
  119. package/dist/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +6 -1
  120. package/dist/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +1 -0
  121. package/dist/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +6 -1
  122. package/dist/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +1 -0
  123. package/dist/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +6 -1
  124. package/dist/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +1 -0
  125. package/dist/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +6 -1
  126. package/dist/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +1 -0
  127. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +6 -1
  128. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +1 -0
  129. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +6 -1
  130. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +1 -0
  131. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +6 -1
  132. package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +1 -0
  133. package/dist/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +6 -1
  134. package/dist/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +1 -0
  135. package/dist/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +6 -1
  136. package/dist/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +1 -0
  137. package/dist/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +6 -1
  138. package/dist/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +1 -0
  139. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +6 -1
  140. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
  141. package/dist/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +6 -1
  142. package/dist/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +1 -0
  143. package/dist/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +6 -1
  144. package/dist/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +1 -0
  145. package/dist/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +6 -1
  146. package/dist/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +1 -0
  147. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +6 -1
  148. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +1 -0
  149. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +6 -1
  150. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +1 -0
  151. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +6 -1
  152. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +1 -0
  153. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +6 -1
  154. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +1 -0
  155. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +6 -1
  156. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
  157. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +6 -1
  158. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +1 -0
  159. package/dist/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +6 -1
  160. package/dist/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +1 -0
  161. package/dist/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +6 -1
  162. package/dist/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +1 -0
  163. package/dist/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +6 -1
  164. package/dist/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +1 -0
  165. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +6 -1
  166. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
  167. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +6 -1
  168. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
  169. package/dist/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +6 -1
  170. package/dist/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +1 -0
  171. package/dist/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +6 -1
  172. package/dist/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +1 -0
  173. package/dist/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +6 -1
  174. package/dist/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +1 -0
  175. package/dist/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +6 -1
  176. package/dist/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +1 -0
  177. package/dist/assets/annotation/toolHotKeyIcon/setValid.svg.js +6 -1
  178. package/dist/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +1 -0
  179. package/dist/assets/annotation/video/icon_keyboard_h.svg.js +6 -1
  180. package/dist/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
  181. package/dist/assets/attributeIcon/eraser.svg.js +6 -1
  182. package/dist/assets/attributeIcon/eraser.svg.js.map +1 -0
  183. package/dist/assets/attributeIcon/eraser_a.svg.js +6 -1
  184. package/dist/assets/attributeIcon/eraser_a.svg.js.map +1 -0
  185. package/dist/assets/attributeIcon/pen.svg.js +6 -1
  186. package/dist/assets/attributeIcon/pen.svg.js.map +1 -0
  187. package/dist/assets/attributeIcon/pen_a.svg.js +6 -1
  188. package/dist/assets/attributeIcon/pen_a.svg.js.map +1 -0
  189. package/dist/assets/attributeIcon/zoomUp.svg.js +6 -1
  190. package/dist/assets/attributeIcon/zoomUp.svg.js.map +1 -0
  191. package/dist/assets/predictTracking/icon.svg.js +6 -1
  192. package/dist/assets/predictTracking/icon.svg.js.map +1 -0
  193. package/dist/assets/toolStyle/icon_border.svg.js +6 -1
  194. package/dist/assets/toolStyle/icon_border.svg.js.map +1 -0
  195. package/dist/assets/toolStyle/icon_borderColor.svg.js +6 -1
  196. package/dist/assets/toolStyle/icon_borderColor.svg.js.map +1 -0
  197. package/dist/assets/toolStyle/icon_opacityFill.svg.js +6 -1
  198. package/dist/assets/toolStyle/icon_opacityFill.svg.js.map +1 -0
  199. package/dist/assets/toolStyle/icon_opacityStroke.svg.js +6 -1
  200. package/dist/assets/toolStyle/icon_opacityStroke.svg.js.map +1 -0
  201. package/dist/components/AnnotationView/index.js +160 -1
  202. package/dist/components/AnnotationView/index.js.map +1 -0
  203. package/dist/components/AnnotationView/pointCloudAnnotationView.js +85 -1
  204. package/dist/components/AnnotationView/pointCloudAnnotationView.js.map +1 -0
  205. package/dist/components/annotationStepPopover/index.js +39 -1
  206. package/dist/components/annotationStepPopover/index.js.map +1 -0
  207. package/dist/components/attributeList/index.js +66 -1
  208. package/dist/components/attributeList/index.js.map +1 -0
  209. package/dist/components/checkboxList/index.js +39 -1
  210. package/dist/components/checkboxList/index.js.map +1 -0
  211. package/dist/components/colorTag/index.js +38 -1
  212. package/dist/components/colorTag/index.js.map +1 -0
  213. package/dist/components/customAntd/IconWithText/index.js +59 -1
  214. package/dist/components/customAntd/IconWithText/index.js.map +1 -0
  215. package/dist/components/customResizeHook/index.js +95 -1
  216. package/dist/components/customResizeHook/index.js.map +1 -0
  217. package/dist/components/fileException/FileError.js +61 -1
  218. package/dist/components/fileException/FileError.js.map +1 -0
  219. package/dist/components/fileException/FileInvalid.js +31 -1
  220. package/dist/components/fileException/FileInvalid.js.map +1 -0
  221. package/dist/components/fileException/index.js +38 -1
  222. package/dist/components/fileException/index.js.map +1 -0
  223. package/dist/components/pointCloudView/PointCloud2DView.js +153 -1
  224. package/dist/components/pointCloudView/PointCloud2DView.js.map +1 -0
  225. package/dist/components/pointCloudView/PointCloud3DView.js +234 -1
  226. package/dist/components/pointCloudView/PointCloud3DView.js.map +1 -0
  227. package/dist/components/pointCloudView/PointCloudBackView.js +138 -1
  228. package/dist/components/pointCloudView/PointCloudBackView.js.map +1 -0
  229. package/dist/components/pointCloudView/PointCloudContext.js +257 -1
  230. package/dist/components/pointCloudView/PointCloudContext.js.map +1 -0
  231. package/dist/components/pointCloudView/PointCloudInfos.js +146 -1
  232. package/dist/components/pointCloudView/PointCloudInfos.js.map +1 -0
  233. package/dist/components/pointCloudView/PointCloudLayout.js +28 -1
  234. package/dist/components/pointCloudView/PointCloudLayout.js.map +1 -0
  235. package/dist/components/pointCloudView/PointCloudListener.js +347 -1
  236. package/dist/components/pointCloudView/PointCloudListener.js.map +1 -0
  237. package/dist/components/pointCloudView/PointCloudSegment.js +62 -0
  238. package/dist/components/pointCloudView/PointCloudSegment.js.map +1 -0
  239. package/dist/components/pointCloudView/PointCloudSideView.js +135 -1
  240. package/dist/components/pointCloudView/PointCloudSideView.js.map +1 -0
  241. package/dist/components/pointCloudView/PointCloudTopView.js +339 -1
  242. package/dist/components/pointCloudView/PointCloudTopView.js.map +1 -0
  243. package/dist/components/pointCloudView/components/EmptyPage/index.js +24 -1
  244. package/dist/components/pointCloudView/components/EmptyPage/index.js.map +1 -0
  245. package/dist/components/pointCloudView/components/UnifyParamsModal/index.js +240 -1
  246. package/dist/components/pointCloudView/components/UnifyParamsModal/index.js.map +1 -0
  247. package/dist/components/pointCloudView/hooks/useAttribute.js +53 -1
  248. package/dist/components/pointCloudView/hooks/useAttribute.js.map +1 -0
  249. package/dist/components/pointCloudView/hooks/useBoxes.js +81 -1
  250. package/dist/components/pointCloudView/hooks/useBoxes.js.map +1 -0
  251. package/dist/components/pointCloudView/hooks/useConfig.js +33 -1
  252. package/dist/components/pointCloudView/hooks/useConfig.js.map +1 -0
  253. package/dist/components/pointCloudView/hooks/useHistory.js +173 -1
  254. package/dist/components/pointCloudView/hooks/useHistory.js.map +1 -0
  255. package/dist/components/pointCloudView/hooks/useLine.js +74 -1
  256. package/dist/components/pointCloudView/hooks/useLine.js.map +1 -0
  257. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +759 -1
  258. package/dist/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
  259. package/dist/components/pointCloudView/hooks/usePolygon.js +74 -1
  260. package/dist/components/pointCloudView/hooks/usePolygon.js.map +1 -0
  261. package/dist/components/pointCloudView/hooks/useRotate.js +47 -1
  262. package/dist/components/pointCloudView/hooks/useRotate.js.map +1 -0
  263. package/dist/components/pointCloudView/hooks/useSingleBox.js +176 -1
  264. package/dist/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
  265. package/dist/components/pointCloudView/hooks/useSphere.js +51 -1
  266. package/dist/components/pointCloudView/hooks/useSphere.js.map +1 -0
  267. package/dist/components/pointCloudView/hooks/useStatus.js +92 -1
  268. package/dist/components/pointCloudView/hooks/useStatus.js.map +1 -0
  269. package/dist/components/pointCloudView/hooks/useZoom.js +42 -1
  270. package/dist/components/pointCloudView/hooks/useZoom.js.map +1 -0
  271. package/dist/components/pointCloudView/index.js +59 -1
  272. package/dist/components/pointCloudView/index.js.map +1 -0
  273. package/dist/components/predictTracking/index.js +8 -1
  274. package/dist/components/predictTracking/index.js.map +1 -0
  275. package/dist/components/predictTracking/predictTrackingIcon/index.js +104 -1
  276. package/dist/components/predictTracking/predictTrackingIcon/index.js.map +1 -0
  277. package/dist/components/predictTracking/previewResult/index.js +196 -1
  278. package/dist/components/predictTracking/previewResult/index.js.map +1 -0
  279. package/dist/components/predictTracking/previewResult/util.js +144 -1
  280. package/dist/components/predictTracking/previewResult/util.js.map +1 -0
  281. package/dist/components/videoAnnotate/index.js +50 -1
  282. package/dist/components/videoAnnotate/index.js.map +1 -0
  283. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +233 -1
  284. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
  285. package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +40 -1
  286. package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
  287. package/dist/components/videoPlayer/VideoTagLayer.js +37 -1
  288. package/dist/components/videoPlayer/VideoTagLayer.js.map +1 -0
  289. package/dist/components/videoPlayer/components/controller/index.js +131 -1
  290. package/dist/components/videoPlayer/components/controller/index.js.map +1 -0
  291. package/dist/components/videoPlayer/index.js +267 -1
  292. package/dist/components/videoPlayer/index.js.map +1 -0
  293. package/dist/components/videoPlayer/utils.js +59 -1
  294. package/dist/components/videoPlayer/utils.js.map +1 -0
  295. package/dist/configureStore.js +16 -1
  296. package/dist/configureStore.js.map +1 -0
  297. package/dist/constant/index.js +32 -1
  298. package/dist/constant/index.js.map +1 -0
  299. package/dist/constant/styleString.js +6 -1
  300. package/dist/constant/styleString.js.map +1 -0
  301. package/dist/data/Style.js +113 -1
  302. package/dist/data/Style.js.map +1 -0
  303. package/dist/data/enums/AnnotationSize.js +39 -1
  304. package/dist/data/enums/AnnotationSize.js.map +1 -0
  305. package/dist/data/enums/ToolType.js +44 -1
  306. package/dist/data/enums/ToolType.js.map +1 -0
  307. package/dist/hooks/annotation.js +81 -1
  308. package/dist/hooks/annotation.js.map +1 -0
  309. package/dist/hooks/useRafState.js +21 -1
  310. package/dist/hooks/useRafState.js.map +1 -0
  311. package/dist/hooks/useRefCache.js +14 -1
  312. package/dist/hooks/useRefCache.js.map +1 -0
  313. package/dist/hooks/useSafeSate.js +22 -1
  314. package/dist/hooks/useSafeSate.js.map +1 -0
  315. package/dist/hooks/useSize.js +45 -1
  316. package/dist/hooks/useSize.js.map +1 -0
  317. package/dist/hooks/useUnmountedRef.js +17 -1
  318. package/dist/hooks/useUnmountedRef.js.map +1 -0
  319. package/dist/index.js +90 -1
  320. package/dist/index.js.map +1 -0
  321. package/dist/store/Actions.js +57 -1
  322. package/dist/store/Actions.js.map +1 -0
  323. package/dist/store/annotation/actionCreators.js +488 -1
  324. package/dist/store/annotation/actionCreators.js.map +1 -0
  325. package/dist/store/annotation/map.js +26 -1
  326. package/dist/store/annotation/map.js.map +1 -0
  327. package/dist/store/annotation/reducer.js +669 -1
  328. package/dist/store/annotation/reducer.js.map +1 -0
  329. package/dist/store/annotation/selectors.js +15 -1
  330. package/dist/store/annotation/selectors.js.map +1 -0
  331. package/dist/store/ctx.js +19 -1
  332. package/dist/store/ctx.js.map +1 -0
  333. package/dist/store/imgAttribute/actionCreators.js +27 -1
  334. package/dist/store/imgAttribute/actionCreators.js.map +1 -0
  335. package/dist/store/imgAttribute/reducer.js +44 -1
  336. package/dist/store/imgAttribute/reducer.js.map +1 -0
  337. package/dist/store/index.js +17 -1
  338. package/dist/store/index.js.map +1 -0
  339. package/dist/store/toolStyle/actionCreators.js +22 -1
  340. package/dist/store/toolStyle/actionCreators.js.map +1 -0
  341. package/dist/store/toolStyle/reducer.js +54 -1
  342. package/dist/store/toolStyle/reducer.js.map +1 -0
  343. package/dist/types/components/pointCloudView/PointCloudSegment.d.ts +6 -0
  344. package/dist/types/components/predictTracking/previewResult/util.d.ts +2 -1
  345. package/dist/types/store/annotation/actionCreators.d.ts +1 -1
  346. package/dist/types/views/MainView/toolHeader/SwitchPattern/index.d.ts +5 -0
  347. package/dist/utils/AnnotationDataUtils.js +171 -1
  348. package/dist/utils/AnnotationDataUtils.js.map +1 -0
  349. package/dist/utils/ConfigUtils.js +22 -1
  350. package/dist/utils/ConfigUtils.js.map +1 -0
  351. package/dist/utils/PageOperator.js +99 -1
  352. package/dist/utils/PageOperator.js.map +1 -0
  353. package/dist/utils/StepUtils.js +29 -1
  354. package/dist/utils/StepUtils.js.map +1 -0
  355. package/dist/utils/TextUtils.js +45 -1
  356. package/dist/utils/TextUtils.js.map +1 -0
  357. package/dist/utils/ToolStyleUtils.js +96 -1
  358. package/dist/utils/ToolStyleUtils.js.map +1 -0
  359. package/dist/utils/ToolUtils.js +19 -1
  360. package/dist/utils/ToolUtils.js.map +1 -0
  361. package/dist/utils/data.js +77 -1
  362. package/dist/utils/data.js.map +1 -0
  363. package/dist/utils/dom.js +25 -1
  364. package/dist/utils/dom.js.map +1 -0
  365. package/dist/utils/index.js +39 -1
  366. package/dist/utils/index.js.map +1 -0
  367. package/dist/views/MainView/annotationOperation/index.js +175 -1
  368. package/dist/views/MainView/annotationOperation/index.js.map +1 -0
  369. package/dist/views/MainView/annotationTips/index.js +32 -1
  370. package/dist/views/MainView/annotationTips/index.js.map +1 -0
  371. package/dist/views/MainView/index.js +122 -1
  372. package/dist/views/MainView/index.js.map +1 -0
  373. package/dist/views/MainView/sidebar/AnnotationText/index.js +47 -1
  374. package/dist/views/MainView/sidebar/AnnotationText/index.js.map +1 -0
  375. package/dist/views/MainView/sidebar/ClearIcon/index.js +37 -1
  376. package/dist/views/MainView/sidebar/ClearIcon/index.js.map +1 -0
  377. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +101 -1
  378. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
  379. package/dist/views/MainView/sidebar/GeneralOperation/index.js +95 -1
  380. package/dist/views/MainView/sidebar/GeneralOperation/index.js.map +1 -0
  381. package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js +94 -1
  382. package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
  383. package/dist/views/MainView/sidebar/ImgAttributeInfo/index.js +134 -1
  384. package/dist/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -0
  385. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +128 -1
  386. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +1 -0
  387. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +253 -1
  388. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
  389. package/dist/views/MainView/sidebar/ScribbleSidebar/index.js +64 -1
  390. package/dist/views/MainView/sidebar/ScribbleSidebar/index.js.map +1 -0
  391. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +79 -1
  392. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -0
  393. package/dist/views/MainView/sidebar/TagSidebar/index.js +187 -1
  394. package/dist/views/MainView/sidebar/TagSidebar/index.js.map +1 -0
  395. package/dist/views/MainView/sidebar/TextAreaFormat/index.js +112 -1
  396. package/dist/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -0
  397. package/dist/views/MainView/sidebar/TextToolSidebar/index.js +235 -1
  398. package/dist/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -0
  399. package/dist/views/MainView/sidebar/ToolIcons.js +87 -1
  400. package/dist/views/MainView/sidebar/ToolIcons.js.map +1 -0
  401. package/dist/views/MainView/sidebar/ToolStyle/index.js +162 -1
  402. package/dist/views/MainView/sidebar/ToolStyle/index.js.map +1 -0
  403. package/dist/views/MainView/sidebar/index.js +156 -1
  404. package/dist/views/MainView/sidebar/index.js.map +1 -0
  405. package/dist/views/MainView/toolFooter/AnnotatedAttributes/index.js +211 -1
  406. package/dist/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +1 -0
  407. package/dist/views/MainView/toolFooter/FooterPopover.js +54 -1
  408. package/dist/views/MainView/toolFooter/FooterPopover.js.map +1 -0
  409. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +149 -1
  410. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -0
  411. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js +26 -1
  412. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js.map +1 -0
  413. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +226 -1
  414. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -0
  415. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js +111 -1
  416. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -0
  417. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js +55 -1
  418. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -0
  419. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +174 -1
  420. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
  421. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +117 -1
  422. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -0
  423. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js +71 -1
  424. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -0
  425. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js +18 -1
  426. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +1 -0
  427. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js +25 -1
  428. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -0
  429. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js +18 -1
  430. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -0
  431. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +28 -1
  432. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
  433. package/dist/views/MainView/toolFooter/FooterTips/index.js +23 -1
  434. package/dist/views/MainView/toolFooter/FooterTips/index.js.map +1 -0
  435. package/dist/views/MainView/toolFooter/HiddenTips/index.js +45 -1
  436. package/dist/views/MainView/toolFooter/HiddenTips/index.js.map +1 -0
  437. package/dist/views/MainView/toolFooter/PageNumber/index.js +48 -1
  438. package/dist/views/MainView/toolFooter/PageNumber/index.js.map +1 -0
  439. package/dist/views/MainView/toolFooter/Pagination.js +91 -1
  440. package/dist/views/MainView/toolFooter/Pagination.js.map +1 -0
  441. package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +39 -1
  442. package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -0
  443. package/dist/views/MainView/toolFooter/ZoomController/index.js +72 -1
  444. package/dist/views/MainView/toolFooter/ZoomController/index.js.map +1 -0
  445. package/dist/views/MainView/toolFooter/index.js +135 -1
  446. package/dist/views/MainView/toolFooter/index.js.map +1 -0
  447. package/dist/views/MainView/toolHeader/ExportData/index.js +44 -1
  448. package/dist/views/MainView/toolHeader/ExportData/index.js.map +1 -0
  449. package/dist/views/MainView/toolHeader/StepSwitch/index.js +47 -1
  450. package/dist/views/MainView/toolHeader/StepSwitch/index.js.map +1 -0
  451. package/dist/views/MainView/toolHeader/SwitchPattern/index.js +59 -0
  452. package/dist/views/MainView/toolHeader/SwitchPattern/index.js.map +1 -0
  453. package/dist/views/MainView/toolHeader/headerOption/index.js +151 -1
  454. package/dist/views/MainView/toolHeader/headerOption/index.js.map +1 -0
  455. package/dist/views/MainView/toolHeader/index.js +180 -1
  456. package/dist/views/MainView/toolHeader/index.js.map +1 -0
  457. package/es/App.js +138 -1
  458. package/es/App.js.map +1 -0
  459. package/es/assets/annotation/common/icon_adapt.svg.js +4 -1
  460. package/es/assets/annotation/common/icon_adapt.svg.js.map +1 -0
  461. package/es/assets/annotation/common/icon_adapt_black.svg.js +4 -1
  462. package/es/assets/annotation/common/icon_adapt_black.svg.js.map +1 -0
  463. package/es/assets/annotation/common/icon_back.svg.js +4 -1
  464. package/es/assets/annotation/common/icon_back.svg.js.map +1 -0
  465. package/es/assets/annotation/common/icon_backA.svg.js +4 -1
  466. package/es/assets/annotation/common/icon_backA.svg.js.map +1 -0
  467. package/es/assets/annotation/common/icon_clear.svg.js +4 -1
  468. package/es/assets/annotation/common/icon_clear.svg.js.map +1 -0
  469. package/es/assets/annotation/common/icon_clearSmall.svg.js +4 -1
  470. package/es/assets/annotation/common/icon_clearSmall.svg.js.map +1 -0
  471. package/es/assets/annotation/common/icon_clearSmall_a.svg.js +4 -1
  472. package/es/assets/annotation/common/icon_clearSmall_a.svg.js.map +1 -0
  473. package/es/assets/annotation/common/icon_clear_a.svg.js +4 -1
  474. package/es/assets/annotation/common/icon_clear_a.svg.js.map +1 -0
  475. package/es/assets/annotation/common/icon_invalid.svg.js +4 -1
  476. package/es/assets/annotation/common/icon_invalid.svg.js.map +1 -0
  477. package/es/assets/annotation/common/icon_invalid_a.svg.js +4 -1
  478. package/es/assets/annotation/common/icon_invalid_a.svg.js.map +1 -0
  479. package/es/assets/annotation/common/icon_next.svg.js +4 -1
  480. package/es/assets/annotation/common/icon_next.svg.js.map +1 -0
  481. package/es/assets/annotation/common/icon_nextA.svg.js +4 -1
  482. package/es/assets/annotation/common/icon_nextA.svg.js.map +1 -0
  483. package/es/assets/annotation/common/icon_r.svg.js +4 -1
  484. package/es/assets/annotation/common/icon_r.svg.js.map +1 -0
  485. package/es/assets/annotation/common/icon_rA.svg.js +4 -1
  486. package/es/assets/annotation/common/icon_rA.svg.js.map +1 -0
  487. package/es/assets/annotation/common/icon_save.svg.js +4 -1
  488. package/es/assets/annotation/common/icon_save.svg.js.map +1 -0
  489. package/es/assets/annotation/common/icon_saveA.svg.js +4 -1
  490. package/es/assets/annotation/common/icon_saveA.svg.js.map +1 -0
  491. package/es/assets/annotation/image/brightness.svg.js +4 -1
  492. package/es/assets/annotation/image/brightness.svg.js.map +1 -0
  493. package/es/assets/annotation/image/contrast.svg.js +4 -1
  494. package/es/assets/annotation/image/contrast.svg.js.map +1 -0
  495. package/es/assets/annotation/image/icon_yuantu.svg.js +4 -1
  496. package/es/assets/annotation/image/icon_yuantu.svg.js.map +1 -0
  497. package/es/assets/annotation/image/saturation.svg.js +4 -1
  498. package/es/assets/annotation/image/saturation.svg.js.map +1 -0
  499. package/es/assets/annotation/lineTool/icon_line.svg.js +4 -1
  500. package/es/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
  501. package/es/assets/annotation/lineTool/icon_line_a.svg.js +4 -1
  502. package/es/assets/annotation/lineTool/icon_line_a.svg.js.map +1 -0
  503. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +4 -1
  504. package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
  505. package/es/assets/annotation/pointCloudTool/copy.svg.js +4 -1
  506. package/es/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
  507. package/es/assets/annotation/pointCloudTool/nextBox.svg.js +4 -1
  508. package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
  509. package/es/assets/annotation/pointCloudTool/nodata.svg.js +4 -1
  510. package/es/assets/annotation/pointCloudTool/nodata.svg.js.map +1 -0
  511. package/es/assets/annotation/pointCloudTool/patse.svg.js +4 -1
  512. package/es/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
  513. package/es/assets/annotation/pointCloudTool/prevBox.svg.js +4 -1
  514. package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
  515. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js +4 -1
  516. package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
  517. package/es/assets/annotation/pointCloudTool/selectAll.svg.js +4 -1
  518. package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
  519. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js +4 -1
  520. package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
  521. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js +4 -1
  522. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +1 -0
  523. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +4 -1
  524. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +1 -0
  525. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +4 -1
  526. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +1 -0
  527. package/es/assets/annotation/pointTool/icon_point.svg.js +4 -1
  528. package/es/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
  529. package/es/assets/annotation/pointTool/icon_point_a.svg.js +4 -1
  530. package/es/assets/annotation/pointTool/icon_point_a.svg.js.map +1 -0
  531. package/es/assets/annotation/polygonTool/icon_polygon.svg.js +4 -1
  532. package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
  533. package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js +4 -1
  534. package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +1 -0
  535. package/es/assets/annotation/rectTool/icon_rect.svg.js +4 -1
  536. package/es/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
  537. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +4 -0
  538. package/es/assets/annotation/rectTool/icon_rectPattern.svg.js.map +1 -0
  539. package/es/assets/annotation/rectTool/icon_rect_a.svg.js +4 -1
  540. package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
  541. package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +4 -1
  542. package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +1 -0
  543. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +4 -1
  544. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
  545. package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +4 -1
  546. package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +1 -0
  547. package/es/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg.js +4 -0
  548. package/es/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg.js.map +1 -0
  549. package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +4 -1
  550. package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +1 -0
  551. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +4 -1
  552. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
  553. package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +4 -1
  554. package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +1 -0
  555. package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +4 -1
  556. package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +1 -0
  557. package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +4 -1
  558. package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +1 -0
  559. package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +4 -1
  560. package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +1 -0
  561. package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +4 -1
  562. package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +1 -0
  563. package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +4 -1
  564. package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +1 -0
  565. package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +4 -1
  566. package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +1 -0
  567. package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +4 -1
  568. package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +1 -0
  569. package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +4 -1
  570. package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +1 -0
  571. package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +4 -1
  572. package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +1 -0
  573. package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +4 -1
  574. package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +1 -0
  575. package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +4 -1
  576. package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +1 -0
  577. package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +4 -1
  578. package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +1 -0
  579. package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +4 -1
  580. package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +1 -0
  581. package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +4 -1
  582. package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +1 -0
  583. package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +4 -1
  584. package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +1 -0
  585. package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +4 -1
  586. package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +1 -0
  587. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +4 -1
  588. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +1 -0
  589. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +4 -1
  590. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +1 -0
  591. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +4 -1
  592. package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +1 -0
  593. package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +4 -1
  594. package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +1 -0
  595. package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +4 -1
  596. package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +1 -0
  597. package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +4 -1
  598. package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +1 -0
  599. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +4 -1
  600. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
  601. package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +4 -1
  602. package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +1 -0
  603. package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +4 -1
  604. package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +1 -0
  605. package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +4 -1
  606. package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +1 -0
  607. package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +4 -1
  608. package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +1 -0
  609. package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +4 -1
  610. package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +1 -0
  611. package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +4 -1
  612. package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +1 -0
  613. package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +4 -1
  614. package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +1 -0
  615. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +4 -1
  616. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
  617. package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +4 -1
  618. package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +1 -0
  619. package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +4 -1
  620. package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +1 -0
  621. package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +4 -1
  622. package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +1 -0
  623. package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +4 -1
  624. package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +1 -0
  625. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +4 -1
  626. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
  627. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +4 -1
  628. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
  629. package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +4 -1
  630. package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +1 -0
  631. package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +4 -1
  632. package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +1 -0
  633. package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +4 -1
  634. package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +1 -0
  635. package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +4 -1
  636. package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +1 -0
  637. package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js +4 -1
  638. package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +1 -0
  639. package/es/assets/annotation/video/icon_keyboard_h.svg.js +4 -1
  640. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
  641. package/es/assets/attributeIcon/eraser.svg.js +4 -1
  642. package/es/assets/attributeIcon/eraser.svg.js.map +1 -0
  643. package/es/assets/attributeIcon/eraser_a.svg.js +4 -1
  644. package/es/assets/attributeIcon/eraser_a.svg.js.map +1 -0
  645. package/es/assets/attributeIcon/pen.svg.js +4 -1
  646. package/es/assets/attributeIcon/pen.svg.js.map +1 -0
  647. package/es/assets/attributeIcon/pen_a.svg.js +4 -1
  648. package/es/assets/attributeIcon/pen_a.svg.js.map +1 -0
  649. package/es/assets/attributeIcon/zoomUp.svg.js +4 -1
  650. package/es/assets/attributeIcon/zoomUp.svg.js.map +1 -0
  651. package/es/assets/cssIcon/annotation/icon_clearSmall.svg +10 -0
  652. package/es/assets/cssIcon/annotation/icon_clearSmall_a.svg +10 -0
  653. package/es/assets/cssIcon/slide_btn.svg +23 -0
  654. package/es/assets/predictTracking/icon.svg.js +4 -1
  655. package/es/assets/predictTracking/icon.svg.js.map +1 -0
  656. package/es/assets/toolStyle/icon_border.svg.js +4 -1
  657. package/es/assets/toolStyle/icon_border.svg.js.map +1 -0
  658. package/es/assets/toolStyle/icon_borderColor.svg.js +4 -1
  659. package/es/assets/toolStyle/icon_borderColor.svg.js.map +1 -0
  660. package/es/assets/toolStyle/icon_opacityFill.svg.js +4 -1
  661. package/es/assets/toolStyle/icon_opacityFill.svg.js.map +1 -0
  662. package/es/assets/toolStyle/icon_opacityStroke.svg.js +4 -1
  663. package/es/assets/toolStyle/icon_opacityStroke.svg.js.map +1 -0
  664. package/es/components/AnnotationView/index.js +154 -1
  665. package/es/components/AnnotationView/index.js.map +1 -0
  666. package/es/components/AnnotationView/pointCloudAnnotationView.js +79 -1
  667. package/es/components/AnnotationView/pointCloudAnnotationView.js.map +1 -0
  668. package/es/components/ImageError/index.js +53 -0
  669. package/es/components/ImageError/index.js.map +1 -0
  670. package/es/components/annotationStepPopover/index.js +33 -1
  671. package/es/components/annotationStepPopover/index.js.map +1 -0
  672. package/es/components/attributeList/index.js +57 -1
  673. package/es/components/attributeList/index.js.map +1 -0
  674. package/es/components/checkboxList/index.js +33 -1
  675. package/es/components/checkboxList/index.js.map +1 -0
  676. package/es/components/colorTag/index.js +30 -1
  677. package/es/components/colorTag/index.js.map +1 -0
  678. package/es/components/customAntd/IconWithText/index.js +53 -1
  679. package/es/components/customAntd/IconWithText/index.js.map +1 -0
  680. package/es/components/customResizeHook/index.js +84 -1
  681. package/es/components/customResizeHook/index.js.map +1 -0
  682. package/es/components/fileException/FileError.js +55 -1
  683. package/es/components/fileException/FileError.js.map +1 -0
  684. package/es/components/fileException/FileInvalid.js +25 -1
  685. package/es/components/fileException/FileInvalid.js.map +1 -0
  686. package/es/components/fileException/index.js +32 -1
  687. package/es/components/fileException/index.js.map +1 -0
  688. package/es/components/pointCloudView/PointCloud2DView.js +147 -1
  689. package/es/components/pointCloudView/PointCloud2DView.js.map +1 -0
  690. package/es/components/pointCloudView/PointCloud3DView.js +227 -1
  691. package/es/components/pointCloudView/PointCloud3DView.js.map +1 -0
  692. package/es/components/pointCloudView/PointCloudBackView.js +132 -1
  693. package/es/components/pointCloudView/PointCloudBackView.js.map +1 -0
  694. package/es/components/pointCloudView/PointCloudContext.js +248 -1
  695. package/es/components/pointCloudView/PointCloudContext.js.map +1 -0
  696. package/es/components/pointCloudView/PointCloudInfos.js +136 -1
  697. package/es/components/pointCloudView/PointCloudInfos.js.map +1 -0
  698. package/es/components/pointCloudView/PointCloudLayout.js +19 -1
  699. package/es/components/pointCloudView/PointCloudLayout.js.map +1 -0
  700. package/es/components/pointCloudView/PointCloudListener.js +345 -1
  701. package/es/components/pointCloudView/PointCloudListener.js.map +1 -0
  702. package/es/components/pointCloudView/PointCloudSegment.js +56 -0
  703. package/es/components/pointCloudView/PointCloudSegment.js.map +1 -0
  704. package/es/components/pointCloudView/PointCloudSideView.js +129 -1
  705. package/es/components/pointCloudView/PointCloudSideView.js.map +1 -0
  706. package/es/components/pointCloudView/PointCloudTopView.js +333 -1
  707. package/es/components/pointCloudView/PointCloudTopView.js.map +1 -0
  708. package/es/components/pointCloudView/components/EmptyPage/index.js +18 -1
  709. package/es/components/pointCloudView/components/EmptyPage/index.js.map +1 -0
  710. package/es/components/pointCloudView/components/PointCloudSizeSlider/index.js +23 -0
  711. package/es/components/pointCloudView/components/PointCloudSizeSlider/index.js.map +1 -0
  712. package/es/components/pointCloudView/components/UnifiedParamsModal/index.js +228 -0
  713. package/es/components/pointCloudView/components/UnifiedParamsModal/index.js.map +1 -0
  714. package/es/components/pointCloudView/components/UnifyParamsModal/index.js +234 -1
  715. package/es/components/pointCloudView/components/UnifyParamsModal/index.js.map +1 -0
  716. package/es/components/pointCloudView/data.js +4 -0
  717. package/es/components/pointCloudView/data.js.map +1 -0
  718. package/es/components/pointCloudView/hooks/useAttribute.js +49 -1
  719. package/es/components/pointCloudView/hooks/useAttribute.js.map +1 -0
  720. package/es/components/pointCloudView/hooks/useBoxes.js +73 -1
  721. package/es/components/pointCloudView/hooks/useBoxes.js.map +1 -0
  722. package/es/components/pointCloudView/hooks/useConfig.js +29 -1
  723. package/es/components/pointCloudView/hooks/useConfig.js.map +1 -0
  724. package/es/components/pointCloudView/hooks/useHistory.js +169 -1
  725. package/es/components/pointCloudView/hooks/useHistory.js.map +1 -0
  726. package/es/components/pointCloudView/hooks/useLine.js +70 -1
  727. package/es/components/pointCloudView/hooks/useLine.js.map +1 -0
  728. package/es/components/pointCloudView/hooks/usePointCloudViews.js +747 -1
  729. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
  730. package/es/components/pointCloudView/hooks/usePolygon.js +70 -1
  731. package/es/components/pointCloudView/hooks/usePolygon.js.map +1 -0
  732. package/es/components/pointCloudView/hooks/useRotate.js +43 -1
  733. package/es/components/pointCloudView/hooks/useRotate.js.map +1 -0
  734. package/es/components/pointCloudView/hooks/useSingleBox.js +168 -1
  735. package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
  736. package/es/components/pointCloudView/hooks/useSphere.js +43 -1
  737. package/es/components/pointCloudView/hooks/useSphere.js.map +1 -0
  738. package/es/components/pointCloudView/hooks/useStatus.js +88 -1
  739. package/es/components/pointCloudView/hooks/useStatus.js.map +1 -0
  740. package/es/components/pointCloudView/hooks/useZoom.js +38 -1
  741. package/es/components/pointCloudView/hooks/useZoom.js.map +1 -0
  742. package/es/components/pointCloudView/index.js +53 -1
  743. package/es/components/pointCloudView/index.js.map +1 -0
  744. package/es/components/predictTracking/index.js +3 -1
  745. package/es/components/predictTracking/index.js.map +1 -0
  746. package/es/components/predictTracking/predictTrackingIcon/index.js +98 -1
  747. package/es/components/predictTracking/predictTrackingIcon/index.js.map +1 -0
  748. package/es/components/predictTracking/previewResult/index.js +189 -1
  749. package/es/components/predictTracking/previewResult/index.js.map +1 -0
  750. package/es/components/predictTracking/previewResult/util.js +136 -1
  751. package/es/components/predictTracking/previewResult/util.js.map +1 -0
  752. package/es/components/videoAnnotate/index.js +44 -1
  753. package/es/components/videoAnnotate/index.js.map +1 -0
  754. package/es/components/videoPlayer/TagToolInstanceAdaptor.js +224 -1
  755. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
  756. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +32 -1
  757. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
  758. package/es/components/videoPlayer/VideoTagLayer.js +29 -1
  759. package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
  760. package/es/components/videoPlayer/components/controller/index.js +125 -1
  761. package/es/components/videoPlayer/components/controller/index.js.map +1 -0
  762. package/es/components/videoPlayer/index.js +257 -1
  763. package/es/components/videoPlayer/index.js.map +1 -0
  764. package/es/components/videoPlayer/utils.js +51 -1
  765. package/es/components/videoPlayer/utils.js.map +1 -0
  766. package/es/configureStore.js +10 -1
  767. package/es/configureStore.js.map +1 -0
  768. package/es/constant/index.js +27 -1
  769. package/es/constant/index.js.map +1 -0
  770. package/es/constant/styleString.js +4 -1
  771. package/es/constant/styleString.js.map +1 -0
  772. package/es/data/Style.js +104 -1
  773. package/es/data/Style.js.map +1 -0
  774. package/es/data/enums/AnnotationSize.js +32 -1
  775. package/es/data/enums/AnnotationSize.js.map +1 -0
  776. package/es/data/enums/ToolType.js +40 -1
  777. package/es/data/enums/ToolType.js.map +1 -0
  778. package/es/hooks/annotation.js +77 -1
  779. package/es/hooks/annotation.js.map +1 -0
  780. package/es/hooks/useConfig.js +18 -0
  781. package/es/hooks/useConfig.js.map +1 -0
  782. package/es/hooks/useRafState.js +19 -1
  783. package/es/hooks/useRafState.js.map +1 -0
  784. package/es/hooks/useRefCache.js +12 -1
  785. package/es/hooks/useRefCache.js.map +1 -0
  786. package/es/hooks/useSafeSate.js +16 -1
  787. package/es/hooks/useSafeSate.js.map +1 -0
  788. package/es/hooks/useSize.js +39 -1
  789. package/es/hooks/useSize.js.map +1 -0
  790. package/es/hooks/useUnmountedRef.js +15 -1
  791. package/es/hooks/useUnmountedRef.js.map +1 -0
  792. package/es/index.js +64 -1
  793. package/es/index.js.map +1 -0
  794. package/es/store/Actions.js +51 -1
  795. package/es/store/Actions.js.map +1 -0
  796. package/es/store/annotation/actionCreators.js +450 -1
  797. package/es/store/annotation/actionCreators.js.map +1 -0
  798. package/es/store/annotation/map.js +22 -1
  799. package/es/store/annotation/map.js.map +1 -0
  800. package/es/store/annotation/reducer.js +657 -1
  801. package/es/store/annotation/reducer.js.map +1 -0
  802. package/es/store/annotation/selectors.js +11 -1
  803. package/es/store/annotation/selectors.js.map +1 -0
  804. package/es/store/ctx.js +9 -1
  805. package/es/store/ctx.js.map +1 -0
  806. package/es/store/imgAttribute/actionCreators.js +21 -1
  807. package/es/store/imgAttribute/actionCreators.js.map +1 -0
  808. package/es/store/imgAttribute/reducer.js +40 -1
  809. package/es/store/imgAttribute/reducer.js.map +1 -0
  810. package/es/store/index.js +13 -1
  811. package/es/store/index.js.map +1 -0
  812. package/es/store/toolStyle/actionCreators.js +17 -1
  813. package/es/store/toolStyle/actionCreators.js.map +1 -0
  814. package/es/store/toolStyle/reducer.js +50 -1
  815. package/es/store/toolStyle/reducer.js.map +1 -0
  816. package/es/utils/AnnotationDataUtils.js +165 -1
  817. package/es/utils/AnnotationDataUtils.js.map +1 -0
  818. package/es/utils/ConfigUtils.js +18 -1
  819. package/es/utils/ConfigUtils.js.map +1 -0
  820. package/es/utils/PageOperator.js +93 -1
  821. package/es/utils/PageOperator.js.map +1 -0
  822. package/es/utils/StepUtils.js +27 -1
  823. package/es/utils/StepUtils.js.map +1 -0
  824. package/es/utils/TextUtils.js +39 -1
  825. package/es/utils/TextUtils.js.map +1 -0
  826. package/es/utils/ToolStyleUtils.js +88 -1
  827. package/es/utils/ToolStyleUtils.js.map +1 -0
  828. package/es/utils/ToolUtils.js +17 -1
  829. package/es/utils/ToolUtils.js.map +1 -0
  830. package/es/utils/data.js +72 -1
  831. package/es/utils/data.js.map +1 -0
  832. package/es/utils/dom.js +20 -1
  833. package/es/utils/dom.js.map +1 -0
  834. package/es/utils/index.js +30 -1
  835. package/es/utils/index.js.map +1 -0
  836. package/es/views/MainView/annotationOperation/index.js +168 -1
  837. package/es/views/MainView/annotationOperation/index.js.map +1 -0
  838. package/es/views/MainView/annotationTips/index.js +26 -1
  839. package/es/views/MainView/annotationTips/index.js.map +1 -0
  840. package/es/views/MainView/index.js +116 -1
  841. package/es/views/MainView/index.js.map +1 -0
  842. package/es/views/MainView/sidebar/AnnotationText/index.js +41 -1
  843. package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -0
  844. package/es/views/MainView/sidebar/ClearIcon/index.js +31 -1
  845. package/es/views/MainView/sidebar/ClearIcon/index.js.map +1 -0
  846. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +95 -1
  847. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
  848. package/es/views/MainView/sidebar/GeneralOperation/index.js +86 -1
  849. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -0
  850. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js +88 -1
  851. package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
  852. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js +128 -1
  853. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -0
  854. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +122 -1
  855. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +1 -0
  856. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +247 -1
  857. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
  858. package/es/views/MainView/sidebar/ScribbleSidebar/index.js +58 -1
  859. package/es/views/MainView/sidebar/ScribbleSidebar/index.js.map +1 -0
  860. package/es/views/MainView/sidebar/SwitchAttributeList/index.js +73 -1
  861. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -0
  862. package/es/views/MainView/sidebar/TagSidebar/index.js +178 -1
  863. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -0
  864. package/es/views/MainView/sidebar/TextAreaFormat/index.js +106 -1
  865. package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -0
  866. package/es/views/MainView/sidebar/TextToolSidebar/index.js +225 -1
  867. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -0
  868. package/es/views/MainView/sidebar/ToolIcons.js +78 -1
  869. package/es/views/MainView/sidebar/ToolIcons.js.map +1 -0
  870. package/es/views/MainView/sidebar/ToolStyle/index.js +156 -1
  871. package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -0
  872. package/es/views/MainView/sidebar/index.js +147 -1
  873. package/es/views/MainView/sidebar/index.js.map +1 -0
  874. package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js +200 -1
  875. package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +1 -0
  876. package/es/views/MainView/toolFooter/FooterPopover.js +48 -1
  877. package/es/views/MainView/toolFooter/FooterPopover.js.map +1 -0
  878. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +127 -1
  879. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -0
  880. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js +24 -1
  881. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js.map +1 -0
  882. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +216 -1
  883. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -0
  884. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js +97 -1
  885. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -0
  886. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js +47 -1
  887. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -0
  888. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +165 -1
  889. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
  890. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +102 -1
  891. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -0
  892. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js +61 -1
  893. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -0
  894. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js +16 -1
  895. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +1 -0
  896. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js +20 -1
  897. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -0
  898. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js +16 -1
  899. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -0
  900. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +22 -1
  901. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
  902. package/es/views/MainView/toolFooter/FooterTips/index.js +17 -1
  903. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -0
  904. package/es/views/MainView/toolFooter/HiddenTips/index.js +39 -1
  905. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -0
  906. package/es/views/MainView/toolFooter/PageNumber/index.js +42 -1
  907. package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -0
  908. package/es/views/MainView/toolFooter/Pagination.js +82 -1
  909. package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
  910. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +33 -1
  911. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -0
  912. package/es/views/MainView/toolFooter/ZoomController/index.js +63 -1
  913. package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -0
  914. package/es/views/MainView/toolFooter/index.js +125 -1
  915. package/es/views/MainView/toolFooter/index.js.map +1 -0
  916. package/es/views/MainView/toolHeader/ExportData/index.js +38 -1
  917. package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -0
  918. package/es/views/MainView/toolHeader/StepSwitch/index.js +41 -1
  919. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -0
  920. package/es/views/MainView/toolHeader/SwitchPattern/index.js +53 -0
  921. package/es/views/MainView/toolHeader/SwitchPattern/index.js.map +1 -0
  922. package/es/views/MainView/toolHeader/headerOption/index.js +145 -1
  923. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -0
  924. package/es/views/MainView/toolHeader/index.js +173 -1
  925. package/es/views/MainView/toolHeader/index.js.map +1 -0
  926. package/package.json +8 -6
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePointCloudViews.js","sources":["../../../../src/components/pointCloudView/hooks/usePointCloudViews.ts"],"sourcesContent":["/**\n * @file Point cloud interface for crud\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @createdate 2022-08-17\n */\nimport {\n PointCloudAnnotation,\n PointCloud,\n MathUtils,\n getCuboidFromPointCloudBox,\n} from '@labelbee/lb-annotation';\nimport {\n IPointCloudBox,\n IPointCloudSphere,\n EPerspectiveView,\n PointCloudUtils,\n IPolygonPoint,\n IPointUnit,\n UpdatePolygonByDragList,\n ILine,\n DEFAULT_SPHERE_PARAMS,\n} from '@labelbee/lb-utils';\nimport { useContext } from 'react';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { useSingleBox } from './useSingleBox';\nimport { useSphere } from './useSphere';\nimport { ISize } from '@/types/main';\nimport _ from 'lodash';\nimport { useDispatch, useSelector } from '@/store/ctx';\nimport { AppState } from '@/store';\nimport StepUtils from '@/utils/StepUtils';\nimport { jsonParser } from '@/utils';\nimport { SetPointCloudLoading } from '@/store/annotation/actionCreators';\nimport { message } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from './useHistory';\nimport { usePolygon } from './usePolygon';\nimport { IFileItem } from '@/types/data';\nimport { ICoordinate } from '@labelbee/lb-utils/src/types/common';\n\nconst DEFAULT_SCOPE = 5;\nconst DEFAULT_RADIUS = 90;\n\nconst PointCloudView = {\n '3D': '3D',\n Top: 'Top',\n Side: 'Side',\n Back: 'Back',\n};\n\nexport const topViewPoint2PointCloud = (\n newPoint: any,\n size: ISize,\n pointCloud: PointCloud,\n selectedPointCloudSphere?: IPointCloudSphere,\n defaultValue?: { [v: string]: any },\n) => {\n const { x: realX, y: realY } = PointCloudUtils.transferCanvas2World(newPoint, size);\n const { defaultZ } = DEFAULT_SPHERE_PARAMS;\n\n const newPosition = {\n center: {\n x: realX,\n y: realY,\n z: defaultZ,\n },\n id: newPoint.id,\n };\n\n const sphereParams: IPointCloudSphere = selectedPointCloudSphere\n ? {\n ...selectedPointCloudSphere,\n ...newPosition,\n }\n : {\n ...newPosition,\n attribute: '',\n valid: true,\n };\n\n if (defaultValue) {\n Object.assign(sphereParams, defaultValue);\n }\n return sphereParams;\n};\n\nexport const topViewPolygon2PointCloud = (\n newPolygon: any,\n size: ISize,\n pointCloud?: PointCloud,\n selectedPointCloudBox?: IPointCloudBox,\n defaultValue?: { [v: string]: any },\n intelligentFit?: boolean,\n) => {\n let worldPointList = newPolygon.pointList.map((v: any) =>\n PointCloudUtils.transferCanvas2World(v, size),\n );\n let z = 0;\n let depth = 1;\n let extraData = {};\n\n // Init PointCloud Data\n if (pointCloud) {\n const zInfo = pointCloud.getSensesPointZAxisInPolygon(\n worldPointList,\n undefined,\n intelligentFit,\n );\n if (intelligentFit && zInfo.fittedCoordinates.length > 0) {\n worldPointList = zInfo.fittedCoordinates;\n }\n z = (zInfo.maxZ + zInfo.minZ) / 2;\n depth = zInfo.maxZ - zInfo.minZ;\n extraData = {\n count: zInfo.zCount,\n };\n }\n\n const [point1, point2, point3] = worldPointList;\n const centerPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const height = MathUtils.getLineLength(point1, point2);\n const width = MathUtils.getLineLength(point2, point3);\n const rotation = MathUtils.getRadiusFromQuadrangle(newPolygon.pointList);\n\n if (selectedPointCloudBox) {\n z = selectedPointCloudBox.center.z;\n depth = selectedPointCloudBox.depth;\n }\n\n const newPosition = {\n center: {\n x: centerPoint.x,\n y: centerPoint.y,\n z,\n },\n width,\n height,\n depth,\n rotation,\n id: newPolygon.id,\n };\n\n /** TrackID will append before it pushed */\n const boxParams: Omit<IPointCloudBox, 'trackID'> = selectedPointCloudBox\n ? {\n ...selectedPointCloudBox,\n ...newPosition,\n ...extraData,\n }\n : {\n // Init Data\n ...newPosition,\n attribute: '',\n valid: true,\n ...extraData,\n };\n\n if (defaultValue) {\n Object.assign(boxParams, defaultValue);\n }\n\n // Polygon coordinates after fitting\n const newPointList = worldPointList.map((v: ICoordinate) =>\n PointCloudUtils.transferWorld2Canvas(v, size),\n );\n\n return { boxParams, newPointList };\n};\n\nconst sideViewPoint2PointCloud = (\n newPoint: any,\n originPoint: any,\n selectedSphere: IPointCloudSphere,\n) => {\n // 2D centerPoint => 3D x & z\n\n const offset = {\n x: newPoint.x - originPoint.x,\n y: newPoint.y - originPoint.y,\n };\n\n /**\n * The key of sideView change is x & z, y isn't used.\n */\n return {\n ...selectedSphere,\n center: {\n x: selectedSphere.center.x - offset.x,\n y: selectedSphere.center.y,\n z: selectedSphere.center.z - offset.y,\n },\n };\n};\nconst sideViewPolygon2PointCloud = (\n newPolygon: any,\n originPolygon: any,\n selectedPointCloudBox: IPointCloudBox,\n pointCloudInstance: PointCloud,\n) => {\n const [point1, point2, point3] = newPolygon.pointList;\n const [op1, op2, op3] = originPolygon.pointList;\n\n // 2D centerPoint => 3D x & z\n const newCenterPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const oldCenterPoint = MathUtils.getLineCenterPoint([op1, op3]);\n\n const offset = {\n x: newCenterPoint.x - oldCenterPoint.x,\n y: newCenterPoint.y - oldCenterPoint.y,\n };\n\n /**\n * The key of sideView change is x & z, y isn't used.\n */\n const offsetCenterPoint = {\n x: offset.x,\n y: 0,\n z: newCenterPoint.y - oldCenterPoint.y,\n };\n\n // 2D height => 3D depth\n const height = MathUtils.getLineLength(point1, point2);\n const oldHeight = MathUtils.getLineLength(op1, op2);\n const offsetHeight = height - oldHeight; // 3D depth\n\n // 2D width => 3D width\n const width = MathUtils.getLineLength(point2, point3);\n const oldWidth = MathUtils.getLineLength(op2, op3);\n const offsetWidth = width - oldWidth; // 3D width\n\n const { newBoxParams } = pointCloudInstance.getNewBoxBySideUpdate(\n offsetCenterPoint,\n offsetWidth,\n offsetHeight,\n selectedPointCloudBox,\n );\n\n return newBoxParams;\n};\n\nconst backViewPoint2PointCloud = (\n newPoint: any,\n originPoint: any,\n selectedSphere: IPointCloudSphere,\n) => {\n // 2D centerPoint => 3D y & z\n\n const offset = {\n x: newPoint.x - originPoint.x,\n y: newPoint.y - originPoint.y,\n };\n\n /**\n * The key of sideView change is x & z, y isn't used.\n */\n\n return {\n ...selectedSphere,\n center: {\n x: selectedSphere.center.x,\n y: selectedSphere.center.y - offset.x,\n z: selectedSphere.center.z - offset.y,\n },\n };\n};\nconst backViewPolygon2PointCloud = (\n newPolygon: any,\n originPolygon: any,\n selectedPointCloudBox: IPointCloudBox,\n pointCloudInstance: PointCloud,\n) => {\n // Notice. The sort of polygon is important.\n const [point1, point2, point3] = newPolygon.pointList;\n const [op1, op2, op3] = originPolygon.pointList;\n\n // 2D centerPoint => 3D x & z\n const newCenterPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const oldCenterPoint = MathUtils.getLineCenterPoint([op1, op3]);\n\n const offset = {\n x: newCenterPoint.x - oldCenterPoint.x,\n y: newCenterPoint.y - oldCenterPoint.y,\n };\n\n const offsetCenterPoint = {\n x: offset.x,\n y: 0, // Not be used.\n z: newCenterPoint.y - oldCenterPoint.y,\n };\n\n // 2D height => 3D depth\n const height = MathUtils.getLineLength(point1, point2);\n const oldHeight = MathUtils.getLineLength(op1, op2);\n const offsetHeight = height - oldHeight; // 3D depth\n\n // 2D width => 3D width\n const width = MathUtils.getLineLength(point2, point3);\n const oldWidth = MathUtils.getLineLength(op2, op3);\n const offsetWidth = width - oldWidth; // 3D width\n\n let { newBoxParams } = pointCloudInstance.getNewBoxByBackUpdate(\n offsetCenterPoint,\n offsetWidth,\n offsetHeight,\n selectedPointCloudBox,\n );\n\n return newBoxParams;\n};\n/**\n *\n * @param sphereParams\n * @param newPoint\n * @param sideViewInstance\n * @param url\n * todo: need to be merged with func synchronizeSideView\n */\n\nexport const syncSideViewByPoint = (\n sphereParams: IPointCloudSphere,\n newPoint: IPointUnit,\n sideViewInstance: PointCloudAnnotation | undefined,\n url: string,\n config?: any,\n) => {\n if (!sideViewInstance) {\n return;\n }\n\n const { toolInstance, pointCloudInstance } = sideViewInstance;\n\n // Create PointCloud\n pointCloudInstance.loadPCDFile(url, config?.radius ?? DEFAULT_RADIUS);\n const { cameraPositionVector } = pointCloudInstance.updateOrthoCameraBySphere(\n sphereParams,\n EPerspectiveView.Left,\n );\n\n pointCloudInstance.setInitCameraPosition(cameraPositionVector);\n\n const { point2d, zoom } = pointCloudInstance.getSphereSidePoint2DCoordinate(sphereParams);\n\n pointCloudInstance.camera.zoom = zoom;\n pointCloudInstance.camera.updateProjectionMatrix();\n pointCloudInstance.render();\n\n // Update PolygonView to default zoom and currentPos.\n toolInstance.initPosition();\n toolInstance.zoomChangeOnCenter(zoom);\n toolInstance.setResult([\n {\n ...newPoint,\n ...point2d,\n valid: sphereParams.valid,\n textAttribute: '',\n attribute: sphereParams.attribute,\n },\n ]);\n toolInstance.setSelectedID(newPoint.id);\n};\n/**\n * NewBox synchronize sideView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeSideView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n sideViewInstance: PointCloudAnnotation | undefined,\n url: string,\n) => {\n if (!sideViewInstance) {\n return;\n }\n\n const { pointCloud2dOperation, pointCloudInstance } = sideViewInstance;\n\n // Create PointCloud\n pointCloudInstance.loadPCDFileByBox(url, boxParams, {\n width: DEFAULT_SCOPE,\n depth: DEFAULT_SCOPE,\n });\n const { cameraPositionVector } = pointCloudInstance.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Left,\n );\n\n pointCloudInstance.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = pointCloudInstance.getBoxSidePolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n pointCloudInstance.camera.zoom = zoom;\n pointCloudInstance.camera.updateProjectionMatrix();\n pointCloudInstance.render();\n\n // Update PolygonView to default zoom and currentPos.\n pointCloud2dOperation.initPosition();\n pointCloud2dOperation.zoomChangeOnCenter(zoom);\n pointCloud2dOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\n/**\n *\n * @param sphereParams\n * @param newPoint\n * @param backViewInstance\n * @param url\n * todo: need to be merged with func synchronizeBackView\n */\n\nexport const syncBackViewByPoint = (\n sphereParams: IPointCloudSphere,\n newPoint: IPointUnit,\n backViewInstance: PointCloudAnnotation | undefined,\n url: string,\n config?: any,\n) => {\n if (!backViewInstance) {\n return;\n }\n\n const { toolInstance, pointCloudInstance } = backViewInstance;\n\n // Create PointCloud\n pointCloudInstance.loadPCDFile(url, config?.radius ?? DEFAULT_RADIUS);\n const { cameraPositionVector } = pointCloudInstance.updateOrthoCameraBySphere(\n sphereParams,\n EPerspectiveView.Back,\n );\n\n pointCloudInstance.setInitCameraPosition(cameraPositionVector);\n\n const { point2d, zoom } = pointCloudInstance.getSphereBackPoint2DCoordinate(sphereParams);\n\n pointCloudInstance.camera.zoom = zoom;\n pointCloudInstance.camera.updateProjectionMatrix();\n pointCloudInstance.render();\n\n // Update PolygonView to default zoom and currentPos.\n toolInstance.initPosition();\n toolInstance.zoomChangeOnCenter(zoom);\n toolInstance.setResult([\n {\n ...newPoint,\n ...point2d,\n valid: sphereParams.valid,\n textAttribute: '',\n attribute: sphereParams.attribute,\n },\n ]);\n toolInstance.setSelectedID(newPoint.id);\n};\n/**\n * NewBox synchronize backView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeBackView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n BackViewInstance: PointCloudAnnotation,\n url: string,\n) => {\n if (!BackViewInstance) {\n return;\n }\n\n const {\n pointCloud2dOperation: backPointCloudPolygonOperation,\n pointCloudInstance: backPointCloud,\n } = BackViewInstance;\n\n // Create PointCloud\n backPointCloud.loadPCDFileByBox(url, boxParams, { height: DEFAULT_SCOPE, depth: DEFAULT_SCOPE });\n const { cameraPositionVector } = backPointCloud.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Back,\n );\n\n backPointCloud.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = backPointCloud.getBoxBackPolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n backPointCloud.camera.zoom = zoom;\n backPointCloud.camera.updateProjectionMatrix();\n backPointCloud.render();\n\n // Update PolygonView to default zoom and currentPos.\n backPointCloudPolygonOperation.initPosition();\n backPointCloudPolygonOperation.zoomChangeOnCenter(zoom);\n backPointCloudPolygonOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\nexport const syncTopViewByPoint = (\n newSphereParams: IPointCloudSphere,\n newPoint: any,\n topViewInstance?: PointCloudAnnotation,\n mainViewInstance?: PointCloud,\n) => {\n if (!topViewInstance || !mainViewInstance) {\n return;\n }\n mainViewInstance.generateSphere(newSphereParams);\n mainViewInstance.updateCameraBySphere(newSphereParams, EPerspectiveView.Top);\n mainViewInstance.render();\n\n const { toolInstance, pointCloudInstance } = topViewInstance;\n\n const { point2d } = pointCloudInstance.getSphereTopPoint2DCoordinate(newSphereParams);\n\n const newPointList = [...toolInstance.pointList].map((v) =>\n v.id === newPoint.id\n ? {\n ...newPoint,\n ...point2d,\n valid: newSphereParams.valid,\n textAttribute: '',\n attribute: newSphereParams.attribute,\n }\n : v,\n );\n toolInstance.setResult(newPointList);\n toolInstance.setSelectedID(newPoint.id);\n};\n/**\n * NewBox synchronize TopView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeTopView = (\n newBoxParams: IPointCloudBox,\n newPolygon: any,\n topViewInstance?: PointCloudAnnotation,\n mainViewInstance?: PointCloud,\n) => {\n if (!topViewInstance || !mainViewInstance) {\n return;\n }\n\n // Control the 3D view data to create box\n mainViewInstance.generateBox(newBoxParams, newPolygon.id);\n mainViewInstance.render();\n\n const { pointCloud2dOperation, pointCloudInstance } = topViewInstance;\n\n const { polygon2d } = pointCloudInstance.getBoxTopPolygon2DCoordinate(newBoxParams);\n\n const newPolygonList = [...pointCloud2dOperation.polygonList];\n const oldPolygon = newPolygonList.find((v) => v.id === newPolygon.id);\n if (oldPolygon) {\n oldPolygon.pointList = polygon2d;\n } else {\n newPolygonList.push({\n id: newPolygon.id,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n valid: newBoxParams.valid ?? true,\n });\n }\n\n pointCloud2dOperation.setResultAndSelectedID(newPolygonList, newPolygon.id);\n};\n\nexport const usePointCloudViews = () => {\n const ptCtx = useContext(PointCloudContext);\n const {\n topViewInstance,\n sideViewInstance,\n backViewInstance,\n mainViewInstance,\n addPointCloudBox,\n addPointCloudSphere,\n setSelectedIDs,\n selectedIDs,\n pointCloudBoxList,\n pointCloudSphereList,\n hideAttributes,\n } = ptCtx;\n const {\n addHistory,\n initHistory,\n pushHistoryUnderUpdatePolygon,\n pushHistoryUnderUpdatePoint,\n pushHistoryUnderUpdateLine,\n } = useHistory();\n const { selectedPolygon } = usePolygon();\n\n const { updateSelectedBox, updateSelectedBoxes, getPointCloudByID } = useSingleBox();\n const { getPointCloudSphereByID, updatePointCloudSphere, selectedSphere } = useSphere();\n const { currentData, config } = useSelector((state: AppState) => {\n const { stepList, step, imgList, imgIndex } = state.annotation;\n\n return {\n currentData: imgList[imgIndex],\n config: jsonParser(StepUtils.getCurrentStepInfo(step, stepList).config),\n };\n });\n const dispatch = useDispatch();\n const { selectedBox } = useSingleBox();\n const { t } = useTranslation();\n\n const selectedPointCloudBox = selectedBox?.info;\n\n if (!topViewInstance || !sideViewInstance || !backViewInstance) {\n return {\n topViewAddSphere: () => {},\n topViewAddBox: () => {},\n topViewSelectedChanged: () => {},\n sideViewUpdateBox: () => {},\n backViewUpdateBox: () => {},\n };\n }\n\n const { pointCloudInstance: topViewPointCloud } = topViewInstance;\n\n const mainViewGenBox = (boxParams: IPointCloudBox) => {\n mainViewInstance?.generateBox(boxParams);\n mainViewInstance?.controls.update();\n mainViewInstance?.render();\n };\n\n const mainViewGenSphere = (sphereParams: IPointCloudSphere) => {\n mainViewInstance?.generateSphere(sphereParams);\n mainViewInstance?.controls.update();\n mainViewInstance?.render();\n };\n\n /**\n * Top-view create sphere from 2D pointTool\n */\n const topViewAddSphere = ({\n newPoint,\n size,\n zoom,\n trackConfigurable,\n }: {\n newPoint: IPointUnit;\n size: ISize;\n zoom: number;\n trackConfigurable?: boolean;\n }) => {\n const extraData = {\n attribute: topViewInstance.toolInstance.defaultAttribute ?? '',\n };\n\n if (trackConfigurable === true) {\n Object.assign(extraData, {\n trackID: PointCloudUtils.getNextTrackID({\n imgList: [], // Just calculate by the pointCloudBoxList in current page.\n extraBoxList: [],\n extraSphereList: pointCloudSphereList,\n }),\n });\n }\n\n const sphereParams = topViewPoint2PointCloud(\n newPoint,\n size,\n topViewPointCloud,\n undefined,\n extraData,\n );\n\n setSelectedIDs(newPoint.id);\n const newSphereList = addPointCloudSphere(sphereParams);\n syncPointCloudPoint(PointCloudView.Top, newPoint, sphereParams, zoom, newSphereList, config);\n };\n\n /** Top-view create box from 2D */\n const topViewAddBox = ({\n polygon,\n size,\n imgList,\n trackConfigurable,\n zoom,\n intelligentFit,\n }: {\n polygon: any;\n size: ISize;\n imgList: IFileItem[];\n trackConfigurable?: boolean;\n zoom: number;\n intelligentFit?: boolean;\n }) => {\n const extraData = {\n attribute: topViewInstance.toolInstance.defaultAttribute ?? '',\n };\n\n if (trackConfigurable === true) {\n Object.assign(extraData, {\n trackID: PointCloudUtils.getNextTrackID({\n imgList: [], // Just calculate by the pointCloudBoxList in current page.\n extraBoxList: pointCloudBoxList,\n extraSphereList: pointCloudSphereList,\n }),\n });\n }\n const polygonOperation = topViewInstance?.toolInstance;\n\n const newPolygon = { ...polygon };\n const { boxParams, newPointList } = topViewPolygon2PointCloud(\n newPolygon,\n size,\n topViewPointCloud,\n undefined,\n extraData,\n intelligentFit,\n );\n\n // If the count is less than lowerLimitPointsNumInBox, needs to delete it\n if (\n config?.lowerLimitPointsNumInBox &&\n typeof boxParams.count === 'number' &&\n boxParams.count < config.lowerLimitPointsNumInBox\n ) {\n message.info(t('LowerLimitPointsNumInBox', { num: config.lowerLimitPointsNumInBox }));\n polygonOperation.deletePolygon(boxParams.id);\n return;\n }\n\n if (intelligentFit && newPointList?.length) {\n newPolygon.pointList = newPointList;\n }\n\n const isBoxHidden = hideAttributes.includes(newPolygon.attribute);\n const newPointCloudList = addPointCloudBox(boxParams);\n\n /** If new box is hidden will not active target point box */\n if (isBoxHidden) {\n setSelectedIDs([]);\n } else {\n setSelectedIDs(boxParams.id);\n polygonOperation.setSelectedIDs([newPolygon.id]);\n syncPointCloudViews(PointCloudView.Top, newPolygon, boxParams, zoom, newPointCloudList);\n if (intelligentFit) {\n synchronizeTopView(boxParams, newPolygon, topViewInstance, mainViewInstance);\n }\n }\n\n addHistory({ newBoxParams: boxParams });\n };\n\n /** Top-view selected changed and render to other view */\n const topViewSelectedChanged = ({\n newSelectedBox,\n newPointCloudList,\n newSelectedSphere,\n newSphereList,\n }: {\n newSelectedBox?: IPointCloudBox;\n newPointCloudList?: IPointCloudBox[];\n newSelectedSphere?: IPointCloudSphere;\n newSphereList?: IPointCloudSphere[];\n }) => {\n const operation = topViewInstance?.toolInstance;\n if (selectedIDs.length === 0 || !operation) {\n return;\n }\n if (newSelectedBox || selectedBox?.info) {\n const boxParams = newSelectedBox ?? selectedBox?.info;\n operation.setSelectedIDs(selectedIDs);\n const polygon = operation.selectedPolygon;\n if (selectedIDs.length === 1 && boxParams) {\n syncPointCloudViews(PointCloudView.Top, polygon, boxParams, undefined, newPointCloudList);\n return;\n }\n }\n\n if (newSelectedSphere || selectedSphere) {\n if (selectedIDs.length === 1) {\n const sphereParams = newSelectedSphere ?? selectedSphere;\n operation.setSelectedID(selectedIDs[0]);\n const point = operation.selectedPoint;\n if (sphereParams) {\n syncPointCloudPoint(\n PointCloudView.Top,\n point,\n sphereParams,\n undefined,\n newSphereList,\n config,\n );\n }\n }\n }\n };\n\n /**\n * Update box from view\n * @param newPolygon\n * @param originPolygon\n * @param fromView Back or Side\n */\n const viewUpdateBox = (newPolygon: any, originPolygon: any, fromView: string) => {\n if (selectedPointCloudBox) {\n let transfer2PointCloud;\n let newBoxParams;\n\n // Switch the right function.\n switch (fromView) {\n case PointCloudView.Back:\n transfer2PointCloud = backViewPolygon2PointCloud;\n break;\n case PointCloudView.Side:\n transfer2PointCloud = sideViewPolygon2PointCloud;\n break;\n\n default:\n transfer2PointCloud = sideViewPolygon2PointCloud;\n break;\n }\n\n newBoxParams = transfer2PointCloud(\n newPolygon,\n originPolygon,\n selectedPointCloudBox,\n sideViewInstance.pointCloudInstance,\n );\n // Update count\n if (mainViewInstance) {\n const { count } = mainViewInstance.getSensesPointZAxisInPolygon(\n getCuboidFromPointCloudBox(newBoxParams).polygonPointList as IPolygonPoint[],\n [\n newBoxParams.center.z - newBoxParams.depth / 2,\n newBoxParams.center.z + newBoxParams.depth / 2,\n ],\n );\n\n newBoxParams = {\n ...newBoxParams,\n count,\n };\n }\n\n const newPointCloudList = updateSelectedBox(newBoxParams);\n syncPointCloudViews(fromView, newPolygon, newBoxParams, undefined, newPointCloudList);\n return newPointCloudList;\n }\n };\n\n const viewUpdatePoint = (newPoint: IPointUnit, originPoint: IPointUnit, fromView: string) => {\n if (selectedSphere) {\n let transfer2PointCloud;\n let newSphereParams;\n\n // Switch the right function.\n switch (fromView) {\n case PointCloudView.Back:\n transfer2PointCloud = backViewPoint2PointCloud;\n break;\n case PointCloudView.Side:\n transfer2PointCloud = sideViewPoint2PointCloud;\n break;\n\n default:\n transfer2PointCloud = sideViewPoint2PointCloud;\n break;\n }\n\n newSphereParams = transfer2PointCloud(newPoint, originPoint, selectedSphere);\n\n const newSphereList = updatePointCloudSphere(newSphereParams);\n syncPointCloudPoint(fromView, newPoint, newSphereParams, undefined, newSphereList, config);\n return newSphereList;\n }\n };\n const sideViewUpdatePoint = (newPoint: IPointUnit, originPoint: IPointUnit) => {\n viewUpdatePoint(newPoint, originPoint, PointCloudView.Side);\n };\n\n const backViewUpdatePoint = (newPoint: IPointUnit, originPoint: IPointUnit) => {\n viewUpdatePoint(newPoint, originPoint, PointCloudView.Back);\n };\n\n const sideViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Side);\n };\n\n const backViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Back);\n };\n\n const topViewUpdateLine = (updateList: ILine, size: ISize) => {\n // updateList.pointList = updateList.pointList.map((v) =>\n // PointCloudUtils.transferCanvas2World(v, size),\n // );\n\n pushHistoryUnderUpdateLine(updateList);\n return;\n };\n const topViewUpdatePoint = (updatePoint: IPointUnit, size: ISize) => {\n const { x: realX, y: realY } = PointCloudUtils.transferCanvas2World(updatePoint, size);\n pushHistoryUnderUpdatePoint({ ...updatePoint, x: realX, y: realY });\n\n const pointCloudSphere = getPointCloudSphereByID(updatePoint.id);\n const newSphereParams = topViewPoint2PointCloud(\n updatePoint,\n size,\n topViewPointCloud,\n pointCloudSphere,\n );\n\n const newPointCloudSphereList = updatePointCloudSphere(newSphereParams);\n syncPointCloudPoint(\n PointCloudView.Top,\n updatePoint,\n newSphereParams,\n undefined,\n newPointCloudSphereList,\n config,\n );\n };\n /**\n * Top view box updated and sync views\n * @param polygon\n * @param size\n */\n const topViewUpdateBox = (updateList: UpdatePolygonByDragList, size: ISize) => {\n // If the selected Object is Polygon.\n if (selectedPolygon) {\n /**\n * Notice. The Polygon need to be converted to pointCloud coordinate system for storage.\n */\n const polygon = updateList[0].newPolygon;\n polygon.pointList = polygon.pointList.map((v) =>\n PointCloudUtils.transferCanvas2World(v, size),\n );\n\n pushHistoryUnderUpdatePolygon(updateList[0].newPolygon);\n return;\n }\n\n const updatePointCloudList: IPointCloudBox[] = updateList.map(({ newPolygon: polygon }) => {\n const pointCloudBox = getPointCloudByID(polygon.id);\n\n const { boxParams } = topViewPolygon2PointCloud(\n polygon,\n size,\n topViewInstance.pointCloudInstance,\n pointCloudBox,\n );\n\n return boxParams;\n });\n\n /**\n * If single target updated, use syncPointCloudViews to sync all views and render\n * If multi targets updated, use updateSelectedBoxes and update highlight by syncAllViewPointCloudColor\n */\n if (updatePointCloudList.length === 1) {\n const { newPolygon: polygon } = updateList[0];\n const newPointCloudBoxList = updateSelectedBoxes(updatePointCloudList);\n\n syncPointCloudViews(\n PointCloudView.Top,\n polygon,\n updatePointCloudList[0],\n undefined,\n newPointCloudBoxList,\n );\n } else {\n const newPointCloudBoxList = updateSelectedBoxes(updatePointCloudList);\n if (newPointCloudBoxList) {\n ptCtx.syncAllViewPointCloudColor(newPointCloudBoxList);\n }\n }\n };\n\n /**\n * Sync views after adding a point\n */\n const syncPointCloudPoint = async (\n omitView: string,\n point: any,\n sphereParams: IPointCloudSphere,\n zoom?: number,\n newPointCloudSphereList?: IPointCloudSphere[],\n config?: any,\n ) => {\n const dataUrl = currentData?.url;\n\n const viewToBeUpdated = {\n [PointCloudView.Side]: () => {\n syncSideViewByPoint(sphereParams, point, sideViewInstance, dataUrl, config);\n },\n [PointCloudView.Back]: () => {\n if (backViewInstance) {\n syncBackViewByPoint(sphereParams, point, backViewInstance, dataUrl, config);\n }\n },\n [PointCloudView.Top]: () => {\n syncTopViewByPoint(sphereParams, point, topViewInstance, mainViewInstance);\n },\n };\n\n Object.keys(viewToBeUpdated).forEach((key) => {\n if (key !== omitView) {\n viewToBeUpdated[key]();\n }\n });\n if (zoom) {\n mainViewInstance?.updateCameraZoom(zoom);\n }\n mainViewGenSphere(sphereParams);\n };\n /**\n * Sync views' data from omit view, regenerate and highlight box on 3D-view\n * @param omitView\n * @param polygon\n * @param boxParams\n */\n const syncPointCloudViews = async (\n omitView: string,\n polygon: any,\n boxParams: IPointCloudBox,\n zoom?: number,\n newPointCloudBoxList?: IPointCloudBox[],\n ) => {\n const dataUrl = currentData?.url;\n if (newPointCloudBoxList) {\n // Wait for the mainPointCloudData.\n await ptCtx.syncAllViewPointCloudColor(newPointCloudBoxList);\n }\n const viewToBeUpdated = {\n [PointCloudView.Side]: () => {\n synchronizeSideView(boxParams, polygon, sideViewInstance, dataUrl);\n },\n [PointCloudView.Back]: () => {\n if (backViewInstance) {\n synchronizeBackView(boxParams, polygon, backViewInstance, dataUrl);\n }\n },\n [PointCloudView.Top]: () => {\n synchronizeTopView(boxParams, polygon, topViewInstance, mainViewInstance);\n },\n };\n\n Object.keys(viewToBeUpdated).forEach((key) => {\n if (key !== omitView) {\n viewToBeUpdated[key]();\n }\n });\n \n if (zoom) {\n mainViewInstance?.updateCameraZoom(zoom);\n }\n\n mainViewGenBox(boxParams);\n };\n\n const pointCloudBoxListUpdated = (newBoxes: IPointCloudBox[]) => {\n topViewInstance.updatePolygonList(newBoxes);\n mainViewInstance?.generateBoxes(newBoxes);\n };\n\n const initPointCloud3d = (size: ISize) => {\n if (!mainViewInstance) {\n return;\n }\n\n const orthographicParams = {\n left: -size.width / 2,\n right: size.width / 2,\n top: size.height / 2,\n bottom: -size.height / 2,\n near: 100,\n far: -100,\n };\n\n mainViewInstance.initOrthographicCamera(orthographicParams);\n mainViewInstance.initRenderer();\n mainViewInstance.render();\n };\n\n /**\n * Update the data of pointCloudView when the page change.\n * @returns\n */\n const updatePointCloudData = async (newData = currentData) => {\n if (!newData?.url || !mainViewInstance) {\n return;\n }\n\n SetPointCloudLoading(dispatch, true);\n await mainViewInstance.loadPCDFile(newData.url, config?.radius ?? DEFAULT_RADIUS);\n\n // Clear All Data\n pointCloudBoxList.forEach((v) => {\n mainViewInstance?.removeObjectByName(v.id);\n });\n\n pointCloudSphereList.forEach((v: IPointCloudSphere) => {\n mainViewInstance?.removeObjectByName(v.id);\n });\n\n let boxParamsList: any[] = [];\n let lineList: any[] = [];\n let polygonList = [];\n let sphereParamsList: IPointCloudSphere[] = [];\n if (currentData.result) {\n boxParamsList = PointCloudUtils.getBoxParamsFromResultList(currentData.result);\n polygonList = PointCloudUtils.getPolygonListFromResultList(currentData.result);\n lineList = PointCloudUtils.getLineListFromResultList(currentData.result);\n sphereParamsList = PointCloudUtils.getSphereParamsFromResultList(currentData.result);\n\n // Add Init Box\n boxParamsList.forEach((v: IPointCloudBox) => {\n mainViewInstance?.generateBox(v);\n });\n\n sphereParamsList.forEach((v: IPointCloudSphere) => {\n mainViewInstance?.generateSphere(v);\n });\n\n ptCtx.syncAllViewPointCloudColor(boxParamsList);\n ptCtx.setPointCloudResult(boxParamsList);\n ptCtx.setPolygonList(polygonList);\n ptCtx.setLineList(lineList);\n ptCtx.setPointCloudSphereList(sphereParamsList);\n } else {\n ptCtx.setPointCloudResult([]);\n ptCtx.setPolygonList([]);\n ptCtx.setPointCloudSphereList([]);\n ptCtx.setLineList([]);\n }\n initHistory({ pointCloudBoxList: boxParamsList, polygonList });\n\n mainViewInstance.updateTopCamera();\n\n const valid = jsonParser(newData.result)?.valid ?? true;\n ptCtx.setPointCloudValid(valid);\n\n // Clear other view data during initialization\n ptCtx.sideViewInstance?.clearAllData();\n ptCtx.backViewInstance?.clearAllData();\n\n // TopView Data Update\n /**\n * Listen to flip\n * 1. Init\n * 2. Reload PointCloud\n * 3. Clear Polygon\n */\n topViewInstance.updateData(newData.url, newData.result, {\n radius: config?.radius ?? DEFAULT_RADIUS,\n });\n SetPointCloudLoading(dispatch, false);\n };\n\n return {\n topViewAddSphere,\n topViewAddBox,\n topViewSelectedChanged,\n topViewUpdatePoint,\n sideViewUpdatePoint,\n backViewUpdatePoint,\n topViewUpdateBox,\n topViewUpdateLine,\n sideViewUpdateBox,\n backViewUpdateBox,\n pointCloudBoxListUpdated,\n initPointCloud3d,\n updatePointCloudData,\n };\n};\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,MAAM,aAAgB,GAAA,CAAA,CAAA;AACtB,MAAM,cAAiB,GAAA,EAAA,CAAA;AAEvB,MAAM,cAAiB,GAAA;AAAA,EACrB,IAAM,EAAA,IAAA;AAAA,EACN,GAAK,EAAA,KAAA;AAAA,EACL,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAA,MAAA;AAAA,CAAA,CAAA;AAGD,MAAM,0BAA0B,CACrC,QAAA,EACA,IACA,EAAA,UAAA,EACA,0BACA,YACG,KAAA;AACH,EAAA,MAAM,CAAE,CAAG,EAAA,KAAA,EAAO,GAAG,KAAU,CAAA,GAAA,eAAA,CAAgB,qBAAqB,QAAU,EAAA,IAAA,CAAA,CAAA;AAC9E,EAAA,MAAM,CAAE,QAAa,CAAA,GAAA,qBAAA,CAAA;AAErB,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,MAAQ,EAAA;AAAA,MACN,CAAG,EAAA,KAAA;AAAA,MACH,CAAG,EAAA,KAAA;AAAA,MACH,CAAG,EAAA,QAAA;AAAA,KAAA;AAAA,IAEL,IAAI,QAAS,CAAA,EAAA;AAAA,GAAA,CAAA;AAGf,EAAA,MAAM,eAAkC,wBACpC,GAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACK,wBACA,CAAA,EAAA,WAAA,CAAA,GAEL,iCACK,WADL,CAAA,EAAA;AAAA,IAEE,SAAW,EAAA,EAAA;AAAA,IACX,KAAO,EAAA,IAAA;AAAA,GAAA,CAAA,CAAA;AAGb,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,MAAA,CAAO,OAAO,YAAc,EAAA,YAAA,CAAA,CAAA;AAAA,GAAA;AAE9B,EAAO,OAAA,YAAA,CAAA;AAAA,EAAA;AAGF,MAAM,4BAA4B,CACvC,UAAA,EACA,MACA,UACA,EAAA,qBAAA,EACA,cACA,cACG,KAAA;AACH,EAAI,IAAA,cAAA,GAAiB,WAAW,SAAU,CAAA,GAAA,CAAI,CAAC,CAC7C,KAAA,eAAA,CAAgB,qBAAqB,CAAG,EAAA,IAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAI,CAAI,GAAA,CAAA,CAAA;AACR,EAAA,IAAI,KAAQ,GAAA,CAAA,CAAA;AACZ,EAAA,IAAI,SAAY,GAAA,EAAA,CAAA;AAGhB,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,MAAM,KAAQ,GAAA,UAAA,CAAW,4BACvB,CAAA,cAAA,EACA,KACA,CAAA,EAAA,cAAA,CAAA,CAAA;AAEF,IAAA,IAAI,cAAkB,IAAA,KAAA,CAAM,iBAAkB,CAAA,MAAA,GAAS,CAAG,EAAA;AACxD,MAAA,cAAA,GAAiB,KAAM,CAAA,iBAAA,CAAA;AAAA,KAAA;AAEzB,IAAK,CAAA,GAAA,CAAA,KAAA,CAAM,IAAO,GAAA,KAAA,CAAM,IAAQ,IAAA,CAAA,CAAA;AAChC,IAAQ,KAAA,GAAA,KAAA,CAAM,OAAO,KAAM,CAAA,IAAA,CAAA;AAC3B,IAAY,SAAA,GAAA;AAAA,MACV,OAAO,KAAM,CAAA,MAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAIjB,EAAM,MAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,MAAU,CAAA,GAAA,cAAA,CAAA;AACjC,EAAA,MAAM,WAAc,GAAA,SAAA,CAAU,kBAAmB,CAAA,CAAC,MAAQ,EAAA,MAAA,CAAA,CAAA,CAAA;AAC1D,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC/C,EAAM,MAAA,KAAA,GAAQ,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC9C,EAAM,MAAA,QAAA,GAAW,SAAU,CAAA,uBAAA,CAAwB,UAAW,CAAA,SAAA,CAAA,CAAA;AAE9D,EAAA,IAAI,qBAAuB,EAAA;AACzB,IAAA,CAAA,GAAI,sBAAsB,MAAO,CAAA,CAAA,CAAA;AACjC,IAAA,KAAA,GAAQ,qBAAsB,CAAA,KAAA,CAAA;AAAA,GAAA;AAGhC,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,MAAQ,EAAA;AAAA,MACN,GAAG,WAAY,CAAA,CAAA;AAAA,MACf,GAAG,WAAY,CAAA,CAAA;AAAA,MACf,CAAA;AAAA,KAAA;AAAA,IAEF,KAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAI,UAAW,CAAA,EAAA;AAAA,GAAA,CAAA;AAIjB,EAAA,MAAM,YAA6C,qBAC/C,GAAA,cAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACK,wBACA,WACA,CAAA,EAAA,SAAA,CAAA,GAEL,gDAEK,WAFL,CAAA,EAAA;AAAA,IAGE,SAAW,EAAA,EAAA;AAAA,IACX,KAAO,EAAA,IAAA;AAAA,GACJ,CAAA,EAAA,SAAA,CAAA,CAAA;AAGT,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,MAAA,CAAO,OAAO,SAAW,EAAA,YAAA,CAAA,CAAA;AAAA,GAAA;AAI3B,EAAA,MAAM,eAAe,cAAe,CAAA,GAAA,CAAI,CAAC,CACvC,KAAA,eAAA,CAAgB,qBAAqB,CAAG,EAAA,IAAA,CAAA,CAAA,CAAA;AAG1C,EAAA,OAAO,CAAE,SAAW,EAAA,YAAA,CAAA,CAAA;AAAA,EAAA;AAGtB,MAAM,wBAA2B,GAAA,CAC/B,QACA,EAAA,WAAA,EACA,cACG,KAAA;AAGH,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,CAAA,EAAG,QAAS,CAAA,CAAA,GAAI,WAAY,CAAA,CAAA;AAAA,IAC5B,CAAA,EAAG,QAAS,CAAA,CAAA,GAAI,WAAY,CAAA,CAAA;AAAA,GAAA,CAAA;AAM9B,EAAA,OAAO,iCACF,cADE,CAAA,EAAA;AAAA,IAEL,MAAQ,EAAA;AAAA,MACN,CAAG,EAAA,cAAA,CAAe,MAAO,CAAA,CAAA,GAAI,MAAO,CAAA,CAAA;AAAA,MACpC,CAAA,EAAG,eAAe,MAAO,CAAA,CAAA;AAAA,MACzB,CAAG,EAAA,cAAA,CAAe,MAAO,CAAA,CAAA,GAAI,MAAO,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAI1C,MAAM,0BAA6B,GAAA,CACjC,UACA,EAAA,aAAA,EACA,uBACA,kBACG,KAAA;AACH,EAAA,MAAM,CAAC,MAAA,EAAQ,MAAQ,EAAA,MAAA,CAAA,GAAU,UAAW,CAAA,SAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,GAAA,EAAK,GAAK,EAAA,GAAA,CAAA,GAAO,aAAc,CAAA,SAAA,CAAA;AAGtC,EAAA,MAAM,cAAiB,GAAA,SAAA,CAAU,kBAAmB,CAAA,CAAC,MAAQ,EAAA,MAAA,CAAA,CAAA,CAAA;AAC7D,EAAA,MAAM,cAAiB,GAAA,SAAA,CAAU,kBAAmB,CAAA,CAAC,GAAK,EAAA,GAAA,CAAA,CAAA,CAAA;AAE1D,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,IACrC,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,GAAA,CAAA;AAMvC,EAAA,MAAM,iBAAoB,GAAA;AAAA,IACxB,GAAG,MAAO,CAAA,CAAA;AAAA,IACV,CAAG,EAAA,CAAA;AAAA,IACH,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,GAAA,CAAA;AAIvC,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC/C,EAAM,MAAA,SAAA,GAAY,SAAU,CAAA,aAAA,CAAc,GAAK,EAAA,GAAA,CAAA,CAAA;AAC/C,EAAA,MAAM,eAAe,MAAS,GAAA,SAAA,CAAA;AAG9B,EAAM,MAAA,KAAA,GAAQ,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC9C,EAAM,MAAA,QAAA,GAAW,SAAU,CAAA,aAAA,CAAc,GAAK,EAAA,GAAA,CAAA,CAAA;AAC9C,EAAA,MAAM,cAAc,KAAQ,GAAA,QAAA,CAAA;AAE5B,EAAA,MAAM,CAAE,YAAiB,CAAA,GAAA,kBAAA,CAAmB,qBAC1C,CAAA,iBAAA,EACA,aACA,YACA,EAAA,qBAAA,CAAA,CAAA;AAGF,EAAO,OAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAGT,MAAM,wBAA2B,GAAA,CAC/B,QACA,EAAA,WAAA,EACA,cACG,KAAA;AAGH,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,CAAA,EAAG,QAAS,CAAA,CAAA,GAAI,WAAY,CAAA,CAAA;AAAA,IAC5B,CAAA,EAAG,QAAS,CAAA,CAAA,GAAI,WAAY,CAAA,CAAA;AAAA,GAAA,CAAA;AAO9B,EAAA,OAAO,iCACF,cADE,CAAA,EAAA;AAAA,IAEL,MAAQ,EAAA;AAAA,MACN,CAAA,EAAG,eAAe,MAAO,CAAA,CAAA;AAAA,MACzB,CAAG,EAAA,cAAA,CAAe,MAAO,CAAA,CAAA,GAAI,MAAO,CAAA,CAAA;AAAA,MACpC,CAAG,EAAA,cAAA,CAAe,MAAO,CAAA,CAAA,GAAI,MAAO,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAI1C,MAAM,0BAA6B,GAAA,CACjC,UACA,EAAA,aAAA,EACA,uBACA,kBACG,KAAA;AAEH,EAAA,MAAM,CAAC,MAAA,EAAQ,MAAQ,EAAA,MAAA,CAAA,GAAU,UAAW,CAAA,SAAA,CAAA;AAC5C,EAAA,MAAM,CAAC,GAAA,EAAK,GAAK,EAAA,GAAA,CAAA,GAAO,aAAc,CAAA,SAAA,CAAA;AAGtC,EAAA,MAAM,cAAiB,GAAA,SAAA,CAAU,kBAAmB,CAAA,CAAC,MAAQ,EAAA,MAAA,CAAA,CAAA,CAAA;AAC7D,EAAA,MAAM,cAAiB,GAAA,SAAA,CAAU,kBAAmB,CAAA,CAAC,GAAK,EAAA,GAAA,CAAA,CAAA,CAAA;AAE1D,EAAA,MAAM,MAAS,GAAA;AAAA,IACb,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,IACrC,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,GAAA,CAAA;AAGvC,EAAA,MAAM,iBAAoB,GAAA;AAAA,IACxB,GAAG,MAAO,CAAA,CAAA;AAAA,IACV,CAAG,EAAA,CAAA;AAAA,IACH,CAAA,EAAG,cAAe,CAAA,CAAA,GAAI,cAAe,CAAA,CAAA;AAAA,GAAA,CAAA;AAIvC,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC/C,EAAM,MAAA,SAAA,GAAY,SAAU,CAAA,aAAA,CAAc,GAAK,EAAA,GAAA,CAAA,CAAA;AAC/C,EAAA,MAAM,eAAe,MAAS,GAAA,SAAA,CAAA;AAG9B,EAAM,MAAA,KAAA,GAAQ,SAAU,CAAA,aAAA,CAAc,MAAQ,EAAA,MAAA,CAAA,CAAA;AAC9C,EAAM,MAAA,QAAA,GAAW,SAAU,CAAA,aAAA,CAAc,GAAK,EAAA,GAAA,CAAA,CAAA;AAC9C,EAAA,MAAM,cAAc,KAAQ,GAAA,QAAA,CAAA;AAE5B,EAAA,IAAI,CAAE,YAAiB,CAAA,GAAA,kBAAA,CAAmB,qBACxC,CAAA,iBAAA,EACA,aACA,YACA,EAAA,qBAAA,CAAA,CAAA;AAGF,EAAO,OAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAWF,MAAM,sBAAsB,CACjC,YAAA,EACA,QACA,EAAA,gBAAA,EACA,KACA,MACG,KAAA;AApUL,EAAA,IAAA,EAAA,CAAA;AAqUE,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GAAA;AAGF,EAAM,MAAA,CAAE,cAAc,kBAAuB,CAAA,GAAA,gBAAA,CAAA;AAG7C,EAAA,kBAAA,CAAmB,WAAY,CAAA,GAAA,EAAK,CAAQ,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,KAAR,IAAkB,GAAA,EAAA,GAAA,cAAA,CAAA,CAAA;AACtD,EAAA,MAAM,CAAE,oBAAA,CAAA,GAAyB,kBAAmB,CAAA,yBAAA,CAClD,cACA,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAGnB,EAAA,kBAAA,CAAmB,qBAAsB,CAAA,oBAAA,CAAA,CAAA;AAEzC,EAAA,MAAM,CAAE,OAAA,EAAS,IAAS,CAAA,GAAA,kBAAA,CAAmB,8BAA+B,CAAA,YAAA,CAAA,CAAA;AAE5E,EAAA,kBAAA,CAAmB,OAAO,IAAO,GAAA,IAAA,CAAA;AACjC,EAAA,kBAAA,CAAmB,MAAO,CAAA,sBAAA,EAAA,CAAA;AAC1B,EAAmB,kBAAA,CAAA,MAAA,EAAA,CAAA;AAGnB,EAAa,YAAA,CAAA,YAAA,EAAA,CAAA;AACb,EAAA,YAAA,CAAa,kBAAmB,CAAA,IAAA,CAAA,CAAA;AAChC,EAAA,YAAA,CAAa,SAAU,CAAA;AAAA,IACrB,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACK,WACA,OAFL,CAAA,EAAA;AAAA,MAGE,OAAO,YAAa,CAAA,KAAA;AAAA,MACpB,aAAe,EAAA,EAAA;AAAA,MACf,WAAW,YAAa,CAAA,SAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAG5B,EAAA,YAAA,CAAa,cAAc,QAAS,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAO/B,MAAM,mBAAsB,GAAA,CACjC,SACA,EAAA,UAAA,EACA,kBACA,GACG,KAAA;AACH,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GAAA;AAGF,EAAM,MAAA,CAAE,uBAAuB,kBAAuB,CAAA,GAAA,gBAAA,CAAA;AAGtD,EAAmB,kBAAA,CAAA,gBAAA,CAAiB,KAAK,SAAW,EAAA;AAAA,IAClD,KAAO,EAAA,aAAA;AAAA,IACP,KAAO,EAAA,aAAA;AAAA,GAAA,CAAA,CAAA;AAET,EAAA,MAAM,CAAE,oBAAA,CAAA,GAAyB,kBAAmB,CAAA,iBAAA,CAClD,WACA,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAGnB,EAAA,kBAAA,CAAmB,qBAAsB,CAAA,oBAAA,CAAA,CAAA;AAGzC,EAAA,MAAM,CAAE,SAAA,EAAW,IAAS,CAAA,GAAA,kBAAA,CAAmB,6BAA8B,CAAA,SAAA,CAAA,CAAA;AAG7E,EAAA,kBAAA,CAAmB,OAAO,IAAO,GAAA,IAAA,CAAA;AACjC,EAAA,kBAAA,CAAmB,MAAO,CAAA,sBAAA,EAAA,CAAA;AAC1B,EAAmB,kBAAA,CAAA,MAAA,EAAA,CAAA;AAGnB,EAAsB,qBAAA,CAAA,YAAA,EAAA,CAAA;AACtB,EAAA,qBAAA,CAAsB,kBAAmB,CAAA,IAAA,CAAA,CAAA;AACzC,EAAA,qBAAA,CAAsB,sBACpB,CAAA;AAAA,IACE;AAAA,MACE,IAAI,UAAW,CAAA,EAAA;AAAA,MACf,OAAO,SAAU,CAAA,KAAA;AAAA,MACjB,SAAW,EAAA,SAAA;AAAA,MACX,aAAe,EAAA,EAAA;AAAA,MACf,MAAQ,EAAA,IAAA;AAAA,MACR,WAAW,SAAU,CAAA,SAAA;AAAA,KAAA;AAAA,GAAA,EAGzB,UAAW,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAaR,MAAM,sBAAsB,CACjC,YAAA,EACA,QACA,EAAA,gBAAA,EACA,KACA,MACG,KAAA;AA9aL,EAAA,IAAA,EAAA,CAAA;AA+aE,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GAAA;AAGF,EAAM,MAAA,CAAE,cAAc,kBAAuB,CAAA,GAAA,gBAAA,CAAA;AAG7C,EAAA,kBAAA,CAAmB,WAAY,CAAA,GAAA,EAAK,CAAQ,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,KAAR,IAAkB,GAAA,EAAA,GAAA,cAAA,CAAA,CAAA;AACtD,EAAA,MAAM,CAAE,oBAAA,CAAA,GAAyB,kBAAmB,CAAA,yBAAA,CAClD,cACA,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAGnB,EAAA,kBAAA,CAAmB,qBAAsB,CAAA,oBAAA,CAAA,CAAA;AAEzC,EAAA,MAAM,CAAE,OAAA,EAAS,IAAS,CAAA,GAAA,kBAAA,CAAmB,8BAA+B,CAAA,YAAA,CAAA,CAAA;AAE5E,EAAA,kBAAA,CAAmB,OAAO,IAAO,GAAA,IAAA,CAAA;AACjC,EAAA,kBAAA,CAAmB,MAAO,CAAA,sBAAA,EAAA,CAAA;AAC1B,EAAmB,kBAAA,CAAA,MAAA,EAAA,CAAA;AAGnB,EAAa,YAAA,CAAA,YAAA,EAAA,CAAA;AACb,EAAA,YAAA,CAAa,kBAAmB,CAAA,IAAA,CAAA,CAAA;AAChC,EAAA,YAAA,CAAa,SAAU,CAAA;AAAA,IACrB,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACK,WACA,OAFL,CAAA,EAAA;AAAA,MAGE,OAAO,YAAa,CAAA,KAAA;AAAA,MACpB,aAAe,EAAA,EAAA;AAAA,MACf,WAAW,YAAa,CAAA,SAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAG5B,EAAA,YAAA,CAAa,cAAc,QAAS,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAO/B,MAAM,mBAAsB,GAAA,CACjC,SACA,EAAA,UAAA,EACA,kBACA,GACG,KAAA;AACH,EAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,IAAA,OAAA;AAAA,GAAA;AAGF,EAAM,MAAA;AAAA,IACJ,qBAAuB,EAAA,8BAAA;AAAA,IACvB,kBAAoB,EAAA,cAAA;AAAA,GAClB,GAAA,gBAAA,CAAA;AAGJ,EAAA,cAAA,CAAe,iBAAiB,GAAK,EAAA,SAAA,EAAW,CAAE,MAAA,EAAQ,eAAe,KAAO,EAAA,aAAA,CAAA,CAAA,CAAA;AAChF,EAAA,MAAM,CAAE,oBAAA,CAAA,GAAyB,cAAe,CAAA,iBAAA,CAC9C,WACA,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAGnB,EAAA,cAAA,CAAe,qBAAsB,CAAA,oBAAA,CAAA,CAAA;AAGrC,EAAA,MAAM,CAAE,SAAA,EAAW,IAAS,CAAA,GAAA,cAAA,CAAe,6BAA8B,CAAA,SAAA,CAAA,CAAA;AAGzE,EAAA,cAAA,CAAe,OAAO,IAAO,GAAA,IAAA,CAAA;AAC7B,EAAA,cAAA,CAAe,MAAO,CAAA,sBAAA,EAAA,CAAA;AACtB,EAAe,cAAA,CAAA,MAAA,EAAA,CAAA;AAGf,EAA+B,8BAAA,CAAA,YAAA,EAAA,CAAA;AAC/B,EAAA,8BAAA,CAA+B,kBAAmB,CAAA,IAAA,CAAA,CAAA;AAClD,EAAA,8BAAA,CAA+B,sBAC7B,CAAA;AAAA,IACE;AAAA,MACE,IAAI,UAAW,CAAA,EAAA;AAAA,MACf,OAAO,SAAU,CAAA,KAAA;AAAA,MACjB,SAAW,EAAA,SAAA;AAAA,MACX,aAAe,EAAA,EAAA;AAAA,MACf,MAAQ,EAAA,IAAA;AAAA,MACR,WAAW,SAAU,CAAA,SAAA;AAAA,KAAA;AAAA,GAAA,EAGzB,UAAW,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAIR,MAAM,kBAAqB,GAAA,CAChC,eACA,EAAA,QAAA,EACA,iBACA,gBACG,KAAA;AACH,EAAI,IAAA,CAAC,eAAmB,IAAA,CAAC,gBAAkB,EAAA;AACzC,IAAA,OAAA;AAAA,GAAA;AAEF,EAAA,gBAAA,CAAiB,cAAe,CAAA,eAAA,CAAA,CAAA;AAChC,EAAiB,gBAAA,CAAA,oBAAA,CAAqB,iBAAiB,gBAAiB,CAAA,GAAA,CAAA,CAAA;AACxE,EAAiB,gBAAA,CAAA,MAAA,EAAA,CAAA;AAEjB,EAAM,MAAA,CAAE,cAAc,kBAAuB,CAAA,GAAA,eAAA,CAAA;AAE7C,EAAM,MAAA,CAAE,OAAY,CAAA,GAAA,kBAAA,CAAmB,6BAA8B,CAAA,eAAA,CAAA,CAAA;AAErE,EAAA,MAAM,YAAe,GAAA,CAAC,GAAG,YAAA,CAAa,WAAW,GAAI,CAAA,CAAC,CACpD,KAAA,CAAA,CAAE,EAAO,KAAA,QAAA,CAAS,EACd,GAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACK,WACA,OAFL,CAAA,EAAA;AAAA,IAGE,OAAO,eAAgB,CAAA,KAAA;AAAA,IACvB,aAAe,EAAA,EAAA;AAAA,IACf,WAAW,eAAgB,CAAA,SAAA;AAAA,GAE7B,CAAA,GAAA,CAAA,CAAA,CAAA;AAEN,EAAA,YAAA,CAAa,SAAU,CAAA,YAAA,CAAA,CAAA;AACvB,EAAA,YAAA,CAAa,cAAc,QAAS,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAO/B,MAAM,kBAAqB,GAAA,CAChC,YACA,EAAA,UAAA,EACA,iBACA,gBACG,KAAA;AAljBL,EAAA,IAAA,EAAA,CAAA;AAmjBE,EAAI,IAAA,CAAC,eAAmB,IAAA,CAAC,gBAAkB,EAAA;AACzC,IAAA,OAAA;AAAA,GAAA;AAIF,EAAiB,gBAAA,CAAA,WAAA,CAAY,cAAc,UAAW,CAAA,EAAA,CAAA,CAAA;AACtD,EAAiB,gBAAA,CAAA,MAAA,EAAA,CAAA;AAEjB,EAAM,MAAA,CAAE,uBAAuB,kBAAuB,CAAA,GAAA,eAAA,CAAA;AAEtD,EAAM,MAAA,CAAE,SAAc,CAAA,GAAA,kBAAA,CAAmB,4BAA6B,CAAA,YAAA,CAAA,CAAA;AAEtE,EAAM,MAAA,cAAA,GAAiB,CAAC,GAAG,qBAAsB,CAAA,WAAA,CAAA,CAAA;AACjD,EAAA,MAAM,aAAa,cAAe,CAAA,IAAA,CAAK,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,UAAW,CAAA,EAAA,CAAA,CAAA;AAClE,EAAA,IAAI,UAAY,EAAA;AACd,IAAA,UAAA,CAAW,SAAY,GAAA,SAAA,CAAA;AAAA,GAClB,MAAA;AACL,IAAA,cAAA,CAAe,IAAK,CAAA;AAAA,MAClB,IAAI,UAAW,CAAA,EAAA;AAAA,MACf,SAAW,EAAA,SAAA;AAAA,MACX,aAAe,EAAA,EAAA;AAAA,MACf,MAAQ,EAAA,IAAA;AAAA,MACR,KAAA,EAAO,CAAa,EAAA,GAAA,YAAA,CAAA,KAAA,KAAb,IAAsB,GAAA,EAAA,GAAA,IAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAIjC,EAAsB,qBAAA,CAAA,sBAAA,CAAuB,gBAAgB,UAAW,CAAA,EAAA,CAAA,CAAA;AAAA,EAAA;AAGnE,MAAM,qBAAqB,MAAM;AACtC,EAAA,MAAM,QAAQ,UAAW,CAAA,iBAAA,CAAA,CAAA;AACzB,EAAM,MAAA;AAAA,IACJ,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,gBAAA;AAAA,IACA,mBAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,iBAAA;AAAA,IACA,oBAAA;AAAA,IACA,cAAA;AAAA,GACE,GAAA,KAAA,CAAA;AACJ,EAAM,MAAA;AAAA,IACJ,UAAA;AAAA,IACA,WAAA;AAAA,IACA,6BAAA;AAAA,IACA,2BAAA;AAAA,IACA,0BAAA;AAAA,GACE,GAAA,UAAA,EAAA,CAAA;AACJ,EAAA,MAAM,CAAE,eAAoB,CAAA,GAAA,UAAA,EAAA,CAAA;AAE5B,EAAM,MAAA,CAAE,iBAAmB,EAAA,mBAAA,EAAqB,iBAAsB,CAAA,GAAA,YAAA,EAAA,CAAA;AACtE,EAAM,MAAA,CAAE,uBAAyB,EAAA,sBAAA,EAAwB,cAAmB,CAAA,GAAA,SAAA,EAAA,CAAA;AAC5E,EAAA,MAAM,CAAE,WAAA,EAAa,MAAW,CAAA,GAAA,WAAA,CAAY,CAAC,KAAoB,KAAA;AAC/D,IAAA,MAAM,CAAE,QAAA,EAAU,IAAM,EAAA,OAAA,EAAS,YAAa,KAAM,CAAA,UAAA,CAAA;AAEpD,IAAO,OAAA;AAAA,MACL,aAAa,OAAQ,CAAA,QAAA,CAAA;AAAA,MACrB,MAAQ,EAAA,UAAA,CAAW,SAAU,CAAA,kBAAA,CAAmB,MAAM,QAAU,CAAA,CAAA,MAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAGpE,EAAA,MAAM,QAAW,GAAA,WAAA,EAAA,CAAA;AACjB,EAAA,MAAM,CAAE,WAAgB,CAAA,GAAA,YAAA,EAAA,CAAA;AACxB,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,MAAM,wBAAwB,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,CAAA;AAE3C,EAAA,IAAI,CAAC,eAAA,IAAmB,CAAC,gBAAA,IAAoB,CAAC,gBAAkB,EAAA;AAC9D,IAAO,OAAA;AAAA,MACL,kBAAkB,MAAM;AAAA,OAAA;AAAA,MACxB,eAAe,MAAM;AAAA,OAAA;AAAA,MACrB,wBAAwB,MAAM;AAAA,OAAA;AAAA,MAC9B,mBAAmB,MAAM;AAAA,OAAA;AAAA,MACzB,mBAAmB,MAAM;AAAA,OAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAI7B,EAAM,MAAA,CAAE,oBAAoB,iBAAsB,CAAA,GAAA,eAAA,CAAA;AAElD,EAAM,MAAA,cAAA,GAAiB,CAAC,SAA8B,KAAA;AACpD,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,WAAY,CAAA,SAAA,CAAA,CAAA;AAC9B,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,QAAS,CAAA,MAAA,EAAA,CAAA;AAC3B,IAAkB,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAGpB,EAAM,MAAA,iBAAA,GAAoB,CAAC,YAAoC,KAAA;AAC7D,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,cAAe,CAAA,YAAA,CAAA,CAAA;AACjC,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,QAAS,CAAA,MAAA,EAAA,CAAA;AAC3B,IAAkB,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAMpB,EAAA,MAAM,mBAAmB,CAAC;AAAA,IACxB,QAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,iBAAA;AAAA,GAMI,KAAA;AA7pBR,IAAA,IAAA,EAAA,CAAA;AA8pBI,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,SAAW,EAAA,CAAA,EAAA,GAAA,eAAA,CAAgB,YAAa,CAAA,gBAAA,KAA7B,IAAiD,GAAA,EAAA,GAAA,EAAA;AAAA,KAAA,CAAA;AAG9D,IAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,MAAA,MAAA,CAAO,OAAO,SAAW,EAAA;AAAA,QACvB,OAAA,EAAS,gBAAgB,cAAe,CAAA;AAAA,UACtC,OAAS,EAAA,EAAA;AAAA,UACT,YAAc,EAAA,EAAA;AAAA,UACd,eAAiB,EAAA,oBAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAKvB,IAAA,MAAM,YAAe,GAAA,uBAAA,CACnB,QACA,EAAA,IAAA,EACA,mBACA,KACA,CAAA,EAAA,SAAA,CAAA,CAAA;AAGF,IAAA,cAAA,CAAe,QAAS,CAAA,EAAA,CAAA,CAAA;AACxB,IAAA,MAAM,gBAAgB,mBAAoB,CAAA,YAAA,CAAA,CAAA;AAC1C,IAAA,mBAAA,CAAoB,cAAe,CAAA,GAAA,EAAK,QAAU,EAAA,YAAA,EAAc,MAAM,aAAe,EAAA,MAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAIvF,EAAA,MAAM,gBAAgB,CAAC;AAAA,IACrB,OAAA;AAAA,IACA,IAAA;AAAA,IACA,OAAA;AAAA,IACA,iBAAA;AAAA,IACA,IAAA;AAAA,IACA,cAAA;AAAA,GAQI,KAAA;AAxsBR,IAAA,IAAA,EAAA,CAAA;AAysBI,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,SAAW,EAAA,CAAA,EAAA,GAAA,eAAA,CAAgB,YAAa,CAAA,gBAAA,KAA7B,IAAiD,GAAA,EAAA,GAAA,EAAA;AAAA,KAAA,CAAA;AAG9D,IAAA,IAAI,sBAAsB,IAAM,EAAA;AAC9B,MAAA,MAAA,CAAO,OAAO,SAAW,EAAA;AAAA,QACvB,OAAA,EAAS,gBAAgB,cAAe,CAAA;AAAA,UACtC,OAAS,EAAA,EAAA;AAAA,UACT,YAAc,EAAA,iBAAA;AAAA,UACd,eAAiB,EAAA,oBAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAIvB,IAAA,MAAM,mBAAmB,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA;AAE1C,IAAA,MAAM,aAAa,cAAK,CAAA,EAAA,EAAA,OAAA,CAAA,CAAA;AACxB,IAAM,MAAA,CAAE,WAAW,YAAiB,CAAA,GAAA,yBAAA,CAClC,YACA,IACA,EAAA,iBAAA,EACA,QACA,SACA,EAAA,cAAA,CAAA,CAAA;AAIF,IACE,IAAA,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,6BACR,OAAO,SAAA,CAAU,UAAU,QAC3B,IAAA,SAAA,CAAU,KAAQ,GAAA,MAAA,CAAO,wBACzB,EAAA;AACA,MAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,CAAE,0BAA4B,EAAA,CAAE,KAAK,MAAO,CAAA,wBAAA,CAAA,CAAA,CAAA,CAAA;AACzD,MAAA,gBAAA,CAAiB,cAAc,SAAU,CAAA,EAAA,CAAA,CAAA;AACzC,MAAA,OAAA;AAAA,KAAA;AAGF,IAAI,IAAA,cAAA,kDAAgC,MAAQ,CAAA,EAAA;AAC1C,MAAA,UAAA,CAAW,SAAY,GAAA,YAAA,CAAA;AAAA,KAAA;AAGzB,IAAM,MAAA,WAAA,GAAc,cAAe,CAAA,QAAA,CAAS,UAAW,CAAA,SAAA,CAAA,CAAA;AACvD,IAAA,MAAM,oBAAoB,gBAAiB,CAAA,SAAA,CAAA,CAAA;AAG3C,IAAA,IAAI,WAAa,EAAA;AACf,MAAe,cAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KACV,MAAA;AACL,MAAA,cAAA,CAAe,SAAU,CAAA,EAAA,CAAA,CAAA;AACzB,MAAiB,gBAAA,CAAA,cAAA,CAAe,CAAC,UAAW,CAAA,EAAA,CAAA,CAAA,CAAA;AAC5C,MAAA,mBAAA,CAAoB,cAAe,CAAA,GAAA,EAAK,UAAY,EAAA,SAAA,EAAW,IAAM,EAAA,iBAAA,CAAA,CAAA;AACrE,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAmB,kBAAA,CAAA,SAAA,EAAW,YAAY,eAAiB,EAAA,gBAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAI/D,IAAA,UAAA,CAAW,CAAE,YAAc,EAAA,SAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAI7B,EAAA,MAAM,yBAAyB,CAAC;AAAA,IAC9B,cAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,aAAA;AAAA,GAMI,KAAA;AACJ,IAAA,MAAM,YAAY,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,YAAA,CAAA;AACnC,IAAA,IAAI,WAAY,CAAA,MAAA,KAAW,CAAK,IAAA,CAAC,SAAW,EAAA;AAC1C,MAAA,OAAA;AAAA,KAAA;AAEF,IAAI,IAAA,cAAA,gDAA+B,IAAM,CAAA,EAAA;AACvC,MAAM,MAAA,SAAA,GAAY,0CAAkB,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,CAAA;AACjD,MAAA,SAAA,CAAU,cAAe,CAAA,WAAA,CAAA,CAAA;AACzB,MAAA,MAAM,UAAU,SAAU,CAAA,eAAA,CAAA;AAC1B,MAAI,IAAA,WAAA,CAAY,MAAW,KAAA,CAAA,IAAK,SAAW,EAAA;AACzC,QAAA,mBAAA,CAAoB,cAAe,CAAA,GAAA,EAAK,OAAS,EAAA,SAAA,EAAW,KAAW,CAAA,EAAA,iBAAA,CAAA,CAAA;AACvE,QAAA,OAAA;AAAA,OAAA;AAAA,KAAA;AAIJ,IAAA,IAAI,qBAAqB,cAAgB,EAAA;AACvC,MAAI,IAAA,WAAA,CAAY,WAAW,CAAG,EAAA;AAC5B,QAAA,MAAM,eAAe,iBAAqB,IAAA,IAAA,GAAA,iBAAA,GAAA,cAAA,CAAA;AAC1C,QAAA,SAAA,CAAU,cAAc,WAAY,CAAA,CAAA,CAAA,CAAA,CAAA;AACpC,QAAA,MAAM,QAAQ,SAAU,CAAA,aAAA,CAAA;AACxB,QAAA,IAAI,YAAc,EAAA;AAChB,UAAA,mBAAA,CACE,cAAe,CAAA,GAAA,EACf,KACA,EAAA,YAAA,EACA,QACA,aACA,EAAA,MAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAaV,EAAA,MAAM,aAAgB,GAAA,CAAC,UAAiB,EAAA,aAAA,EAAoB,QAAqB,KAAA;AAC/E,IAAA,IAAI,qBAAuB,EAAA;AACzB,MAAI,IAAA,mBAAA,CAAA;AACJ,MAAI,IAAA,YAAA,CAAA;AAGJ,MAAQ,QAAA,QAAA;AAAA,QAAA,KACD,cAAe,CAAA,IAAA;AAClB,UAAsB,mBAAA,GAAA,0BAAA,CAAA;AACtB,UAAA,MAAA;AAAA,QAAA,KACG,cAAe,CAAA,IAAA;AAClB,UAAsB,mBAAA,GAAA,0BAAA,CAAA;AACtB,UAAA,MAAA;AAAA,QAAA;AAGA,UAAsB,mBAAA,GAAA,0BAAA,CAAA;AACtB,UAAA,MAAA;AAAA,OAAA;AAGJ,MAAA,YAAA,GAAe,mBACb,CAAA,UAAA,EACA,aACA,EAAA,qBAAA,EACA,gBAAiB,CAAA,kBAAA,CAAA,CAAA;AAGnB,MAAA,IAAI,gBAAkB,EAAA;AACpB,QAAA,MAAM,CAAE,KAAU,CAAA,GAAA,gBAAA,CAAiB,4BACjC,CAAA,0BAAA,CAA2B,cAAc,gBACzC,EAAA;AAAA,UACE,YAAa,CAAA,MAAA,CAAO,CAAI,GAAA,YAAA,CAAa,KAAQ,GAAA,CAAA;AAAA,UAC7C,YAAa,CAAA,MAAA,CAAO,CAAI,GAAA,YAAA,CAAa,KAAQ,GAAA,CAAA;AAAA,SAAA,CAAA,CAAA;AAIjD,QAAA,YAAA,GAAe,iCACV,YADU,CAAA,EAAA;AAAA,UAEb,KAAA;AAAA,SAAA,CAAA,CAAA;AAAA,OAAA;AAIJ,MAAA,MAAM,oBAAoB,iBAAkB,CAAA,YAAA,CAAA,CAAA;AAC5C,MAAoB,mBAAA,CAAA,QAAA,EAAU,UAAY,EAAA,YAAA,EAAc,KAAW,CAAA,EAAA,iBAAA,CAAA,CAAA;AACnE,MAAO,OAAA,iBAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIX,EAAA,MAAM,eAAkB,GAAA,CAAC,QAAsB,EAAA,WAAA,EAAyB,QAAqB,KAAA;AAC3F,IAAA,IAAI,cAAgB,EAAA;AAClB,MAAI,IAAA,mBAAA,CAAA;AACJ,MAAI,IAAA,eAAA,CAAA;AAGJ,MAAQ,QAAA,QAAA;AAAA,QAAA,KACD,cAAe,CAAA,IAAA;AAClB,UAAsB,mBAAA,GAAA,wBAAA,CAAA;AACtB,UAAA,MAAA;AAAA,QAAA,KACG,cAAe,CAAA,IAAA;AAClB,UAAsB,mBAAA,GAAA,wBAAA,CAAA;AACtB,UAAA,MAAA;AAAA,QAAA;AAGA,UAAsB,mBAAA,GAAA,wBAAA,CAAA;AACtB,UAAA,MAAA;AAAA,OAAA;AAGJ,MAAkB,eAAA,GAAA,mBAAA,CAAoB,UAAU,WAAa,EAAA,cAAA,CAAA,CAAA;AAE7D,MAAA,MAAM,gBAAgB,sBAAuB,CAAA,eAAA,CAAA,CAAA;AAC7C,MAAA,mBAAA,CAAoB,QAAU,EAAA,QAAA,EAAU,eAAiB,EAAA,KAAA,CAAA,EAAW,aAAe,EAAA,MAAA,CAAA,CAAA;AACnF,MAAO,OAAA,aAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAGX,EAAM,MAAA,mBAAA,GAAsB,CAAC,QAAA,EAAsB,WAA4B,KAAA;AAC7E,IAAgB,eAAA,CAAA,QAAA,EAAU,aAAa,cAAe,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGxD,EAAM,MAAA,mBAAA,GAAsB,CAAC,QAAA,EAAsB,WAA4B,KAAA;AAC7E,IAAgB,eAAA,CAAA,QAAA,EAAU,aAAa,cAAe,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGxD,EAAM,MAAA,iBAAA,GAAoB,CAAC,UAAA,EAAiB,aAAuB,KAAA;AACjE,IAAc,aAAA,CAAA,UAAA,EAAY,eAAe,cAAe,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAG1D,EAAM,MAAA,iBAAA,GAAoB,CAAC,UAAA,EAAiB,aAAuB,KAAA;AACjE,IAAc,aAAA,CAAA,UAAA,EAAY,eAAe,cAAe,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAG1D,EAAM,MAAA,iBAAA,GAAoB,CAAC,UAAA,EAAmB,IAAgB,KAAA;AAK5D,IAA2B,0BAAA,CAAA,UAAA,CAAA,CAAA;AAC3B,IAAA,OAAA;AAAA,GAAA,CAAA;AAEF,EAAM,MAAA,kBAAA,GAAqB,CAAC,WAAA,EAAyB,IAAgB,KAAA;AACnE,IAAA,MAAM,CAAE,CAAG,EAAA,KAAA,EAAO,GAAG,KAAU,CAAA,GAAA,eAAA,CAAgB,qBAAqB,WAAa,EAAA,IAAA,CAAA,CAAA;AACjF,IAAA,2BAAA,CAA4B,aAAK,CAAA,cAAA,CAAA,EAAA,EAAA,WAAA,CAAA,EAAL,CAAkB,CAAA,EAAG,OAAO,CAAG,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAE3D,IAAM,MAAA,gBAAA,GAAmB,wBAAwB,WAAY,CAAA,EAAA,CAAA,CAAA;AAC7D,IAAA,MAAM,eAAkB,GAAA,uBAAA,CACtB,WACA,EAAA,IAAA,EACA,iBACA,EAAA,gBAAA,CAAA,CAAA;AAGF,IAAA,MAAM,0BAA0B,sBAAuB,CAAA,eAAA,CAAA,CAAA;AACvD,IAAA,mBAAA,CACE,cAAe,CAAA,GAAA,EACf,WACA,EAAA,eAAA,EACA,QACA,uBACA,EAAA,MAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAQJ,EAAM,MAAA,gBAAA,GAAmB,CAAC,UAAA,EAAqC,IAAgB,KAAA;AAE7E,IAAA,IAAI,eAAiB,EAAA;AAInB,MAAM,MAAA,OAAA,GAAU,WAAW,CAAG,CAAA,CAAA,UAAA,CAAA;AAC9B,MAAQ,OAAA,CAAA,SAAA,GAAY,QAAQ,SAAU,CAAA,GAAA,CAAI,CAAC,CACzC,KAAA,eAAA,CAAgB,qBAAqB,CAAG,EAAA,IAAA,CAAA,CAAA,CAAA;AAG1C,MAAA,6BAAA,CAA8B,WAAW,CAAG,CAAA,CAAA,UAAA,CAAA,CAAA;AAC5C,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,MAAM,uBAAyC,UAAW,CAAA,GAAA,CAAI,CAAC,CAAE,YAAY,OAAc,CAAA,KAAA;AACzF,MAAM,MAAA,aAAA,GAAgB,kBAAkB,OAAQ,CAAA,EAAA,CAAA,CAAA;AAEhD,MAAA,MAAM,CAAE,SAAc,CAAA,GAAA,yBAAA,CACpB,OACA,EAAA,IAAA,EACA,gBAAgB,kBAChB,EAAA,aAAA,CAAA,CAAA;AAGF,MAAO,OAAA,SAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAOT,IAAI,IAAA,oBAAA,CAAqB,WAAW,CAAG,EAAA;AACrC,MAAM,MAAA,CAAE,UAAY,EAAA,OAAA,CAAA,GAAY,UAAW,CAAA,CAAA,CAAA,CAAA;AAC3C,MAAA,MAAM,uBAAuB,mBAAoB,CAAA,oBAAA,CAAA,CAAA;AAEjD,MAAA,mBAAA,CACE,cAAe,CAAA,GAAA,EACf,OACA,EAAA,oBAAA,CAAqB,IACrB,KACA,CAAA,EAAA,oBAAA,CAAA,CAAA;AAAA,KAEG,MAAA;AACL,MAAA,MAAM,uBAAuB,mBAAoB,CAAA,oBAAA,CAAA,CAAA;AACjD,MAAA,IAAI,oBAAsB,EAAA;AACxB,QAAA,KAAA,CAAM,0BAA2B,CAAA,oBAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAQvC,EAAA,MAAM,sBAAsB,CAC1B,QAAA,EACA,OACA,YACA,EAAA,IAAA,EACA,yBACA,OACG,KAAA,OAAA,CAAAA,SAAA,EAAA,IAAA,EAAA,aAAA;AACH,IAAA,MAAM,UAAU,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,GAAA,CAAA;AAE7B,IAAA,MAAM,eAAkB,GAAA;AAAA,MACrB,CAAA,cAAA,CAAe,OAAO,MAAM;AAC3B,QAAoB,mBAAA,CAAA,YAAA,EAAc,KAAO,EAAA,gBAAA,EAAkB,OAAS,EAAA,OAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAErE,CAAA,cAAA,CAAe,OAAO,MAAM;AAC3B,QAAA,IAAI,gBAAkB,EAAA;AACpB,UAAoB,mBAAA,CAAA,YAAA,EAAc,KAAO,EAAA,gBAAA,EAAkB,OAAS,EAAA,OAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,MAGvE,CAAA,cAAA,CAAe,MAAM,MAAM;AAC1B,QAAmB,kBAAA,CAAA,YAAA,EAAc,OAAO,eAAiB,EAAA,gBAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAI7D,IAAA,MAAA,CAAO,IAAK,CAAA,eAAA,CAAA,CAAiB,OAAQ,CAAA,CAAC,GAAQ,KAAA;AAC5C,MAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,QAAgB,eAAA,CAAA,GAAA,CAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAGpB,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAErC,IAAkB,iBAAA,CAAA,YAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAQpB,EAAA,MAAM,sBAAsB,CAC1B,QAAA,EACA,OACA,EAAA,SAAA,EACA,MACA,oBACG,KAAA,OAAA,CAAAA,SAAA,EAAA,IAAA,EAAA,aAAA;AACH,IAAA,MAAM,UAAU,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,GAAA,CAAA;AAC7B,IAAA,IAAI,oBAAsB,EAAA;AAExB,MAAA,MAAM,MAAM,0BAA2B,CAAA,oBAAA,CAAA,CAAA;AAAA,KAAA;AAEzC,IAAA,MAAM,eAAkB,GAAA;AAAA,MACrB,CAAA,cAAA,CAAe,OAAO,MAAM;AAC3B,QAAoB,mBAAA,CAAA,SAAA,EAAW,SAAS,gBAAkB,EAAA,OAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAE3D,CAAA,cAAA,CAAe,OAAO,MAAM;AAC3B,QAAA,IAAI,gBAAkB,EAAA;AACpB,UAAoB,mBAAA,CAAA,SAAA,EAAW,SAAS,gBAAkB,EAAA,OAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,MAG7D,CAAA,cAAA,CAAe,MAAM,MAAM;AAC1B,QAAmB,kBAAA,CAAA,SAAA,EAAW,SAAS,eAAiB,EAAA,gBAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAI5D,IAAA,MAAA,CAAO,IAAK,CAAA,eAAA,CAAA,CAAiB,OAAQ,CAAA,CAAC,GAAQ,KAAA;AAC5C,MAAA,IAAI,QAAQ,QAAU,EAAA;AACpB,QAAgB,eAAA,CAAA,GAAA,CAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAIpB,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAGrC,IAAe,cAAA,CAAA,SAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAGjB,EAAM,MAAA,wBAAA,GAA2B,CAAC,QAA+B,KAAA;AAC/D,IAAA,eAAA,CAAgB,iBAAkB,CAAA,QAAA,CAAA,CAAA;AAClC,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,aAAc,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGlC,EAAM,MAAA,gBAAA,GAAmB,CAAC,IAAgB,KAAA;AACxC,IAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,MAAM,kBAAqB,GAAA;AAAA,MACzB,IAAA,EAAM,CAAC,IAAA,CAAK,KAAQ,GAAA,CAAA;AAAA,MACpB,KAAA,EAAO,KAAK,KAAQ,GAAA,CAAA;AAAA,MACpB,GAAA,EAAK,KAAK,MAAS,GAAA,CAAA;AAAA,MACnB,MAAA,EAAQ,CAAC,IAAA,CAAK,MAAS,GAAA,CAAA;AAAA,MACvB,IAAM,EAAA,GAAA;AAAA,MACN,GAAK,EAAA,CAAA,GAAA;AAAA,KAAA,CAAA;AAGP,IAAA,gBAAA,CAAiB,sBAAuB,CAAA,kBAAA,CAAA,CAAA;AACxC,IAAiB,gBAAA,CAAA,YAAA,EAAA,CAAA;AACjB,IAAiB,gBAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAOnB,EAAA,MAAM,oBAAuB,GAAA,CAAA,GAAiC,EAA1B,KAAA,OAAA,CAAAA,SAAA,EAAA,CAAA,GAAA,EAAA,CAAA,EAAA,WAAA,OAAA,GAAU,WAAgB,EAAA;AAnlChE,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAolCI,IAAA,IAAI,EAAC,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,GAAO,CAAA,IAAA,CAAC,gBAAkB,EAAA;AACtC,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,oBAAA,CAAqB,QAAU,EAAA,IAAA,CAAA,CAAA;AAC/B,IAAA,MAAM,iBAAiB,WAAY,CAAA,OAAA,CAAQ,GAAK,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,WAAR,IAAkB,GAAA,EAAA,GAAA,cAAA,CAAA,CAAA;AAGlE,IAAkB,iBAAA,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AAC/B,MAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,mBAAmB,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGzC,IAAqB,oBAAA,CAAA,OAAA,CAAQ,CAAC,CAAyB,KAAA;AACrD,MAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,mBAAmB,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGzC,IAAA,IAAI,aAAuB,GAAA,EAAA,CAAA;AAC3B,IAAA,IAAI,QAAkB,GAAA,EAAA,CAAA;AACtB,IAAA,IAAI,WAAc,GAAA,EAAA,CAAA;AAClB,IAAA,IAAI,gBAAwC,GAAA,EAAA,CAAA;AAC5C,IAAA,IAAI,YAAY,MAAQ,EAAA;AACtB,MAAgB,aAAA,GAAA,eAAA,CAAgB,2BAA2B,WAAY,CAAA,MAAA,CAAA,CAAA;AACvE,MAAc,WAAA,GAAA,eAAA,CAAgB,6BAA6B,WAAY,CAAA,MAAA,CAAA,CAAA;AACvE,MAAW,QAAA,GAAA,eAAA,CAAgB,0BAA0B,WAAY,CAAA,MAAA,CAAA,CAAA;AACjE,MAAmB,gBAAA,GAAA,eAAA,CAAgB,8BAA8B,WAAY,CAAA,MAAA,CAAA,CAAA;AAG7E,MAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAsB,KAAA;AAC3C,QAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,WAAY,CAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGhC,MAAiB,gBAAA,CAAA,OAAA,CAAQ,CAAC,CAAyB,KAAA;AACjD,QAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,cAAe,CAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGnC,MAAA,KAAA,CAAM,0BAA2B,CAAA,aAAA,CAAA,CAAA;AACjC,MAAA,KAAA,CAAM,mBAAoB,CAAA,aAAA,CAAA,CAAA;AAC1B,MAAA,KAAA,CAAM,cAAe,CAAA,WAAA,CAAA,CAAA;AACrB,MAAA,KAAA,CAAM,WAAY,CAAA,QAAA,CAAA,CAAA;AAClB,MAAA,KAAA,CAAM,uBAAwB,CAAA,gBAAA,CAAA,CAAA;AAAA,KACzB,MAAA;AACL,MAAA,KAAA,CAAM,mBAAoB,CAAA,EAAA,CAAA,CAAA;AAC1B,MAAA,KAAA,CAAM,cAAe,CAAA,EAAA,CAAA,CAAA;AACrB,MAAA,KAAA,CAAM,uBAAwB,CAAA,EAAA,CAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,WAAY,CAAA,EAAA,CAAA,CAAA;AAAA,KAAA;AAEpB,IAAY,WAAA,CAAA,CAAE,mBAAmB,aAAe,EAAA,WAAA,CAAA,CAAA,CAAA;AAEhD,IAAiB,gBAAA,CAAA,eAAA,EAAA,CAAA;AAEjB,IAAA,MAAM,QAAQ,CAAW,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,OAAA,CAAQ,MAAnB,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA4B,UAA5B,IAAqC,GAAA,EAAA,GAAA,IAAA,CAAA;AACnD,IAAA,KAAA,CAAM,kBAAmB,CAAA,KAAA,CAAA,CAAA;AAGzB,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,qBAAN,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,EAAA,CAAA;AACxB,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,qBAAN,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,YAAA,EAAA,CAAA;AASxB,IAAA,eAAA,CAAgB,UAAW,CAAA,OAAA,CAAQ,GAAK,EAAA,OAAA,CAAQ,MAAQ,EAAA;AAAA,MACtD,MAAA,EAAQ,CAAQ,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,MAAA,KAAR,IAAkB,GAAA,EAAA,GAAA,cAAA;AAAA,KAAA,CAAA,CAAA;AAE5B,IAAA,oBAAA,CAAqB,QAAU,EAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAGjC,EAAO,OAAA;AAAA,IACL,gBAAA;AAAA,IACA,aAAA;AAAA,IACA,sBAAA;AAAA,IACA,kBAAA;AAAA,IACA,mBAAA;AAAA,IACA,mBAAA;AAAA,IACA,gBAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,iBAAA;AAAA,IACA,wBAAA;AAAA,IACA,gBAAA;AAAA,IACA,oBAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1,70 @@
1
- import{useContext as c}from"react";import{PointCloudContext as P}from"../PointCloudContext.js";import{useHistory as u}from"./useHistory.js";var f=Object.defineProperty,g=Object.defineProperties,_=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,a=(e,o,t)=>o in e?f(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,p=(e,o)=>{for(var t in o||(o={}))m.call(o,t)&&a(e,t,o[t]);if(l)for(var t of l(o))O.call(o,t)&&a(e,t,o[t]);return e},w=(e,o)=>g(e,_(o));const v=()=>{const{polygonList:e,setPolygonList:o,selectedID:t}=c(P),{addHistory:d,pushHistoryWithList:y}=u(),i=e.find(r=>r.id===t);return{addPolygon:r=>{o(e.concat(r)),d({newPolygon:r})},deletePolygon:r=>{const s=e.filter(n=>n.id!==r).map(n=>p({},n));o(s),y({polygonList:s})},selectedPolygon:i,updateSelectedPolygon:r=>{i&&o(e.map(s=>s.id===t?r:s))},updatePolygonValidByID:r=>{e.find(n=>n.id===r)&&o(e.map(n=>n.id===r?w(p({},n),{valid:!n.valid}):n))}}};export{v as usePolygon};
1
+ import { useContext } from 'react';
2
+ import { PointCloudContext } from '../PointCloudContext.js';
3
+ import { useHistory } from './useHistory.js';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __defProps = Object.defineProperties;
7
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
12
+ var __spreadValues = (a, b) => {
13
+ for (var prop in b || (b = {}))
14
+ if (__hasOwnProp.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ if (__getOwnPropSymbols)
17
+ for (var prop of __getOwnPropSymbols(b)) {
18
+ if (__propIsEnum.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ }
21
+ return a;
22
+ };
23
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
+ const usePolygon = () => {
25
+ const {polygonList, setPolygonList, selectedID} = useContext(PointCloudContext);
26
+ const {addHistory, pushHistoryWithList} = useHistory();
27
+ const selectedPolygon = polygonList.find((v) => v.id === selectedID);
28
+ const addPolygon = (polygon) => {
29
+ setPolygonList(polygonList.concat(polygon));
30
+ addHistory({newPolygon: polygon});
31
+ };
32
+ const deletePolygon = (id) => {
33
+ const newPolygonList = polygonList.filter((v) => v.id !== id).map((v) => __spreadValues({}, v));
34
+ setPolygonList(newPolygonList);
35
+ pushHistoryWithList({polygonList: newPolygonList});
36
+ };
37
+ const updateSelectedPolygon = (polygon) => {
38
+ if (selectedPolygon) {
39
+ setPolygonList(polygonList.map((v) => {
40
+ if (v.id === selectedID) {
41
+ return polygon;
42
+ }
43
+ return v;
44
+ }));
45
+ }
46
+ };
47
+ const updatePolygonValidByID = (id) => {
48
+ const polygon = polygonList.find((v) => v.id === id);
49
+ if (polygon) {
50
+ setPolygonList(polygonList.map((v) => {
51
+ if (v.id === id) {
52
+ return __spreadProps(__spreadValues({}, v), {
53
+ valid: !v.valid
54
+ });
55
+ }
56
+ return v;
57
+ }));
58
+ }
59
+ };
60
+ return {
61
+ addPolygon,
62
+ deletePolygon,
63
+ selectedPolygon,
64
+ updateSelectedPolygon,
65
+ updatePolygonValidByID
66
+ };
67
+ };
68
+
69
+ export { usePolygon };
70
+ //# sourceMappingURL=usePolygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePolygon.js","sources":["../../../../src/components/pointCloudView/hooks/usePolygon.ts"],"sourcesContent":["import { IPolygonData } from '@labelbee/lb-utils';\nimport { useContext } from 'react';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { useHistory } from './useHistory';\n\n/**\n * PointCloud Polygon Hook\n * @returns\n */\nexport const usePolygon = () => {\n const { polygonList, setPolygonList, selectedID } = useContext(PointCloudContext);\n const { addHistory, pushHistoryWithList } = useHistory();\n\n const selectedPolygon = polygonList.find((v) => v.id === selectedID);\n\n const addPolygon = (polygon: IPolygonData) => {\n setPolygonList(polygonList.concat(polygon));\n addHistory({ newPolygon: polygon });\n };\n\n const deletePolygon = (id: string) => {\n const newPolygonList = polygonList.filter((v) => v.id !== id).map((v) => ({ ...v }));\n setPolygonList(newPolygonList);\n pushHistoryWithList({ polygonList: newPolygonList });\n };\n\n const updateSelectedPolygon = (polygon: IPolygonData) => {\n if (selectedPolygon) {\n setPolygonList(\n polygonList.map((v) => {\n if (v.id === selectedID) {\n return polygon;\n }\n return v;\n }),\n );\n }\n };\n\n const updatePolygonValidByID = (id: string) => {\n const polygon = polygonList.find((v) => v.id === id);\n if (polygon) {\n setPolygonList(\n polygonList.map((v) => {\n if (v.id === id) {\n return {\n ...v,\n valid: !v.valid,\n };\n }\n return v;\n }),\n );\n }\n };\n\n return {\n addPolygon,\n deletePolygon,\n selectedPolygon,\n updateSelectedPolygon,\n updatePolygonValidByID,\n };\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AASO,MAAM,aAAa,MAAM;AAC9B,EAAA,MAAM,CAAE,WAAA,EAAa,cAAgB,EAAA,UAAA,CAAA,GAAe,UAAW,CAAA,iBAAA,CAAA,CAAA;AAC/D,EAAM,MAAA,CAAE,YAAY,mBAAwB,CAAA,GAAA,UAAA,EAAA,CAAA;AAE5C,EAAA,MAAM,kBAAkB,WAAY,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,UAAA,CAAA,CAAA;AAEzD,EAAM,MAAA,UAAA,GAAa,CAAC,OAA0B,KAAA;AAC5C,IAAA,cAAA,CAAe,YAAY,MAAO,CAAA,OAAA,CAAA,CAAA,CAAA;AAClC,IAAA,UAAA,CAAW,CAAE,UAAY,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAG3B,EAAM,MAAA,aAAA,GAAgB,CAAC,EAAe,KAAA;AACpC,IAAM,MAAA,cAAA,GAAiB,WAAY,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAE,CAAA,EAAA,KAAO,EAAI,CAAA,CAAA,GAAA,CAAI,CAAC,CAAA,KAAO,cAAK,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AAC/E,IAAe,cAAA,CAAA,cAAA,CAAA,CAAA;AACf,IAAA,mBAAA,CAAoB,CAAE,WAAa,EAAA,cAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAGrC,EAAM,MAAA,qBAAA,GAAwB,CAAC,OAA0B,KAAA;AACvD,IAAA,IAAI,eAAiB,EAAA;AACnB,MACE,cAAA,CAAA,WAAA,CAAY,GAAI,CAAA,CAAC,CAAM,KAAA;AACrB,QAAI,IAAA,CAAA,CAAE,OAAO,UAAY,EAAA;AACvB,UAAO,OAAA,OAAA,CAAA;AAAA,SAAA;AAET,QAAO,OAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAMf,EAAM,MAAA,sBAAA,GAAyB,CAAC,EAAe,KAAA;AAC7C,IAAA,MAAM,UAAU,WAAY,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAA,CAAA,CAAA;AACjD,IAAA,IAAI,OAAS,EAAA;AACX,MACE,cAAA,CAAA,WAAA,CAAY,GAAI,CAAA,CAAC,CAAM,KAAA;AACrB,QAAI,IAAA,CAAA,CAAE,OAAO,EAAI,EAAA;AACf,UAAA,OAAO,iCACF,CADE,CAAA,EAAA;AAAA,YAEL,KAAA,EAAO,CAAC,CAAE,CAAA,KAAA;AAAA,WAAA,CAAA,CAAA;AAAA,SAAA;AAGd,QAAO,OAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAMf,EAAO,OAAA;AAAA,IACL,UAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA,qBAAA;AAAA,IACA,sBAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1,43 @@
1
- import{useContext as p,useCallback as C}from"react";import{synchronizeSideView as m,synchronizeBackView as P}from"./usePointCloudViews.js";import{useSingleBox as w}from"./useSingleBox.js";import{PointCloudContext as x}from"../PointCloudContext.js";import{cAnnotation as b}from"@labelbee/lb-annotation";import{PointCloudUtils as V}from"@labelbee/lb-utils";const{ERotateDirection:f}=b,g=({currentData:t})=>{const o=p(x),{selectedBox:i,updateSelectedBox:u}=w();return{updateRotate:C(l=>{const{topViewInstance:s,mainViewInstance:n,syncAllViewPointCloudColor:d}=o;if(!s||!n)return;const{pointCloud2dOperation:c}=s,e=i==null?void 0:i.info;if(!e||!(t==null?void 0:t.url)||!o.backViewInstance)return;const a=u({rotation:V.restrictAngleRange(e.rotation+Number(Math.PI*l)/180)});c.rotatePolygon(l,f.Anticlockwise);const r=c.selectedPolygon;n.generateBox(e),d(a),m(e,r,o.sideViewInstance,t.url),P(e,r,o.backViewInstance,t.url),n.render()},[o.selectedID,o.pointCloudBoxList,o.setPointCloudResult,o.topViewInstance,t])}};export{g as useRotate};
1
+ import { useContext, useCallback } from 'react';
2
+ import { synchronizeSideView, synchronizeBackView } from './usePointCloudViews.js';
3
+ import { useSingleBox } from './useSingleBox.js';
4
+ import { PointCloudContext } from '../PointCloudContext.js';
5
+ import { cAnnotation } from '@labelbee/lb-annotation';
6
+ import { PointCloudUtils } from '@labelbee/lb-utils';
7
+
8
+ const {ERotateDirection} = cAnnotation;
9
+ const useRotate = ({currentData}) => {
10
+ const ptCtx = useContext(PointCloudContext);
11
+ const {selectedBox, updateSelectedBox} = useSingleBox();
12
+ const updateRotate = useCallback((angle) => {
13
+ const {topViewInstance, mainViewInstance, syncAllViewPointCloudColor} = ptCtx;
14
+ if (!topViewInstance || !mainViewInstance) {
15
+ return;
16
+ }
17
+ const {pointCloud2dOperation: TopPointCloudPolygonOperation} = topViewInstance;
18
+ const selectedPointCloudBox = selectedBox == null ? void 0 : selectedBox.info;
19
+ if (!selectedPointCloudBox || !(currentData == null ? void 0 : currentData.url) || !ptCtx.backViewInstance) {
20
+ return;
21
+ }
22
+ const newPointCloudList = updateSelectedBox({
23
+ rotation: PointCloudUtils.restrictAngleRange(selectedPointCloudBox.rotation + Number(Math.PI * angle) / 180)
24
+ });
25
+ TopPointCloudPolygonOperation.rotatePolygon(angle, ERotateDirection.Anticlockwise);
26
+ const selectedPolygon = TopPointCloudPolygonOperation.selectedPolygon;
27
+ mainViewInstance.generateBox(selectedPointCloudBox);
28
+ syncAllViewPointCloudColor(newPointCloudList);
29
+ synchronizeSideView(selectedPointCloudBox, selectedPolygon, ptCtx.sideViewInstance, currentData.url);
30
+ synchronizeBackView(selectedPointCloudBox, selectedPolygon, ptCtx.backViewInstance, currentData.url);
31
+ mainViewInstance.render();
32
+ }, [
33
+ ptCtx.selectedID,
34
+ ptCtx.pointCloudBoxList,
35
+ ptCtx.setPointCloudResult,
36
+ ptCtx.topViewInstance,
37
+ currentData
38
+ ]);
39
+ return {updateRotate};
40
+ };
41
+
42
+ export { useRotate };
43
+ //# sourceMappingURL=useRotate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRotate.js","sources":["../../../../src/components/pointCloudView/hooks/useRotate.ts"],"sourcesContent":["import { useCallback, useContext } from 'react';\nimport { IAnnotationStateProps } from '@/store/annotation/map';\nimport { synchronizeBackView, synchronizeSideView } from './usePointCloudViews';\nimport { useSingleBox } from './useSingleBox';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { cAnnotation } from '@labelbee/lb-annotation';\nimport { PointCloudUtils } from '@labelbee/lb-utils';\n\nconst { ERotateDirection } = cAnnotation;\n\n/**\n * PointCloud Rotate Hook\n * @returns\n */\nexport const useRotate = ({ currentData }: IAnnotationStateProps) => {\n const ptCtx = useContext(PointCloudContext);\n const { selectedBox, updateSelectedBox } = useSingleBox();\n\n const updateRotate = useCallback(\n (angle: number) => {\n const { topViewInstance, mainViewInstance, syncAllViewPointCloudColor } = ptCtx;\n if (!topViewInstance || !mainViewInstance) {\n return;\n }\n\n const { pointCloud2dOperation: TopPointCloudPolygonOperation } = topViewInstance;\n\n const selectedPointCloudBox = selectedBox?.info;\n\n if (!selectedPointCloudBox || !currentData?.url || !ptCtx.backViewInstance) {\n return;\n }\n\n const newPointCloudList = updateSelectedBox({\n rotation: PointCloudUtils.restrictAngleRange(\n selectedPointCloudBox.rotation + Number(Math.PI * angle) / 180,\n ),\n });\n\n TopPointCloudPolygonOperation.rotatePolygon(angle, ERotateDirection.Anticlockwise);\n const selectedPolygon = TopPointCloudPolygonOperation.selectedPolygon;\n\n mainViewInstance.generateBox(selectedPointCloudBox);\n syncAllViewPointCloudColor(newPointCloudList);\n synchronizeSideView(\n selectedPointCloudBox,\n selectedPolygon,\n ptCtx.sideViewInstance,\n currentData.url,\n );\n synchronizeBackView(\n selectedPointCloudBox,\n selectedPolygon,\n ptCtx.backViewInstance,\n currentData.url,\n );\n mainViewInstance.render();\n },\n [\n ptCtx.selectedID,\n ptCtx.pointCloudBoxList,\n ptCtx.setPointCloudResult,\n ptCtx.topViewInstance,\n currentData,\n ],\n );\n\n return { updateRotate };\n};\n"],"names":[],"mappings":";;;;;;;AAQA,MAAM,CAAE,gBAAqB,CAAA,GAAA,WAAA,CAAA;AAMhB,MAAA,SAAA,GAAY,CAAC,CAAE,WAAyC,CAAA,KAAA;AACnE,EAAA,MAAM,QAAQ,UAAW,CAAA,iBAAA,CAAA,CAAA;AACzB,EAAM,MAAA,CAAE,aAAa,iBAAsB,CAAA,GAAA,YAAA,EAAA,CAAA;AAE3C,EAAM,MAAA,YAAA,GAAe,WACnB,CAAA,CAAC,KAAkB,KAAA;AACjB,IAAM,MAAA,CAAE,eAAiB,EAAA,gBAAA,EAAkB,0BAA+B,CAAA,GAAA,KAAA,CAAA;AAC1E,IAAI,IAAA,CAAC,eAAmB,IAAA,CAAC,gBAAkB,EAAA;AACzC,MAAA,OAAA;AAAA,KAAA;AAGF,IAAM,MAAA,CAAE,uBAAuB,6BAAkC,CAAA,GAAA,eAAA,CAAA;AAEjE,IAAA,MAAM,wBAAwB,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,CAAA;AAE3C,IAAA,IAAI,CAAC,qBAAyB,IAAA,6CAAc,GAAO,CAAA,IAAA,CAAC,MAAM,gBAAkB,EAAA;AAC1E,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,MAAM,oBAAoB,iBAAkB,CAAA;AAAA,MAC1C,QAAA,EAAU,gBAAgB,kBACxB,CAAA,qBAAA,CAAsB,WAAW,MAAO,CAAA,IAAA,CAAK,KAAK,KAAS,CAAA,GAAA,GAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAI/D,IAA8B,6BAAA,CAAA,aAAA,CAAc,OAAO,gBAAiB,CAAA,aAAA,CAAA,CAAA;AACpE,IAAA,MAAM,kBAAkB,6BAA8B,CAAA,eAAA,CAAA;AAEtD,IAAA,gBAAA,CAAiB,WAAY,CAAA,qBAAA,CAAA,CAAA;AAC7B,IAA2B,0BAAA,CAAA,iBAAA,CAAA,CAAA;AAC3B,IAAA,mBAAA,CACE,qBACA,EAAA,eAAA,EACA,KAAM,CAAA,gBAAA,EACN,WAAY,CAAA,GAAA,CAAA,CAAA;AAEd,IAAA,mBAAA,CACE,qBACA,EAAA,eAAA,EACA,KAAM,CAAA,gBAAA,EACN,WAAY,CAAA,GAAA,CAAA,CAAA;AAEd,IAAiB,gBAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GAEnB,EAAA;AAAA,IACE,KAAM,CAAA,UAAA;AAAA,IACN,KAAM,CAAA,iBAAA;AAAA,IACN,KAAM,CAAA,mBAAA;AAAA,IACN,KAAM,CAAA,eAAA;AAAA,IACN,WAAA;AAAA,GAAA,CAAA,CAAA;AAIJ,EAAA,OAAO,CAAE,YAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +1,168 @@
1
- import{useContext as k,useMemo as O,useCallback as u}from"react";import a from"lodash";import{PointCloudContext as q}from"../PointCloudContext.js";import{cAnnotation as z}from"@labelbee/lb-annotation";import{useHistory as F}from"./useHistory.js";import{usePolygon as G}from"./usePolygon.js";var J=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,V=(e,i,n)=>i in e?J(e,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[i]=n,Y=(e,i)=>{for(var n in i||(i={}))U.call(i,n)&&V(e,n,i[n]);if(_)for(var n of _(i))X.call(i,n)&&V(e,n,i[n]);return e},Z=(e,i)=>K(e,Q(i));const{ESortDirection:D}=z,$=()=>{const{pointCloudBoxList:e,setPointCloudResult:i,topViewInstance:n,backViewInstance:y,sideViewInstance:g,selectedIDs:f,selectedID:v,mainViewInstance:s,setSelectedIDs:b,syncAllViewPointCloudColor:C,polygonList:h}=k(q),{selectedPolygon:c,updateSelectedPolygon:L,updatePolygonValidByID:S,deletePolygon:j}=G(),{pushHistoryWithList:m}=F(),l=O(()=>{const o=e.findIndex(t=>t.id===v);if(o>-1)return{info:e[o],index:o}},[v,e]),B=u(o=>{if(l==null?void 0:l.info){e.splice(l.index,1,a.merge(l.info,o));const t=a.cloneDeep(e);return i(t),m({pointCloudBoxList:t}),t}return e},[v,e]),A=u((o,t)=>{const d=e.findIndex(r=>r.id===t);if(d>-1){e.splice(d,1,a.merge(e[d],o));const r=a.cloneDeep(e);return i(r),r}return e},[e]),P=u(o=>{n==null||n.pointCloud2dOperation.setPolygonValidAndRender(o,!0),g==null||g.pointCloud2dOperation.setPolygonValidAndRender(o,!0),y==null||y.pointCloud2dOperation.setPolygonValidAndRender(o,!0)},[n,g,y]),N=u(()=>{if(l==null?void 0:l.info){const{id:o,valid:t=!0}=l.info,d=B({valid:!t});C(d),P(o)}c&&(L(Z(Y({},c),{valid:!c.valid})),n==null||n.pointCloud2dOperation.setPolygonValidAndRender(c.id,!0))},[P,l,c]),R=u(o=>{const t=e.find(d=>d.id===o);if(t){const{id:d,valid:r=!0}=t,p=A({valid:!r},d);return P(d),p}S(o)},[P,e,h]),w=u((o=D.ascend)=>{if(!n||f.length>1)return;const{pointCloud2dOperation:t}=n,d=t.switchToNextPolygon(o);d&&b(d)},[n]),E=()=>{w(D.descend)},I=o=>{const t=e.filter(d=>d.id!==o);i(t),s==null||s.removeObjectByName(o),s==null||s.render(),C(t)},H=()=>{l&&(I(l.info.id),n==null||n.pointCloud2dOperation.deletePolygon(l.info.id)),c&&(j(c.id),n==null||n.pointCloud2dOperation.deletePolygon(c.id))},M=O(()=>e.filter(o=>f.includes(o.id)),[f,e]),T=u(o=>{const t=a.cloneDeep(e);let d=!1;if(o.forEach(r=>{const p=t.findIndex(x=>x.id===r.id);if(p>-1){const x=a.merge(t[p],r);t.splice(p,1,x),s==null||s.generateBox(x),d=!0}}),d)return i(t),m({pointCloudBoxList:t}),s==null||s.render(),t},[f,e]),W=u(o=>e.find(t=>t.id===o),[e]);return{selectedBox:l,updateSelectedBox:B,changeSelectedBoxValid:N,changeValidByID:R,selectNextBox:w,selectPrevBox:E,deletePointCloudBox:I,selectedBoxes:M,updateSelectedBoxes:T,getPointCloudByID:W,deleteSelectedPointCloudBoxAndPolygon:H}};export{$ as useSingleBox};
1
+ import { useContext, useMemo, useCallback } from 'react';
2
+ import _ from 'lodash';
3
+ import { PointCloudContext } from '../PointCloudContext.js';
4
+ import { cAnnotation } from '@labelbee/lb-annotation';
5
+ import { useHistory } from './useHistory.js';
6
+ import { usePolygon } from './usePolygon.js';
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __defProps = Object.defineProperties;
10
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
27
+ const {ESortDirection} = cAnnotation;
28
+ const useSingleBox = () => {
29
+ const {
30
+ pointCloudBoxList,
31
+ setPointCloudResult,
32
+ topViewInstance,
33
+ backViewInstance,
34
+ sideViewInstance,
35
+ selectedIDs,
36
+ selectedID,
37
+ mainViewInstance,
38
+ setSelectedIDs,
39
+ syncAllViewPointCloudColor,
40
+ polygonList
41
+ } = useContext(PointCloudContext);
42
+ const {selectedPolygon, updateSelectedPolygon, updatePolygonValidByID, deletePolygon} = usePolygon();
43
+ const {pushHistoryWithList} = useHistory();
44
+ const selectedBox = useMemo(() => {
45
+ const boxIndex = pointCloudBoxList.findIndex((i) => i.id === selectedID);
46
+ if (boxIndex > -1) {
47
+ return {info: pointCloudBoxList[boxIndex], index: boxIndex};
48
+ }
49
+ }, [selectedID, pointCloudBoxList]);
50
+ const updateSelectedBox = useCallback((params) => {
51
+ if (selectedBox == null ? void 0 : selectedBox.info) {
52
+ pointCloudBoxList.splice(selectedBox.index, 1, _.merge(selectedBox.info, params));
53
+ const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);
54
+ setPointCloudResult(newPointCloudBoxList);
55
+ pushHistoryWithList({pointCloudBoxList: newPointCloudBoxList});
56
+ return newPointCloudBoxList;
57
+ }
58
+ return pointCloudBoxList;
59
+ }, [selectedID, pointCloudBoxList]);
60
+ const updateBoxByID = useCallback((params, id) => {
61
+ const boxIndex = pointCloudBoxList.findIndex((v) => v.id === id);
62
+ if (boxIndex > -1) {
63
+ pointCloudBoxList.splice(boxIndex, 1, _.merge(pointCloudBoxList[boxIndex], params));
64
+ const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);
65
+ setPointCloudResult(newPointCloudBoxList);
66
+ return newPointCloudBoxList;
67
+ }
68
+ return pointCloudBoxList;
69
+ }, [pointCloudBoxList]);
70
+ const changePolygonViewValid = useCallback((id) => {
71
+ topViewInstance == null ? void 0 : topViewInstance.pointCloud2dOperation.setPolygonValidAndRender(id, true);
72
+ sideViewInstance == null ? void 0 : sideViewInstance.pointCloud2dOperation.setPolygonValidAndRender(id, true);
73
+ backViewInstance == null ? void 0 : backViewInstance.pointCloud2dOperation.setPolygonValidAndRender(id, true);
74
+ }, [topViewInstance, sideViewInstance, backViewInstance]);
75
+ const changeSelectedBoxValid = useCallback(() => {
76
+ if (selectedBox == null ? void 0 : selectedBox.info) {
77
+ const {id, valid = true} = selectedBox.info;
78
+ const newPointCloudList = updateSelectedBox({valid: !valid});
79
+ syncAllViewPointCloudColor(newPointCloudList);
80
+ changePolygonViewValid(id);
81
+ }
82
+ if (selectedPolygon) {
83
+ updateSelectedPolygon(__spreadProps(__spreadValues({}, selectedPolygon), {valid: !selectedPolygon.valid}));
84
+ topViewInstance == null ? void 0 : topViewInstance.pointCloud2dOperation.setPolygonValidAndRender(selectedPolygon.id, true);
85
+ }
86
+ }, [changePolygonViewValid, selectedBox, selectedPolygon]);
87
+ const changeValidByID = useCallback((id) => {
88
+ const boxInfo = pointCloudBoxList.find((v) => v.id === id);
89
+ if (boxInfo) {
90
+ const {id: id2, valid = true} = boxInfo;
91
+ const newPointCloudBoxList = updateBoxByID({valid: !valid}, id2);
92
+ changePolygonViewValid(id2);
93
+ return newPointCloudBoxList;
94
+ }
95
+ updatePolygonValidByID(id);
96
+ }, [changePolygonViewValid, pointCloudBoxList, polygonList]);
97
+ const switchToNextBox = useCallback((sort = ESortDirection.ascend) => {
98
+ if (!topViewInstance || selectedIDs.length > 1) {
99
+ return;
100
+ }
101
+ const {pointCloud2dOperation} = topViewInstance;
102
+ const newSelectedIDs = pointCloud2dOperation.switchToNextPolygon(sort);
103
+ if (newSelectedIDs) {
104
+ setSelectedIDs(newSelectedIDs);
105
+ }
106
+ }, [topViewInstance]);
107
+ const selectPrevBox = () => {
108
+ switchToNextBox(ESortDirection.descend);
109
+ };
110
+ const deletePointCloudBox = (id) => {
111
+ const newPointCloudList = pointCloudBoxList.filter((v) => v.id !== id);
112
+ setPointCloudResult(newPointCloudList);
113
+ mainViewInstance == null ? void 0 : mainViewInstance.removeObjectByName(id);
114
+ mainViewInstance == null ? void 0 : mainViewInstance.render();
115
+ syncAllViewPointCloudColor(newPointCloudList);
116
+ };
117
+ const deleteSelectedPointCloudBoxAndPolygon = () => {
118
+ if (selectedBox) {
119
+ deletePointCloudBox(selectedBox.info.id);
120
+ topViewInstance == null ? void 0 : topViewInstance.pointCloud2dOperation.deletePolygon(selectedBox.info.id);
121
+ }
122
+ if (selectedPolygon) {
123
+ deletePolygon(selectedPolygon.id);
124
+ topViewInstance == null ? void 0 : topViewInstance.pointCloud2dOperation.deletePolygon(selectedPolygon.id);
125
+ }
126
+ };
127
+ const selectedBoxes = useMemo(() => {
128
+ return pointCloudBoxList.filter((i) => selectedIDs.includes(i.id));
129
+ }, [selectedIDs, pointCloudBoxList]);
130
+ const updateSelectedBoxes = useCallback((updateList) => {
131
+ const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);
132
+ let hasModify = false;
133
+ updateList.forEach((i) => {
134
+ const index = newPointCloudBoxList.findIndex((p) => p.id === i.id);
135
+ if (index > -1) {
136
+ const updatedBoxParam = _.merge(newPointCloudBoxList[index], i);
137
+ newPointCloudBoxList.splice(index, 1, updatedBoxParam);
138
+ mainViewInstance == null ? void 0 : mainViewInstance.generateBox(updatedBoxParam);
139
+ hasModify = true;
140
+ }
141
+ });
142
+ if (hasModify) {
143
+ setPointCloudResult(newPointCloudBoxList);
144
+ pushHistoryWithList({pointCloudBoxList: newPointCloudBoxList});
145
+ mainViewInstance == null ? void 0 : mainViewInstance.render();
146
+ return newPointCloudBoxList;
147
+ }
148
+ }, [selectedIDs, pointCloudBoxList]);
149
+ const getPointCloudByID = useCallback((id) => {
150
+ return pointCloudBoxList.find((i) => i.id === id);
151
+ }, [pointCloudBoxList]);
152
+ return {
153
+ selectedBox,
154
+ updateSelectedBox,
155
+ changeSelectedBoxValid,
156
+ changeValidByID,
157
+ selectNextBox: switchToNextBox,
158
+ selectPrevBox,
159
+ deletePointCloudBox,
160
+ selectedBoxes,
161
+ updateSelectedBoxes,
162
+ getPointCloudByID,
163
+ deleteSelectedPointCloudBoxAndPolygon
164
+ };
165
+ };
166
+
167
+ export { useSingleBox };
168
+ //# sourceMappingURL=useSingleBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSingleBox.js","sources":["../../../../src/components/pointCloudView/hooks/useSingleBox.ts"],"sourcesContent":["import { IPointCloudBox, PartialIPointCloudBoxList } from '@labelbee/lb-utils';\nimport { useCallback, useContext, useMemo } from 'react';\nimport _ from 'lodash';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { cAnnotation } from '@labelbee/lb-annotation';\nimport { useHistory } from './useHistory';\nimport { usePolygon } from './usePolygon';\n\nconst { ESortDirection } = cAnnotation;\n\n/** Actions for single selected box */\nexport const useSingleBox = () => {\n const {\n pointCloudBoxList,\n setPointCloudResult,\n topViewInstance,\n backViewInstance,\n sideViewInstance,\n selectedIDs,\n selectedID,\n mainViewInstance,\n setSelectedIDs,\n syncAllViewPointCloudColor,\n polygonList,\n } = useContext(PointCloudContext);\n const { selectedPolygon, updateSelectedPolygon, updatePolygonValidByID, deletePolygon } =\n usePolygon();\n\n const { pushHistoryWithList } = useHistory();\n\n /** Returns { info: selected box, index: selected box index } */\n const selectedBox = useMemo(() => {\n const boxIndex = pointCloudBoxList.findIndex((i: { id: string }) => i.id === selectedID);\n if (boxIndex > -1) {\n return { info: pointCloudBoxList[boxIndex], index: boxIndex };\n }\n }, [selectedID, pointCloudBoxList]);\n\n /** Use Partial<IPointCloudBox> to update selected box */\n const updateSelectedBox = useCallback(\n (params: Partial<IPointCloudBox>) => {\n if (selectedBox?.info) {\n pointCloudBoxList.splice(selectedBox.index, 1, _.merge(selectedBox.info, params));\n const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);\n setPointCloudResult(newPointCloudBoxList);\n pushHistoryWithList({ pointCloudBoxList: newPointCloudBoxList });\n return newPointCloudBoxList;\n }\n\n return pointCloudBoxList;\n },\n [selectedID, pointCloudBoxList],\n );\n\n /** Use Partial<IPointCloudBox> to update box by ID */\n const updateBoxByID = useCallback(\n (params: Partial<IPointCloudBox>, id: string) => {\n const boxIndex = pointCloudBoxList.findIndex((v) => v.id === id);\n\n if (boxIndex > -1) {\n pointCloudBoxList.splice(boxIndex, 1, _.merge(pointCloudBoxList[boxIndex], params));\n const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);\n setPointCloudResult(newPointCloudBoxList);\n return newPointCloudBoxList;\n }\n return pointCloudBoxList;\n },\n [pointCloudBoxList],\n );\n\n /**\n * Change all polygonView Valid.\n */\n const changePolygonViewValid = useCallback(\n (id: string) => {\n topViewInstance?.pointCloud2dOperation.setPolygonValidAndRender(id, true);\n sideViewInstance?.pointCloud2dOperation.setPolygonValidAndRender(id, true);\n backViewInstance?.pointCloud2dOperation.setPolygonValidAndRender(id, true);\n },\n [topViewInstance, sideViewInstance, backViewInstance],\n );\n\n /** Toggle selected box‘s validity */\n const changeSelectedBoxValid = useCallback(() => {\n if (selectedBox?.info) {\n const { id, valid = true } = selectedBox.info;\n\n // PointCloud\n const newPointCloudList = updateSelectedBox({ valid: !valid });\n\n // Async\n syncAllViewPointCloudColor(newPointCloudList);\n changePolygonViewValid(id);\n }\n\n if (selectedPolygon) {\n updateSelectedPolygon({ ...selectedPolygon, valid: !selectedPolygon.valid });\n topViewInstance?.pointCloud2dOperation.setPolygonValidAndRender(selectedPolygon.id, true);\n }\n }, [changePolygonViewValid, selectedBox, selectedPolygon]);\n\n const changeValidByID = useCallback(\n (id: string) => {\n const boxInfo = pointCloudBoxList.find((v) => v.id === id);\n\n if (boxInfo) {\n const { id, valid = true } = boxInfo;\n\n // PointCloud\n const newPointCloudBoxList = updateBoxByID({ valid: !valid }, id);\n\n changePolygonViewValid(id);\n\n return newPointCloudBoxList;\n }\n updatePolygonValidByID(id);\n },\n [changePolygonViewValid, pointCloudBoxList, polygonList],\n );\n\n /** PointCloud select next/prev one */\n const switchToNextBox = useCallback(\n (sort = ESortDirection.ascend) => {\n if (!topViewInstance || selectedIDs.length > 1) {\n return;\n }\n\n const { pointCloud2dOperation } = topViewInstance;\n\n const newSelectedIDs = pointCloud2dOperation.switchToNextPolygon(sort);\n if (newSelectedIDs) {\n setSelectedIDs(newSelectedIDs);\n }\n },\n [topViewInstance],\n );\n\n const selectPrevBox = () => {\n switchToNextBox(ESortDirection.descend);\n };\n\n const deletePointCloudBox = (id: string) => {\n const newPointCloudList = pointCloudBoxList.filter((v) => v.id !== id);\n setPointCloudResult(newPointCloudList);\n mainViewInstance?.removeObjectByName(id);\n mainViewInstance?.render();\n syncAllViewPointCloudColor(newPointCloudList);\n };\n\n /**\n * Delete all polygon by hotkey.\n */\n const deleteSelectedPointCloudBoxAndPolygon = () => {\n if (selectedBox) {\n deletePointCloudBox(selectedBox.info.id);\n topViewInstance?.pointCloud2dOperation.deletePolygon(selectedBox.info.id);\n }\n\n if (selectedPolygon) {\n deletePolygon(selectedPolygon.id);\n topViewInstance?.pointCloud2dOperation.deletePolygon(selectedPolygon.id);\n }\n };\n\n /**\n * According to selectedIDs, return selected pointCloudList\n * @returns pointCloudList {IPointCloudBoxList}\n */\n const selectedBoxes = useMemo(() => {\n return pointCloudBoxList.filter((i) => selectedIDs.includes(i.id));\n }, [selectedIDs, pointCloudBoxList]);\n\n /**\n * Update point cloud boxes list by updateList\n * @param updateList {PartialIPointCloudBoxList}\n */\n const updateSelectedBoxes = useCallback(\n (updateList: PartialIPointCloudBoxList) => {\n const newPointCloudBoxList = _.cloneDeep(pointCloudBoxList);\n let hasModify = false;\n\n updateList.forEach((i) => {\n const index = newPointCloudBoxList.findIndex((p) => p.id === i.id);\n\n if (index > -1) {\n const updatedBoxParam = _.merge(newPointCloudBoxList[index], i);\n newPointCloudBoxList.splice(index, 1, updatedBoxParam);\n mainViewInstance?.generateBox(updatedBoxParam);\n hasModify = true;\n }\n });\n\n if (hasModify) {\n setPointCloudResult(newPointCloudBoxList);\n pushHistoryWithList({ pointCloudBoxList: newPointCloudBoxList });\n mainViewInstance?.render();\n return newPointCloudBoxList;\n }\n },\n\n [selectedIDs, pointCloudBoxList],\n );\n\n /**\n * @param id {string}\n * @returns pointCloud {IPointCloudBox | undefined }\n */\n const getPointCloudByID = useCallback(\n (id: string) => {\n return pointCloudBoxList.find((i) => i.id === id);\n },\n [pointCloudBoxList],\n );\n\n return {\n selectedBox,\n updateSelectedBox,\n changeSelectedBoxValid,\n changeValidByID,\n selectNextBox: switchToNextBox,\n selectPrevBox,\n deletePointCloudBox,\n selectedBoxes,\n updateSelectedBoxes,\n getPointCloudByID,\n deleteSelectedPointCloudBoxAndPolygon,\n };\n};\n"],"names":[],"mappings":"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"}
@@ -1 +1,43 @@
1
- import{useContext as h,useMemo as m,useCallback as i}from"react";import{PointCloudContext as S}from"../PointCloudContext.js";import l from"lodash";const f=()=>{const{pointCloudSphereList:e,setPointCloudSphereList:d,selectedID:s,mainViewInstance:r}=h(S),u=m(()=>e.find(t=>t.id===s),[s,e]),c=i(t=>e.find(o=>o.id===t),[e]),p=i(t=>{const o=e.findIndex(n=>n.id===t.id);if(o>-1){e.splice(o,1,l.merge(e[o],t));const n=l.cloneDeep(e);return d(n),n}return e},[e]),C=i(t=>{const o=e.filter(n=>n.id!==t);d(o),r==null||r.removeObjectByName(t),r==null||r.render()},[e]);return{selectedSphere:u,getPointCloudSphereByID:c,updatePointCloudSphere:p,deletePointCloudSphere:C}};export{f as useSphere};
1
+ import { useContext, useMemo, useCallback } from 'react';
2
+ import { PointCloudContext } from '../PointCloudContext.js';
3
+ import _ from 'lodash';
4
+
5
+ const useSphere = () => {
6
+ const {
7
+ pointCloudSphereList,
8
+ setPointCloudSphereList,
9
+ selectedID,
10
+ mainViewInstance
11
+ } = useContext(PointCloudContext);
12
+ const selectedSphere = useMemo(() => {
13
+ return pointCloudSphereList.find((v) => v.id === selectedID);
14
+ }, [selectedID, pointCloudSphereList]);
15
+ const getPointCloudSphereByID = useCallback((id) => {
16
+ return pointCloudSphereList.find((i) => i.id === id);
17
+ }, [pointCloudSphereList]);
18
+ const updatePointCloudSphere = useCallback((sphereParams) => {
19
+ const sphereIndex = pointCloudSphereList.findIndex((v) => v.id === sphereParams.id);
20
+ if (sphereIndex > -1) {
21
+ pointCloudSphereList.splice(sphereIndex, 1, _.merge(pointCloudSphereList[sphereIndex], sphereParams));
22
+ const newPointCloudSphereList = _.cloneDeep(pointCloudSphereList);
23
+ setPointCloudSphereList(newPointCloudSphereList);
24
+ return newPointCloudSphereList;
25
+ }
26
+ return pointCloudSphereList;
27
+ }, [pointCloudSphereList]);
28
+ const deletePointCloudSphere = useCallback((id) => {
29
+ const newPointCloudSphereList = pointCloudSphereList.filter((v) => v.id !== id);
30
+ setPointCloudSphereList(newPointCloudSphereList);
31
+ mainViewInstance == null ? void 0 : mainViewInstance.removeObjectByName(id);
32
+ mainViewInstance == null ? void 0 : mainViewInstance.render();
33
+ }, [pointCloudSphereList]);
34
+ return {
35
+ selectedSphere,
36
+ getPointCloudSphereByID,
37
+ updatePointCloudSphere,
38
+ deletePointCloudSphere
39
+ };
40
+ };
41
+
42
+ export { useSphere };
43
+ //# sourceMappingURL=useSphere.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSphere.js","sources":["../../../../src/components/pointCloudView/hooks/useSphere.ts"],"sourcesContent":["import { useCallback, useContext, useMemo } from 'react';\nimport { PointCloudContext } from '@/components/pointCloudView/PointCloudContext';\nimport _ from 'lodash';\n\nexport const useSphere = () => {\n const {\n pointCloudSphereList,\n setPointCloudSphereList,\n selectedID,\n mainViewInstance,\n } = useContext(PointCloudContext);\n\n const selectedSphere = useMemo(() => {\n return pointCloudSphereList.find((v) => v.id === selectedID)\n }, [selectedID, pointCloudSphereList])\n\n const getPointCloudSphereByID = useCallback(\n (id: string) => {\n return pointCloudSphereList.find((i) => i.id === id);\n },\n [pointCloudSphereList],\n );\n\n const updatePointCloudSphere = useCallback(\n (sphereParams) => {\n const sphereIndex = pointCloudSphereList.findIndex((v) => v.id === sphereParams.id)\n if (sphereIndex > -1) {\n pointCloudSphereList.splice(sphereIndex, 1, _.merge(pointCloudSphereList[sphereIndex], sphereParams));\n const newPointCloudSphereList = _.cloneDeep(pointCloudSphereList);\n setPointCloudSphereList(newPointCloudSphereList);\n return newPointCloudSphereList;\n }\n return pointCloudSphereList\n }, [pointCloudSphereList]\n )\n\n const deletePointCloudSphere = useCallback(\n (id: string) => {\n const newPointCloudSphereList = pointCloudSphereList.filter((v) => v.id !== id);\n setPointCloudSphereList(newPointCloudSphereList);\n mainViewInstance?.removeObjectByName(id);\n mainViewInstance?.render();\n }, [pointCloudSphereList]\n )\n\n return {\n selectedSphere,\n getPointCloudSphereByID,\n updatePointCloudSphere,\n deletePointCloudSphere,\n }\n}\n"],"names":[],"mappings":";;;;AAIO,MAAM,YAAY,MAAM;AAC7B,EAAM,MAAA;AAAA,IACJ,oBAAA;AAAA,IACA,uBAAA;AAAA,IACA,UAAA;AAAA,IACA,gBAAA;AAAA,GAAA,GACE,UAAW,CAAA,iBAAA,CAAA,CAAA;AAEf,EAAM,MAAA,cAAA,GAAiB,QAAQ,MAAM;AACnC,IAAA,OAAO,oBAAqB,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,UAAA,CAAA,CAAA;AAAA,GAAA,EAChD,CAAC,UAAY,EAAA,oBAAA,CAAA,CAAA,CAAA;AAEhB,EAAM,MAAA,uBAAA,GAA0B,WAC9B,CAAA,CAAC,EAAe,KAAA;AACd,IAAA,OAAO,oBAAqB,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAA,CAAA,CAAA;AAAA,GAAA,EAEnD,CAAC,oBAAA,CAAA,CAAA,CAAA;AAGH,EAAM,MAAA,sBAAA,GAAyB,WAC7B,CAAA,CAAC,YAAiB,KAAA;AAChB,IAAA,MAAM,cAAc,oBAAqB,CAAA,SAAA,CAAU,CAAC,CAAM,KAAA,CAAA,CAAE,OAAO,YAAa,CAAA,EAAA,CAAA,CAAA;AAChF,IAAA,IAAI,cAAc,CAAI,CAAA,EAAA;AACpB,MAAA,oBAAA,CAAqB,OAAO,WAAa,EAAA,CAAA,EAAG,CAAE,CAAA,KAAA,CAAM,qBAAqB,WAAc,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AACvF,MAAM,MAAA,uBAAA,GAA0B,EAAE,SAAU,CAAA,oBAAA,CAAA,CAAA;AAC5C,MAAwB,uBAAA,CAAA,uBAAA,CAAA,CAAA;AACxB,MAAO,OAAA,uBAAA,CAAA;AAAA,KAAA;AAET,IAAO,OAAA,oBAAA,CAAA;AAAA,GAAA,EACN,CAAC,oBAAA,CAAA,CAAA,CAAA;AAGN,EAAM,MAAA,sBAAA,GAAyB,WAC7B,CAAA,CAAC,EAAe,KAAA;AACd,IAAA,MAAM,0BAA0B,oBAAqB,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,EAAE,EAAO,KAAA,EAAA,CAAA,CAAA;AAC5E,IAAwB,uBAAA,CAAA,uBAAA,CAAA,CAAA;AACxB,IAAA,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAkB,kBAAmB,CAAA,EAAA,CAAA,CAAA;AACrC,IAAkB,gBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,gBAAA,CAAA,MAAA,EAAA,CAAA;AAAA,GAAA,EACjB,CAAC,oBAAA,CAAA,CAAA,CAAA;AAGN,EAAO,OAAA;AAAA,IACL,cAAA;AAAA,IACA,uBAAA;AAAA,IACA,sBAAA;AAAA,IACA,sBAAA;AAAA,GAAA,CAAA;AAAA;;;;"}