@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.
- package/dist/App.js +146 -1
- package/dist/App.js.map +1 -0
- package/dist/assets/annotation/common/icon_adapt.svg.js +6 -1
- package/dist/assets/annotation/common/icon_adapt.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_adapt_black.svg.js +6 -1
- package/dist/assets/annotation/common/icon_adapt_black.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_back.svg.js +6 -1
- package/dist/assets/annotation/common/icon_back.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_backA.svg.js +6 -1
- package/dist/assets/annotation/common/icon_backA.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_clear.svg.js +6 -1
- package/dist/assets/annotation/common/icon_clear.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_clearSmall.svg.js +6 -1
- package/dist/assets/annotation/common/icon_clearSmall.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_clearSmall_a.svg.js +6 -1
- package/dist/assets/annotation/common/icon_clearSmall_a.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_clear_a.svg.js +6 -1
- package/dist/assets/annotation/common/icon_clear_a.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_invalid.svg.js +6 -1
- package/dist/assets/annotation/common/icon_invalid.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_invalid_a.svg.js +6 -1
- package/dist/assets/annotation/common/icon_invalid_a.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_next.svg.js +6 -1
- package/dist/assets/annotation/common/icon_next.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_nextA.svg.js +6 -1
- package/dist/assets/annotation/common/icon_nextA.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_r.svg.js +6 -1
- package/dist/assets/annotation/common/icon_r.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_rA.svg.js +6 -1
- package/dist/assets/annotation/common/icon_rA.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_save.svg.js +6 -1
- package/dist/assets/annotation/common/icon_save.svg.js.map +1 -0
- package/dist/assets/annotation/common/icon_saveA.svg.js +6 -1
- package/dist/assets/annotation/common/icon_saveA.svg.js.map +1 -0
- package/dist/assets/annotation/image/brightness.svg.js +6 -1
- package/dist/assets/annotation/image/brightness.svg.js.map +1 -0
- package/dist/assets/annotation/image/contrast.svg.js +6 -1
- package/dist/assets/annotation/image/contrast.svg.js.map +1 -0
- package/dist/assets/annotation/image/icon_yuantu.svg.js +6 -1
- package/dist/assets/annotation/image/icon_yuantu.svg.js.map +1 -0
- package/dist/assets/annotation/image/saturation.svg.js +6 -1
- package/dist/assets/annotation/image/saturation.svg.js.map +1 -0
- package/dist/assets/annotation/lineTool/icon_line.svg.js +6 -1
- package/dist/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
- package/dist/assets/annotation/lineTool/icon_line_a.svg.js +6 -1
- package/dist/assets/annotation/lineTool/icon_line_a.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/copy.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/nextBox.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/nodata.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/nodata.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/patse.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/prevBox.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/selectAll.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +1 -0
- package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +6 -1
- package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +1 -0
- package/dist/assets/annotation/pointTool/icon_point.svg.js +6 -1
- package/dist/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
- package/dist/assets/annotation/pointTool/icon_point_a.svg.js +6 -1
- package/dist/assets/annotation/pointTool/icon_point_a.svg.js.map +1 -0
- package/dist/assets/annotation/polygonTool/icon_polygon.svg.js +6 -1
- package/dist/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
- package/dist/assets/annotation/polygonTool/icon_polygon_a.svg.js +6 -1
- package/dist/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +1 -0
- package/dist/assets/annotation/rectTool/icon_rect.svg.js +6 -1
- package/dist/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
- package/dist/assets/annotation/rectTool/icon_rect_a.svg.js +6 -1
- package/dist/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/setValid.svg.js +6 -1
- package/dist/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +1 -0
- package/dist/assets/annotation/video/icon_keyboard_h.svg.js +6 -1
- package/dist/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
- package/dist/assets/attributeIcon/eraser.svg.js +6 -1
- package/dist/assets/attributeIcon/eraser.svg.js.map +1 -0
- package/dist/assets/attributeIcon/eraser_a.svg.js +6 -1
- package/dist/assets/attributeIcon/eraser_a.svg.js.map +1 -0
- package/dist/assets/attributeIcon/pen.svg.js +6 -1
- package/dist/assets/attributeIcon/pen.svg.js.map +1 -0
- package/dist/assets/attributeIcon/pen_a.svg.js +6 -1
- package/dist/assets/attributeIcon/pen_a.svg.js.map +1 -0
- package/dist/assets/attributeIcon/zoomUp.svg.js +6 -1
- package/dist/assets/attributeIcon/zoomUp.svg.js.map +1 -0
- package/dist/assets/predictTracking/icon.svg.js +6 -1
- package/dist/assets/predictTracking/icon.svg.js.map +1 -0
- package/dist/assets/toolStyle/icon_border.svg.js +6 -1
- package/dist/assets/toolStyle/icon_border.svg.js.map +1 -0
- package/dist/assets/toolStyle/icon_borderColor.svg.js +6 -1
- package/dist/assets/toolStyle/icon_borderColor.svg.js.map +1 -0
- package/dist/assets/toolStyle/icon_opacityFill.svg.js +6 -1
- package/dist/assets/toolStyle/icon_opacityFill.svg.js.map +1 -0
- package/dist/assets/toolStyle/icon_opacityStroke.svg.js +6 -1
- package/dist/assets/toolStyle/icon_opacityStroke.svg.js.map +1 -0
- package/dist/components/AnnotationView/index.js +160 -1
- package/dist/components/AnnotationView/index.js.map +1 -0
- package/dist/components/AnnotationView/pointCloudAnnotationView.js +85 -1
- package/dist/components/AnnotationView/pointCloudAnnotationView.js.map +1 -0
- package/dist/components/annotationStepPopover/index.js +39 -1
- package/dist/components/annotationStepPopover/index.js.map +1 -0
- package/dist/components/attributeList/index.js +66 -1
- package/dist/components/attributeList/index.js.map +1 -0
- package/dist/components/checkboxList/index.js +39 -1
- package/dist/components/checkboxList/index.js.map +1 -0
- package/dist/components/colorTag/index.js +38 -1
- package/dist/components/colorTag/index.js.map +1 -0
- package/dist/components/customAntd/IconWithText/index.js +59 -1
- package/dist/components/customAntd/IconWithText/index.js.map +1 -0
- package/dist/components/customResizeHook/index.js +95 -1
- package/dist/components/customResizeHook/index.js.map +1 -0
- package/dist/components/fileException/FileError.js +61 -1
- package/dist/components/fileException/FileError.js.map +1 -0
- package/dist/components/fileException/FileInvalid.js +31 -1
- package/dist/components/fileException/FileInvalid.js.map +1 -0
- package/dist/components/fileException/index.js +38 -1
- package/dist/components/fileException/index.js.map +1 -0
- package/dist/components/pointCloudView/PointCloud2DView.js +153 -1
- package/dist/components/pointCloudView/PointCloud2DView.js.map +1 -0
- package/dist/components/pointCloudView/PointCloud3DView.js +234 -1
- package/dist/components/pointCloudView/PointCloud3DView.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudBackView.js +138 -1
- package/dist/components/pointCloudView/PointCloudBackView.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudContext.js +257 -1
- package/dist/components/pointCloudView/PointCloudContext.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudInfos.js +146 -1
- package/dist/components/pointCloudView/PointCloudInfos.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudLayout.js +28 -1
- package/dist/components/pointCloudView/PointCloudLayout.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudListener.js +347 -1
- package/dist/components/pointCloudView/PointCloudListener.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudSegment.js +62 -0
- package/dist/components/pointCloudView/PointCloudSegment.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudSideView.js +135 -1
- package/dist/components/pointCloudView/PointCloudSideView.js.map +1 -0
- package/dist/components/pointCloudView/PointCloudTopView.js +339 -1
- package/dist/components/pointCloudView/PointCloudTopView.js.map +1 -0
- package/dist/components/pointCloudView/components/EmptyPage/index.js +24 -1
- package/dist/components/pointCloudView/components/EmptyPage/index.js.map +1 -0
- package/dist/components/pointCloudView/components/UnifyParamsModal/index.js +240 -1
- package/dist/components/pointCloudView/components/UnifyParamsModal/index.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useAttribute.js +53 -1
- package/dist/components/pointCloudView/hooks/useAttribute.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useBoxes.js +81 -1
- package/dist/components/pointCloudView/hooks/useBoxes.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useConfig.js +33 -1
- package/dist/components/pointCloudView/hooks/useConfig.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useHistory.js +173 -1
- package/dist/components/pointCloudView/hooks/useHistory.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useLine.js +74 -1
- package/dist/components/pointCloudView/hooks/useLine.js.map +1 -0
- package/dist/components/pointCloudView/hooks/usePointCloudViews.js +759 -1
- package/dist/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
- package/dist/components/pointCloudView/hooks/usePolygon.js +74 -1
- package/dist/components/pointCloudView/hooks/usePolygon.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useRotate.js +47 -1
- package/dist/components/pointCloudView/hooks/useRotate.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useSingleBox.js +176 -1
- package/dist/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useSphere.js +51 -1
- package/dist/components/pointCloudView/hooks/useSphere.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useStatus.js +92 -1
- package/dist/components/pointCloudView/hooks/useStatus.js.map +1 -0
- package/dist/components/pointCloudView/hooks/useZoom.js +42 -1
- package/dist/components/pointCloudView/hooks/useZoom.js.map +1 -0
- package/dist/components/pointCloudView/index.js +59 -1
- package/dist/components/pointCloudView/index.js.map +1 -0
- package/dist/components/predictTracking/index.js +8 -1
- package/dist/components/predictTracking/index.js.map +1 -0
- package/dist/components/predictTracking/predictTrackingIcon/index.js +104 -1
- package/dist/components/predictTracking/predictTrackingIcon/index.js.map +1 -0
- package/dist/components/predictTracking/previewResult/index.js +196 -1
- package/dist/components/predictTracking/previewResult/index.js.map +1 -0
- package/dist/components/predictTracking/previewResult/util.js +144 -1
- package/dist/components/predictTracking/previewResult/util.js.map +1 -0
- package/dist/components/videoAnnotate/index.js +50 -1
- package/dist/components/videoAnnotate/index.js.map +1 -0
- package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +233 -1
- package/dist/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
- package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +40 -1
- package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
- package/dist/components/videoPlayer/VideoTagLayer.js +37 -1
- package/dist/components/videoPlayer/VideoTagLayer.js.map +1 -0
- package/dist/components/videoPlayer/components/controller/index.js +131 -1
- package/dist/components/videoPlayer/components/controller/index.js.map +1 -0
- package/dist/components/videoPlayer/index.js +267 -1
- package/dist/components/videoPlayer/index.js.map +1 -0
- package/dist/components/videoPlayer/utils.js +59 -1
- package/dist/components/videoPlayer/utils.js.map +1 -0
- package/dist/configureStore.js +16 -1
- package/dist/configureStore.js.map +1 -0
- package/dist/constant/index.js +32 -1
- package/dist/constant/index.js.map +1 -0
- package/dist/constant/styleString.js +6 -1
- package/dist/constant/styleString.js.map +1 -0
- package/dist/data/Style.js +113 -1
- package/dist/data/Style.js.map +1 -0
- package/dist/data/enums/AnnotationSize.js +39 -1
- package/dist/data/enums/AnnotationSize.js.map +1 -0
- package/dist/data/enums/ToolType.js +44 -1
- package/dist/data/enums/ToolType.js.map +1 -0
- package/dist/hooks/annotation.js +81 -1
- package/dist/hooks/annotation.js.map +1 -0
- package/dist/hooks/useRafState.js +21 -1
- package/dist/hooks/useRafState.js.map +1 -0
- package/dist/hooks/useRefCache.js +14 -1
- package/dist/hooks/useRefCache.js.map +1 -0
- package/dist/hooks/useSafeSate.js +22 -1
- package/dist/hooks/useSafeSate.js.map +1 -0
- package/dist/hooks/useSize.js +45 -1
- package/dist/hooks/useSize.js.map +1 -0
- package/dist/hooks/useUnmountedRef.js +17 -1
- package/dist/hooks/useUnmountedRef.js.map +1 -0
- package/dist/index.js +90 -1
- package/dist/index.js.map +1 -0
- package/dist/store/Actions.js +57 -1
- package/dist/store/Actions.js.map +1 -0
- package/dist/store/annotation/actionCreators.js +488 -1
- package/dist/store/annotation/actionCreators.js.map +1 -0
- package/dist/store/annotation/map.js +26 -1
- package/dist/store/annotation/map.js.map +1 -0
- package/dist/store/annotation/reducer.js +669 -1
- package/dist/store/annotation/reducer.js.map +1 -0
- package/dist/store/annotation/selectors.js +15 -1
- package/dist/store/annotation/selectors.js.map +1 -0
- package/dist/store/ctx.js +19 -1
- package/dist/store/ctx.js.map +1 -0
- package/dist/store/imgAttribute/actionCreators.js +27 -1
- package/dist/store/imgAttribute/actionCreators.js.map +1 -0
- package/dist/store/imgAttribute/reducer.js +44 -1
- package/dist/store/imgAttribute/reducer.js.map +1 -0
- package/dist/store/index.js +17 -1
- package/dist/store/index.js.map +1 -0
- package/dist/store/toolStyle/actionCreators.js +22 -1
- package/dist/store/toolStyle/actionCreators.js.map +1 -0
- package/dist/store/toolStyle/reducer.js +54 -1
- package/dist/store/toolStyle/reducer.js.map +1 -0
- package/dist/types/components/pointCloudView/PointCloudSegment.d.ts +6 -0
- package/dist/types/components/predictTracking/previewResult/util.d.ts +2 -1
- package/dist/types/store/annotation/actionCreators.d.ts +1 -1
- package/dist/types/views/MainView/toolHeader/SwitchPattern/index.d.ts +5 -0
- package/dist/utils/AnnotationDataUtils.js +171 -1
- package/dist/utils/AnnotationDataUtils.js.map +1 -0
- package/dist/utils/ConfigUtils.js +22 -1
- package/dist/utils/ConfigUtils.js.map +1 -0
- package/dist/utils/PageOperator.js +99 -1
- package/dist/utils/PageOperator.js.map +1 -0
- package/dist/utils/StepUtils.js +29 -1
- package/dist/utils/StepUtils.js.map +1 -0
- package/dist/utils/TextUtils.js +45 -1
- package/dist/utils/TextUtils.js.map +1 -0
- package/dist/utils/ToolStyleUtils.js +96 -1
- package/dist/utils/ToolStyleUtils.js.map +1 -0
- package/dist/utils/ToolUtils.js +19 -1
- package/dist/utils/ToolUtils.js.map +1 -0
- package/dist/utils/data.js +77 -1
- package/dist/utils/data.js.map +1 -0
- package/dist/utils/dom.js +25 -1
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/index.js +39 -1
- package/dist/utils/index.js.map +1 -0
- package/dist/views/MainView/annotationOperation/index.js +175 -1
- package/dist/views/MainView/annotationOperation/index.js.map +1 -0
- package/dist/views/MainView/annotationTips/index.js +32 -1
- package/dist/views/MainView/annotationTips/index.js.map +1 -0
- package/dist/views/MainView/index.js +122 -1
- package/dist/views/MainView/index.js.map +1 -0
- package/dist/views/MainView/sidebar/AnnotationText/index.js +47 -1
- package/dist/views/MainView/sidebar/AnnotationText/index.js.map +1 -0
- package/dist/views/MainView/sidebar/ClearIcon/index.js +37 -1
- package/dist/views/MainView/sidebar/ClearIcon/index.js.map +1 -0
- package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +101 -1
- package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
- package/dist/views/MainView/sidebar/GeneralOperation/index.js +95 -1
- package/dist/views/MainView/sidebar/GeneralOperation/index.js.map +1 -0
- package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js +94 -1
- package/dist/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
- package/dist/views/MainView/sidebar/ImgAttributeInfo/index.js +134 -1
- package/dist/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -0
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +128 -1
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +1 -0
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +253 -1
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
- package/dist/views/MainView/sidebar/ScribbleSidebar/index.js +64 -1
- package/dist/views/MainView/sidebar/ScribbleSidebar/index.js.map +1 -0
- package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +79 -1
- package/dist/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -0
- package/dist/views/MainView/sidebar/TagSidebar/index.js +187 -1
- package/dist/views/MainView/sidebar/TagSidebar/index.js.map +1 -0
- package/dist/views/MainView/sidebar/TextAreaFormat/index.js +112 -1
- package/dist/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -0
- package/dist/views/MainView/sidebar/TextToolSidebar/index.js +235 -1
- package/dist/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -0
- package/dist/views/MainView/sidebar/ToolIcons.js +87 -1
- package/dist/views/MainView/sidebar/ToolIcons.js.map +1 -0
- package/dist/views/MainView/sidebar/ToolStyle/index.js +162 -1
- package/dist/views/MainView/sidebar/ToolStyle/index.js.map +1 -0
- package/dist/views/MainView/sidebar/index.js +156 -1
- package/dist/views/MainView/sidebar/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/AnnotatedAttributes/index.js +211 -1
- package/dist/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterPopover.js +54 -1
- package/dist/views/MainView/toolFooter/FooterPopover.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +149 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js +26 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +226 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js +111 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js +55 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +174 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +117 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js +71 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js +18 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js +25 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js +18 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +28 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/index.js +23 -1
- package/dist/views/MainView/toolFooter/FooterTips/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/HiddenTips/index.js +45 -1
- package/dist/views/MainView/toolFooter/HiddenTips/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/PageNumber/index.js +48 -1
- package/dist/views/MainView/toolFooter/PageNumber/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/Pagination.js +91 -1
- package/dist/views/MainView/toolFooter/Pagination.js.map +1 -0
- package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +39 -1
- package/dist/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/ZoomController/index.js +72 -1
- package/dist/views/MainView/toolFooter/ZoomController/index.js.map +1 -0
- package/dist/views/MainView/toolFooter/index.js +135 -1
- package/dist/views/MainView/toolFooter/index.js.map +1 -0
- package/dist/views/MainView/toolHeader/ExportData/index.js +44 -1
- package/dist/views/MainView/toolHeader/ExportData/index.js.map +1 -0
- package/dist/views/MainView/toolHeader/StepSwitch/index.js +47 -1
- package/dist/views/MainView/toolHeader/StepSwitch/index.js.map +1 -0
- package/dist/views/MainView/toolHeader/SwitchPattern/index.js +59 -0
- package/dist/views/MainView/toolHeader/SwitchPattern/index.js.map +1 -0
- package/dist/views/MainView/toolHeader/headerOption/index.js +151 -1
- package/dist/views/MainView/toolHeader/headerOption/index.js.map +1 -0
- package/dist/views/MainView/toolHeader/index.js +180 -1
- package/dist/views/MainView/toolHeader/index.js.map +1 -0
- package/es/App.js +138 -1
- package/es/App.js.map +1 -0
- package/es/assets/annotation/common/icon_adapt.svg.js +4 -1
- package/es/assets/annotation/common/icon_adapt.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_adapt_black.svg.js +4 -1
- package/es/assets/annotation/common/icon_adapt_black.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_back.svg.js +4 -1
- package/es/assets/annotation/common/icon_back.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_backA.svg.js +4 -1
- package/es/assets/annotation/common/icon_backA.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_clear.svg.js +4 -1
- package/es/assets/annotation/common/icon_clear.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_clearSmall.svg.js +4 -1
- package/es/assets/annotation/common/icon_clearSmall.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_clearSmall_a.svg.js +4 -1
- package/es/assets/annotation/common/icon_clearSmall_a.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_clear_a.svg.js +4 -1
- package/es/assets/annotation/common/icon_clear_a.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_invalid.svg.js +4 -1
- package/es/assets/annotation/common/icon_invalid.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_invalid_a.svg.js +4 -1
- package/es/assets/annotation/common/icon_invalid_a.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_next.svg.js +4 -1
- package/es/assets/annotation/common/icon_next.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_nextA.svg.js +4 -1
- package/es/assets/annotation/common/icon_nextA.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_r.svg.js +4 -1
- package/es/assets/annotation/common/icon_r.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_rA.svg.js +4 -1
- package/es/assets/annotation/common/icon_rA.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_save.svg.js +4 -1
- package/es/assets/annotation/common/icon_save.svg.js.map +1 -0
- package/es/assets/annotation/common/icon_saveA.svg.js +4 -1
- package/es/assets/annotation/common/icon_saveA.svg.js.map +1 -0
- package/es/assets/annotation/image/brightness.svg.js +4 -1
- package/es/assets/annotation/image/brightness.svg.js.map +1 -0
- package/es/assets/annotation/image/contrast.svg.js +4 -1
- package/es/assets/annotation/image/contrast.svg.js.map +1 -0
- package/es/assets/annotation/image/icon_yuantu.svg.js +4 -1
- package/es/assets/annotation/image/icon_yuantu.svg.js.map +1 -0
- package/es/assets/annotation/image/saturation.svg.js +4 -1
- package/es/assets/annotation/image/saturation.svg.js.map +1 -0
- package/es/assets/annotation/lineTool/icon_line.svg.js +4 -1
- package/es/assets/annotation/lineTool/icon_line.svg.js.map +1 -0
- package/es/assets/annotation/lineTool/icon_line_a.svg.js +4 -1
- package/es/assets/annotation/lineTool/icon_line_a.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/changePointCloudValid.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/copy.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/copy.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/nextBox.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/nextBox.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/nodata.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/nodata.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/patse.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/patse.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/prevBox.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/prevBox.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/rotate180_black.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/selectAll.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/selectAll.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/selectMultiple.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +1 -0
- package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +4 -1
- package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +1 -0
- package/es/assets/annotation/pointTool/icon_point.svg.js +4 -1
- package/es/assets/annotation/pointTool/icon_point.svg.js.map +1 -0
- package/es/assets/annotation/pointTool/icon_point_a.svg.js +4 -1
- package/es/assets/annotation/pointTool/icon_point_a.svg.js.map +1 -0
- package/es/assets/annotation/polygonTool/icon_polygon.svg.js +4 -1
- package/es/assets/annotation/polygonTool/icon_polygon.svg.js.map +1 -0
- package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js +4 -1
- package/es/assets/annotation/polygonTool/icon_polygon_a.svg.js.map +1 -0
- package/es/assets/annotation/rectTool/icon_rect.svg.js +4 -1
- package/es/assets/annotation/rectTool/icon_rect.svg.js.map +1 -0
- package/es/assets/annotation/rectTool/icon_rectPattern.svg.js +4 -0
- package/es/assets/annotation/rectTool/icon_rectPattern.svg.js.map +1 -0
- package/es/assets/annotation/rectTool/icon_rect_a.svg.js +4 -1
- package/es/assets/annotation/rectTool/icon_rect_a.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg.js +4 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_frameActive_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_frameChange_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_frameNull_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_frame_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_kj1.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineActive_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineChange_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineDel_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineInsert_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineNull_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_pointActive_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_pointNull_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_point_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_straightLine_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_tag_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js +4 -1
- package/es/assets/annotation/toolHotKeyIcon/setValid.svg.js.map +1 -0
- package/es/assets/annotation/video/icon_keyboard_h.svg.js +4 -1
- package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
- package/es/assets/attributeIcon/eraser.svg.js +4 -1
- package/es/assets/attributeIcon/eraser.svg.js.map +1 -0
- package/es/assets/attributeIcon/eraser_a.svg.js +4 -1
- package/es/assets/attributeIcon/eraser_a.svg.js.map +1 -0
- package/es/assets/attributeIcon/pen.svg.js +4 -1
- package/es/assets/attributeIcon/pen.svg.js.map +1 -0
- package/es/assets/attributeIcon/pen_a.svg.js +4 -1
- package/es/assets/attributeIcon/pen_a.svg.js.map +1 -0
- package/es/assets/attributeIcon/zoomUp.svg.js +4 -1
- package/es/assets/attributeIcon/zoomUp.svg.js.map +1 -0
- package/es/assets/cssIcon/annotation/icon_clearSmall.svg +10 -0
- package/es/assets/cssIcon/annotation/icon_clearSmall_a.svg +10 -0
- package/es/assets/cssIcon/slide_btn.svg +23 -0
- package/es/assets/predictTracking/icon.svg.js +4 -1
- package/es/assets/predictTracking/icon.svg.js.map +1 -0
- package/es/assets/toolStyle/icon_border.svg.js +4 -1
- package/es/assets/toolStyle/icon_border.svg.js.map +1 -0
- package/es/assets/toolStyle/icon_borderColor.svg.js +4 -1
- package/es/assets/toolStyle/icon_borderColor.svg.js.map +1 -0
- package/es/assets/toolStyle/icon_opacityFill.svg.js +4 -1
- package/es/assets/toolStyle/icon_opacityFill.svg.js.map +1 -0
- package/es/assets/toolStyle/icon_opacityStroke.svg.js +4 -1
- package/es/assets/toolStyle/icon_opacityStroke.svg.js.map +1 -0
- package/es/components/AnnotationView/index.js +154 -1
- package/es/components/AnnotationView/index.js.map +1 -0
- package/es/components/AnnotationView/pointCloudAnnotationView.js +79 -1
- package/es/components/AnnotationView/pointCloudAnnotationView.js.map +1 -0
- package/es/components/ImageError/index.js +53 -0
- package/es/components/ImageError/index.js.map +1 -0
- package/es/components/annotationStepPopover/index.js +33 -1
- package/es/components/annotationStepPopover/index.js.map +1 -0
- package/es/components/attributeList/index.js +57 -1
- package/es/components/attributeList/index.js.map +1 -0
- package/es/components/checkboxList/index.js +33 -1
- package/es/components/checkboxList/index.js.map +1 -0
- package/es/components/colorTag/index.js +30 -1
- package/es/components/colorTag/index.js.map +1 -0
- package/es/components/customAntd/IconWithText/index.js +53 -1
- package/es/components/customAntd/IconWithText/index.js.map +1 -0
- package/es/components/customResizeHook/index.js +84 -1
- package/es/components/customResizeHook/index.js.map +1 -0
- package/es/components/fileException/FileError.js +55 -1
- package/es/components/fileException/FileError.js.map +1 -0
- package/es/components/fileException/FileInvalid.js +25 -1
- package/es/components/fileException/FileInvalid.js.map +1 -0
- package/es/components/fileException/index.js +32 -1
- package/es/components/fileException/index.js.map +1 -0
- package/es/components/pointCloudView/PointCloud2DView.js +147 -1
- package/es/components/pointCloudView/PointCloud2DView.js.map +1 -0
- package/es/components/pointCloudView/PointCloud3DView.js +227 -1
- package/es/components/pointCloudView/PointCloud3DView.js.map +1 -0
- package/es/components/pointCloudView/PointCloudBackView.js +132 -1
- package/es/components/pointCloudView/PointCloudBackView.js.map +1 -0
- package/es/components/pointCloudView/PointCloudContext.js +248 -1
- package/es/components/pointCloudView/PointCloudContext.js.map +1 -0
- package/es/components/pointCloudView/PointCloudInfos.js +136 -1
- package/es/components/pointCloudView/PointCloudInfos.js.map +1 -0
- package/es/components/pointCloudView/PointCloudLayout.js +19 -1
- package/es/components/pointCloudView/PointCloudLayout.js.map +1 -0
- package/es/components/pointCloudView/PointCloudListener.js +345 -1
- package/es/components/pointCloudView/PointCloudListener.js.map +1 -0
- package/es/components/pointCloudView/PointCloudSegment.js +56 -0
- package/es/components/pointCloudView/PointCloudSegment.js.map +1 -0
- package/es/components/pointCloudView/PointCloudSideView.js +129 -1
- package/es/components/pointCloudView/PointCloudSideView.js.map +1 -0
- package/es/components/pointCloudView/PointCloudTopView.js +333 -1
- package/es/components/pointCloudView/PointCloudTopView.js.map +1 -0
- package/es/components/pointCloudView/components/EmptyPage/index.js +18 -1
- package/es/components/pointCloudView/components/EmptyPage/index.js.map +1 -0
- package/es/components/pointCloudView/components/PointCloudSizeSlider/index.js +23 -0
- package/es/components/pointCloudView/components/PointCloudSizeSlider/index.js.map +1 -0
- package/es/components/pointCloudView/components/UnifiedParamsModal/index.js +228 -0
- package/es/components/pointCloudView/components/UnifiedParamsModal/index.js.map +1 -0
- package/es/components/pointCloudView/components/UnifyParamsModal/index.js +234 -1
- package/es/components/pointCloudView/components/UnifyParamsModal/index.js.map +1 -0
- package/es/components/pointCloudView/data.js +4 -0
- package/es/components/pointCloudView/data.js.map +1 -0
- package/es/components/pointCloudView/hooks/useAttribute.js +49 -1
- package/es/components/pointCloudView/hooks/useAttribute.js.map +1 -0
- package/es/components/pointCloudView/hooks/useBoxes.js +73 -1
- package/es/components/pointCloudView/hooks/useBoxes.js.map +1 -0
- package/es/components/pointCloudView/hooks/useConfig.js +29 -1
- package/es/components/pointCloudView/hooks/useConfig.js.map +1 -0
- package/es/components/pointCloudView/hooks/useHistory.js +169 -1
- package/es/components/pointCloudView/hooks/useHistory.js.map +1 -0
- package/es/components/pointCloudView/hooks/useLine.js +70 -1
- package/es/components/pointCloudView/hooks/useLine.js.map +1 -0
- package/es/components/pointCloudView/hooks/usePointCloudViews.js +747 -1
- package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -0
- package/es/components/pointCloudView/hooks/usePolygon.js +70 -1
- package/es/components/pointCloudView/hooks/usePolygon.js.map +1 -0
- package/es/components/pointCloudView/hooks/useRotate.js +43 -1
- package/es/components/pointCloudView/hooks/useRotate.js.map +1 -0
- package/es/components/pointCloudView/hooks/useSingleBox.js +168 -1
- package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -0
- package/es/components/pointCloudView/hooks/useSphere.js +43 -1
- package/es/components/pointCloudView/hooks/useSphere.js.map +1 -0
- package/es/components/pointCloudView/hooks/useStatus.js +88 -1
- package/es/components/pointCloudView/hooks/useStatus.js.map +1 -0
- package/es/components/pointCloudView/hooks/useZoom.js +38 -1
- package/es/components/pointCloudView/hooks/useZoom.js.map +1 -0
- package/es/components/pointCloudView/index.js +53 -1
- package/es/components/pointCloudView/index.js.map +1 -0
- package/es/components/predictTracking/index.js +3 -1
- package/es/components/predictTracking/index.js.map +1 -0
- package/es/components/predictTracking/predictTrackingIcon/index.js +98 -1
- package/es/components/predictTracking/predictTrackingIcon/index.js.map +1 -0
- package/es/components/predictTracking/previewResult/index.js +189 -1
- package/es/components/predictTracking/previewResult/index.js.map +1 -0
- package/es/components/predictTracking/previewResult/util.js +136 -1
- package/es/components/predictTracking/previewResult/util.js.map +1 -0
- package/es/components/videoAnnotate/index.js +44 -1
- package/es/components/videoAnnotate/index.js.map +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptor.js +224 -1
- package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +32 -1
- package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
- package/es/components/videoPlayer/VideoTagLayer.js +29 -1
- package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
- package/es/components/videoPlayer/components/controller/index.js +125 -1
- package/es/components/videoPlayer/components/controller/index.js.map +1 -0
- package/es/components/videoPlayer/index.js +257 -1
- package/es/components/videoPlayer/index.js.map +1 -0
- package/es/components/videoPlayer/utils.js +51 -1
- package/es/components/videoPlayer/utils.js.map +1 -0
- package/es/configureStore.js +10 -1
- package/es/configureStore.js.map +1 -0
- package/es/constant/index.js +27 -1
- package/es/constant/index.js.map +1 -0
- package/es/constant/styleString.js +4 -1
- package/es/constant/styleString.js.map +1 -0
- package/es/data/Style.js +104 -1
- package/es/data/Style.js.map +1 -0
- package/es/data/enums/AnnotationSize.js +32 -1
- package/es/data/enums/AnnotationSize.js.map +1 -0
- package/es/data/enums/ToolType.js +40 -1
- package/es/data/enums/ToolType.js.map +1 -0
- package/es/hooks/annotation.js +77 -1
- package/es/hooks/annotation.js.map +1 -0
- package/es/hooks/useConfig.js +18 -0
- package/es/hooks/useConfig.js.map +1 -0
- package/es/hooks/useRafState.js +19 -1
- package/es/hooks/useRafState.js.map +1 -0
- package/es/hooks/useRefCache.js +12 -1
- package/es/hooks/useRefCache.js.map +1 -0
- package/es/hooks/useSafeSate.js +16 -1
- package/es/hooks/useSafeSate.js.map +1 -0
- package/es/hooks/useSize.js +39 -1
- package/es/hooks/useSize.js.map +1 -0
- package/es/hooks/useUnmountedRef.js +15 -1
- package/es/hooks/useUnmountedRef.js.map +1 -0
- package/es/index.js +64 -1
- package/es/index.js.map +1 -0
- package/es/store/Actions.js +51 -1
- package/es/store/Actions.js.map +1 -0
- package/es/store/annotation/actionCreators.js +450 -1
- package/es/store/annotation/actionCreators.js.map +1 -0
- package/es/store/annotation/map.js +22 -1
- package/es/store/annotation/map.js.map +1 -0
- package/es/store/annotation/reducer.js +657 -1
- package/es/store/annotation/reducer.js.map +1 -0
- package/es/store/annotation/selectors.js +11 -1
- package/es/store/annotation/selectors.js.map +1 -0
- package/es/store/ctx.js +9 -1
- package/es/store/ctx.js.map +1 -0
- package/es/store/imgAttribute/actionCreators.js +21 -1
- package/es/store/imgAttribute/actionCreators.js.map +1 -0
- package/es/store/imgAttribute/reducer.js +40 -1
- package/es/store/imgAttribute/reducer.js.map +1 -0
- package/es/store/index.js +13 -1
- package/es/store/index.js.map +1 -0
- package/es/store/toolStyle/actionCreators.js +17 -1
- package/es/store/toolStyle/actionCreators.js.map +1 -0
- package/es/store/toolStyle/reducer.js +50 -1
- package/es/store/toolStyle/reducer.js.map +1 -0
- package/es/utils/AnnotationDataUtils.js +165 -1
- package/es/utils/AnnotationDataUtils.js.map +1 -0
- package/es/utils/ConfigUtils.js +18 -1
- package/es/utils/ConfigUtils.js.map +1 -0
- package/es/utils/PageOperator.js +93 -1
- package/es/utils/PageOperator.js.map +1 -0
- package/es/utils/StepUtils.js +27 -1
- package/es/utils/StepUtils.js.map +1 -0
- package/es/utils/TextUtils.js +39 -1
- package/es/utils/TextUtils.js.map +1 -0
- package/es/utils/ToolStyleUtils.js +88 -1
- package/es/utils/ToolStyleUtils.js.map +1 -0
- package/es/utils/ToolUtils.js +17 -1
- package/es/utils/ToolUtils.js.map +1 -0
- package/es/utils/data.js +72 -1
- package/es/utils/data.js.map +1 -0
- package/es/utils/dom.js +20 -1
- package/es/utils/dom.js.map +1 -0
- package/es/utils/index.js +30 -1
- package/es/utils/index.js.map +1 -0
- package/es/views/MainView/annotationOperation/index.js +168 -1
- package/es/views/MainView/annotationOperation/index.js.map +1 -0
- package/es/views/MainView/annotationTips/index.js +26 -1
- package/es/views/MainView/annotationTips/index.js.map +1 -0
- package/es/views/MainView/index.js +116 -1
- package/es/views/MainView/index.js.map +1 -0
- package/es/views/MainView/sidebar/AnnotationText/index.js +41 -1
- package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -0
- package/es/views/MainView/sidebar/ClearIcon/index.js +31 -1
- package/es/views/MainView/sidebar/ClearIcon/index.js.map +1 -0
- package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +95 -1
- package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -0
- package/es/views/MainView/sidebar/GeneralOperation/index.js +86 -1
- package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -0
- package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js +88 -1
- package/es/views/MainView/sidebar/GeneralOperation/useOperationList.js.map +1 -0
- package/es/views/MainView/sidebar/ImgAttributeInfo/index.js +128 -1
- package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -0
- package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +122 -1
- package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +1 -0
- package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +247 -1
- package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -0
- package/es/views/MainView/sidebar/ScribbleSidebar/index.js +58 -1
- package/es/views/MainView/sidebar/ScribbleSidebar/index.js.map +1 -0
- package/es/views/MainView/sidebar/SwitchAttributeList/index.js +73 -1
- package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -0
- package/es/views/MainView/sidebar/TagSidebar/index.js +178 -1
- package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -0
- package/es/views/MainView/sidebar/TextAreaFormat/index.js +106 -1
- package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -0
- package/es/views/MainView/sidebar/TextToolSidebar/index.js +225 -1
- package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -0
- package/es/views/MainView/sidebar/ToolIcons.js +78 -1
- package/es/views/MainView/sidebar/ToolIcons.js.map +1 -0
- package/es/views/MainView/sidebar/ToolStyle/index.js +156 -1
- package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -0
- package/es/views/MainView/sidebar/index.js +147 -1
- package/es/views/MainView/sidebar/index.js.map +1 -0
- package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js +200 -1
- package/es/views/MainView/toolFooter/AnnotatedAttributes/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterPopover.js +48 -1
- package/es/views/MainView/toolFooter/FooterPopover.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +127 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js +24 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/cuboid/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +216 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js +97 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js +47 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +165 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +102 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js +61 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js +16 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/scribble/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js +20 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js +16 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +22 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/index.js +17 -1
- package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -0
- package/es/views/MainView/toolFooter/HiddenTips/index.js +39 -1
- package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -0
- package/es/views/MainView/toolFooter/PageNumber/index.js +42 -1
- package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -0
- package/es/views/MainView/toolFooter/Pagination.js +82 -1
- package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
- package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js +33 -1
- package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -0
- package/es/views/MainView/toolFooter/ZoomController/index.js +63 -1
- package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -0
- package/es/views/MainView/toolFooter/index.js +125 -1
- package/es/views/MainView/toolFooter/index.js.map +1 -0
- package/es/views/MainView/toolHeader/ExportData/index.js +38 -1
- package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -0
- package/es/views/MainView/toolHeader/StepSwitch/index.js +41 -1
- package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -0
- package/es/views/MainView/toolHeader/SwitchPattern/index.js +53 -0
- package/es/views/MainView/toolHeader/SwitchPattern/index.js.map +1 -0
- package/es/views/MainView/toolHeader/headerOption/index.js +145 -1
- package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -0
- package/es/views/MainView/toolHeader/index.js +173 -1
- package/es/views/MainView/toolHeader/index.js.map +1 -0
- 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
|
|
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
|
|
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
|
|
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
|
|
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;;;;"}
|