@labelbee/lb-components 1.24.0-alpha.6 → 1.24.0-alpha.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/_virtual/2DViewWorker.js +1 -1
  2. package/dist/assets/annotation/rectTool/three_points_rect.svg.js +1 -0
  3. package/dist/assets/annotation/rectTool/two_points_rect.svg.js +1 -0
  4. package/dist/components/DynamicResizer/DynamicResizer.js +1 -1
  5. package/dist/components/DynamicResizer/hooks/useDrag.js +1 -1
  6. package/dist/components/DynamicResizer/hooks/useDraggingAllowed.js +1 -0
  7. package/dist/components/DynamicResizer/hooks/useUpdateHeight.js +1 -1
  8. package/dist/components/DynamicResizer/utils/index.js +1 -0
  9. package/dist/components/LLMMultiWheelView/dialogView/index.js +1 -1
  10. package/dist/components/LLMMultiWheelView/index.js +1 -1
  11. package/dist/components/LLMToolView/index.js +1 -1
  12. package/dist/components/LLMToolView/modelAPIView/index.js +1 -1
  13. package/dist/components/LLMToolView/questionView/components/audioView/index.js +1 -0
  14. package/dist/components/LLMToolView/questionView/components/header/index.js +1 -1
  15. package/dist/components/LLMToolView/questionView/index.js +1 -1
  16. package/dist/components/LLMToolView/sidebar/components/textEditor/index.js +2 -2
  17. package/dist/components/LLMToolView/sidebar/components/textInputBox/index.js +2 -2
  18. package/dist/components/attributeInputEditor/index.js +1 -0
  19. package/dist/components/attributeList/index.js +1 -1
  20. package/dist/components/audioAnnotate/index.js +1 -1
  21. package/dist/components/audioPlayer/index.js +1 -1
  22. package/dist/components/longText/index.js +1 -1
  23. package/dist/components/pointCloud2DRectOperationView/index.js +1 -1
  24. package/dist/components/pointCloudView/PointCloud2DView.js +1 -1
  25. package/dist/components/pointCloudView/PointCloud3DView.js +1 -1
  26. package/dist/components/pointCloudView/PointCloudContext.js +1 -1
  27. package/dist/components/pointCloudView/PointCloudListener.js +1 -1
  28. package/dist/components/pointCloudView/PointCloudTopView.js +1 -1
  29. package/dist/components/pointCloudView/components/TitleButton/index.js +1 -1
  30. package/dist/components/pointCloudView/components/UnifyParamsModal/index.js +1 -1
  31. package/dist/components/pointCloudView/components/sideAndBackOverView/index.js +1 -1
  32. package/dist/components/pointCloudView/hooks/useConfig.js +1 -1
  33. package/dist/components/pointCloudView/hooks/useHighlight.js +1 -1
  34. package/dist/components/pointCloudView/hooks/usePointCloudAttribute.js +1 -0
  35. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  36. package/dist/components/pointCloudView/index.js +1 -1
  37. package/dist/components/tagList/index.js +1 -1
  38. package/dist/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +1 -1
  39. package/dist/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +1 -1
  40. package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +2 -1
  41. package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +1 -1
  42. package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +1 -1
  43. package/dist/components/videoAnnotate/videoClipTool/index.js +2 -1
  44. package/dist/components/videoPlayer/components/SpeedController/index.js +1 -1
  45. package/dist/components/videoPlayer/index.js +1 -1
  46. package/dist/constant/index.js +1 -1
  47. package/dist/index.css +161 -96
  48. package/dist/store/Actions.js +1 -1
  49. package/dist/store/annotation/actionCreators.js +1 -1
  50. package/dist/store/annotation/reducer.js +1 -1
  51. package/dist/store/toolConfig/pointCloudToolConfig.js +1 -1
  52. package/dist/types/components/DynamicResizer/DynamicResizer.d.ts +3 -3
  53. package/dist/types/components/DynamicResizer/hooks/useDrag.d.ts +24 -7
  54. package/dist/types/components/DynamicResizer/hooks/useDraggingAllowed.d.ts +12 -0
  55. package/dist/types/components/DynamicResizer/hooks/useUpdateHeight.d.ts +10 -21
  56. package/dist/types/components/DynamicResizer/types/interface.d.ts +14 -6
  57. package/dist/types/components/DynamicResizer/utils/index.d.ts +4 -0
  58. package/dist/types/components/LLMMultiWheelView/dialogView/index.d.ts +2 -0
  59. package/dist/types/components/LLMMultiWheelView/index.d.ts +2 -0
  60. package/dist/types/components/LLMToolView/questionView/components/audioView/index.d.ts +8 -0
  61. package/dist/types/components/LLMToolView/questionView/components/header/index.d.ts +3 -1
  62. package/dist/types/components/attributeInputEditor/index.d.ts +8 -0
  63. package/dist/types/components/attributeList/components/limitPopover/index.d.ts +2 -2
  64. package/dist/types/components/longText/index.d.ts +1 -1
  65. package/dist/types/components/pointCloud2DRectOperationView/useUpdateRectList.d.ts +0 -1
  66. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +4 -0
  67. package/dist/types/components/pointCloudView/PointCloudListener.d.ts +1 -0
  68. package/dist/types/components/pointCloudView/hooks/useConfig.d.ts +2 -1
  69. package/dist/types/components/pointCloudView/hooks/usePointCloudAttribute.d.ts +3 -0
  70. package/dist/types/components/pointCloudView/hooks/useRotate.d.ts +1 -2
  71. package/dist/types/components/pointCloudView/hooks/useRotateEdge.d.ts +1 -2
  72. package/dist/types/components/pointCloudView/index.d.ts +2 -0
  73. package/dist/types/components/videoAnnotate/videoClipTool/VideoClipToolContext.d.ts +1 -0
  74. package/dist/types/components/videoAnnotate/videoClipTool/index.d.ts +32 -1
  75. package/dist/types/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.d.ts +1 -1
  76. package/dist/types/components/videoAnnotate/videoTextTool/index.d.ts +1 -1
  77. package/dist/types/components/videoPlayer/index.d.ts +1 -1
  78. package/dist/types/constant/index.d.ts +4 -2
  79. package/dist/types/store/Actions.d.ts +1 -0
  80. package/dist/types/store/annotation/actionCreators.d.ts +9 -1
  81. package/dist/types/store/annotation/map.d.ts +1 -0
  82. package/dist/types/store/annotation/reducer.d.ts +5 -1
  83. package/dist/types/store/annotation/types.d.ts +4 -2
  84. package/dist/types/store/toolConfig/types.d.ts +2 -0
  85. package/dist/types/utils/LLM.d.ts +6 -0
  86. package/dist/types/views/MainView/index.d.ts +2 -0
  87. package/dist/types/views/MainView/sidebar/GeneralOperation/ActionsConfirm.d.ts +3 -0
  88. package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +9 -0
  89. package/dist/types/views/MainView/sidebar/GlobalTagList/index.d.ts +9 -0
  90. package/dist/types/views/MainView/sidebar/VideoClipToolAttributeList/index.d.ts +11 -0
  91. package/dist/types/views/MainView/sidebar/index.d.ts +2 -0
  92. package/dist/utils/LLM.js +1 -0
  93. package/dist/utils/ToolPointCloudBoxRenderHelper.js +1 -1
  94. package/dist/views/MainView/index.js +1 -1
  95. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -1
  96. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  97. package/dist/views/MainView/sidebar/GlobalTagList/index.js +1 -0
  98. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  99. package/dist/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  100. package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
  101. package/dist/views/MainView/sidebar/ToolIcons.js +1 -1
  102. package/dist/views/MainView/sidebar/VideoClipToolAttributeList/index.js +1 -0
  103. package/dist/views/MainView/sidebar/index.js +1 -1
  104. package/es/_virtual/2DViewWorker.js +1 -1
  105. package/es/assets/annotation/rectTool/three_points_rect.svg.js +1 -0
  106. package/es/assets/annotation/rectTool/two_points_rect.svg.js +1 -0
  107. package/es/components/DynamicResizer/DynamicResizer.js +1 -1
  108. package/es/components/DynamicResizer/hooks/useDrag.js +1 -1
  109. package/es/components/DynamicResizer/hooks/useDraggingAllowed.js +1 -0
  110. package/es/components/DynamicResizer/hooks/useUpdateHeight.js +1 -1
  111. package/es/components/DynamicResizer/utils/index.js +1 -0
  112. package/es/components/LLMMultiWheelView/dialogView/index.js +1 -1
  113. package/es/components/LLMMultiWheelView/index.js +1 -1
  114. package/es/components/LLMToolView/index.js +1 -1
  115. package/es/components/LLMToolView/modelAPIView/index.js +1 -1
  116. package/es/components/LLMToolView/questionView/components/audioView/index.js +1 -0
  117. package/es/components/LLMToolView/questionView/components/header/index.js +1 -1
  118. package/es/components/LLMToolView/questionView/index.js +1 -1
  119. package/es/components/LLMToolView/sidebar/components/textEditor/index.js +2 -2
  120. package/es/components/LLMToolView/sidebar/components/textInputBox/index.js +2 -2
  121. package/es/components/attributeInputEditor/index.js +1 -0
  122. package/es/components/attributeList/index.js +1 -1
  123. package/es/components/audioAnnotate/index.js +1 -1
  124. package/es/components/audioPlayer/index.js +1 -1
  125. package/es/components/longText/index.js +1 -1
  126. package/es/components/pointCloud2DRectOperationView/index.js +1 -1
  127. package/es/components/pointCloudView/PointCloud2DView.js +1 -1
  128. package/es/components/pointCloudView/PointCloud3DView.js +1 -1
  129. package/es/components/pointCloudView/PointCloudContext.js +1 -1
  130. package/es/components/pointCloudView/PointCloudListener.js +1 -1
  131. package/es/components/pointCloudView/PointCloudTopView.js +1 -1
  132. package/es/components/pointCloudView/components/TitleButton/index.js +1 -1
  133. package/es/components/pointCloudView/components/UnifyParamsModal/index.js +1 -1
  134. package/es/components/pointCloudView/components/sideAndBackOverView/index.js +1 -1
  135. package/es/components/pointCloudView/hooks/useConfig.js +1 -1
  136. package/es/components/pointCloudView/hooks/useHighlight.js +1 -1
  137. package/es/components/pointCloudView/hooks/usePointCloudAttribute.js +1 -0
  138. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  139. package/es/components/pointCloudView/index.js +1 -1
  140. package/es/components/tagList/index.js +1 -1
  141. package/es/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +1 -1
  142. package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +1 -1
  143. package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +2 -1
  144. package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +1 -1
  145. package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +1 -1
  146. package/es/components/videoAnnotate/videoClipTool/index.js +2 -1
  147. package/es/components/videoPlayer/components/SpeedController/index.js +1 -1
  148. package/es/components/videoPlayer/index.js +1 -1
  149. package/es/constant/index.js +1 -1
  150. package/es/index.css +161 -96
  151. package/es/store/Actions.js +1 -1
  152. package/es/store/annotation/actionCreators.js +1 -1
  153. package/es/store/annotation/reducer.js +1 -1
  154. package/es/store/toolConfig/pointCloudToolConfig.js +1 -1
  155. package/es/utils/LLM.js +1 -0
  156. package/es/utils/ToolPointCloudBoxRenderHelper.js +1 -1
  157. package/es/views/MainView/index.js +1 -1
  158. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -1
  159. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  160. package/es/views/MainView/sidebar/GlobalTagList/index.js +1 -0
  161. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  162. package/es/views/MainView/sidebar/SwitchAttributeList/index.js +1 -1
  163. package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
  164. package/es/views/MainView/sidebar/ToolIcons.js +1 -1
  165. package/es/views/MainView/sidebar/VideoClipToolAttributeList/index.js +1 -0
  166. package/es/views/MainView/sidebar/index.js +1 -1
  167. package/package.json +8 -8
  168. package/dist/components/DynamicResizer/assets/bottomToZero.svg.js +0 -1
  169. package/dist/components/DynamicResizer/assets/divider.svg.js +0 -1
  170. package/dist/components/DynamicResizer/assets/topToZero.svg.js +0 -1
  171. package/es/components/DynamicResizer/assets/bottomToZero.svg.js +0 -1
  172. package/es/components/DynamicResizer/assets/divider.svg.js +0 -1
  173. package/es/components/DynamicResizer/assets/topToZero.svg.js +0 -1
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),useToolStyle=require("../../hooks/useToolStyle.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,a,i)=>a in n?__defProp(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,__spreadValues=(n,a)=>{for(var i in a||(a={}))__hasOwnProp.call(a,i)&&__defNormalProp(n,i,a[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(a))__propIsEnum.call(a,i)&&__defNormalProp(n,i,a[i]);return n},__spreadProps=(n,a)=>__defProps(n,__getOwnPropDescs(a));const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:n})=>{const{isActive:a,setTarget3DView:i}=React.useContext(PointCloud3DContext),d=e=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",e)]:!0,active:a});return React__default.default.createElement("span",{onClick:()=>{i(lbUtils.EPerspectiveView[n])},className:d(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:a,followTopView:i}=React.useContext(PointCloud3DContext),{t:d}=reactI18next.useTranslation(),e=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),p=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:d("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{a()},className:dom.getClassName("point-cloud-3d-view","reset")}));return n?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},p,e):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},e,p)},PointCloud3D=({currentData:n,config:a,highlightAttribute:i})=>{var d;const e=React.useContext(PointCloudContext.PointCloudContext),[p,y]=React.useState(!0),[m,g]=React.useState(!1),f=React.useRef(null),{initPointCloud3d:P}=usePointCloudViews.usePointCloudViews(),v=useSize(f),{t:V}=reactI18next.useTranslation(),{value:x}=useToolStyle.useToolStyleContext(),{hiddenText:_}=x||{};React.useEffect(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(_,e.pointCloudBoxList)},[x]),React.useEffect(()=>{!e.mainViewInstance||P==null||P(v)},[v]);const{selectedBox:u}=useSingleBox.useSingleBox(),{selectedSphere:w}=useSphere.useSphere(),[b,h]=React.useState(!0),E=t=>{var o,l;const r=u==null?void 0:u.info;if(r){const s=__spreadValues({},r.center);s.x=s.x-.01,s.z=1e3;const c=t===lbUtils.EPerspectiveView.Top;(o=e.mainViewInstance)==null||o.updateCameraByBox(r,t,c?s:void 0)}w&&((l=e.mainViewInstance)==null||l.updateCameraBySphere(w,t))},N=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},B=()=>{var t,o;const l=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((o=e.mainViewInstance)==null||o.applyCameraTarget(l))};React.useEffect(()=>{if(f.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&v.width&&(t=new lbAnnotation.PointCloud({container:f.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(v),config:a,hiddenText:_}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:h}),e.setMainViewInstance(t))}},[v,n]),React.useEffect(()=>{var t;if(f.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let o=e.mainViewInstance;const l=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result);l.forEach(s=>{var c;const C=(c=lbUtils.toolStyleConverter.getColorFromConfig({attribute:s.attribute},__spreadProps(__spreadValues({},a),{attributeConfigurable:!0}),{}))==null?void 0:c.hex;o==null||o.addBoxToSense(s,C)}),o.render(),e.setPointCloudResult(l);const r=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result);e.setRectList(r),e.setPointCloudValid((t=index.jsonParser(n.result))==null?void 0:t.valid)}},[n,e.mainViewInstance]),React.useEffect(()=>{var t,o,l,r,s,c,C;const T=(t=u==null?void 0:u.info)==null?void 0:t.id;if(!b){h(!0);return}if(T!==void 0){E(lbUtils.EPerspectiveView.Top);const q=(r=(l=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:l.camera.zoom)!=null?r:1;(s=e.mainViewInstance)==null||s.updateCameraZoom(q)}(c=e.mainViewInstance)==null||c.setHighlightColor(T),(C=e.mainViewInstance)==null||C.render()},[(d=u==null?void 0:u.info)==null?void 0:d.id]),React.useEffect(()=>{var t,o,l,r;if(w){E(lbUtils.EPerspectiveView.Top);const s=(l=(o=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?l:1;(r=e.mainViewInstance)==null||r.updateCameraZoom(s)}},[w]),React.useEffect(()=>(window.addEventListener("keydown",I),()=>{window.removeEventListener("keydown",I)}),[]);const I=t=>{if(t.keyCode===EKeyCode.Esc){g(!1);return}},S=React.useMemo(()=>({reset3DView:N,setTarget3DView:E,isActive:!!u,followTopView:B}),[u,e.mainViewInstance]);React.useEffect(()=>{var t,o,l;const r=e.pointCloudBoxList.filter(s=>s.attribute===i);(r==null?void 0:r.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(o=e.mainViewInstance)==null||o.highlightBoxes(r)),r.length===0&&((l=e.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[i,e.mainViewInstance]);const L=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:t=>{var o;(o=e.mainViewInstance)==null||o.updatePointSize({customSize:t})}}),React__default.default.createElement("span",{style:{marginRight:8}},V("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:p,onChange:t=>{var o;y(t),(o=e.mainViewInstance)==null||o.setShowDirection(t)}}),m&&React__default.default.createElement(PointCloud3DContext.Provider,{value:S},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:m})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:m}),title:m?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{g(!1)}}),V("3DView")):React__default.default.createElement(index$2,{title:V("3DView"),onClick:()=>{g(!0)}}),toolbar:L},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!m&&React__default.default.createElement(PointCloud3DContext.Provider,{value:S},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:f})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
1
+ "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),useToolStyle=require("../../hooks/useToolStyle.js"),usePointCloudAttribute=require("./hooks/usePointCloudAttribute.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,i,a)=>i in n?__defProp(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,__spreadValues=(n,i)=>{for(var a in i||(i={}))__hasOwnProp.call(i,a)&&__defNormalProp(n,a,i[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(i))__propIsEnum.call(i,a)&&__defNormalProp(n,a,i[a]);return n};const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:n})=>{const{isActive:i,setTarget3DView:a}=React.useContext(PointCloud3DContext),m=d=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",d)]:!0,active:i});return React__default.default.createElement("span",{onClick:()=>{a(lbUtils.EPerspectiveView[n])},className:m(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:i,followTopView:a}=React.useContext(PointCloud3DContext),{t:m}=reactI18next.useTranslation(),d=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),e=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:m("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{a()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","reset")}));return n?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},e,d):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},d,e)},PointCloud3D=({currentData:n,config:i,highlightAttribute:a,setResourceLoading:m})=>{var d;const e=React.useContext(PointCloudContext.PointCloudContext),{setIsLargeStatus:I}=e,[B,L]=React.useState(!0),[v,g]=React.useState(!1),f=React.useRef(null),{initPointCloud3d:h,generateRects:N}=usePointCloudViews.usePointCloudViews(),p=useSize(f),{t:P}=reactI18next.useTranslation(),{value:_}=useToolStyle.useToolStyleContext(),{hiddenText:S}=_||{},{updatePointCloudAttribute:q}=usePointCloudAttribute.usePointCloudAttribute(m,i),{updateSelectedBox:j}=useSingleBox.useSingleBox({generateRects:N});React.useEffect(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(S,e.pointCloudBoxList)},[_]),React.useEffect(()=>{!e.mainViewInstance||h==null||h(p)},[p]);const{selectedBox:c}=useSingleBox.useSingleBox(),{selectedSphere:V}=useSphere.useSphere(),[R,b]=React.useState(!0),E=t=>{var o,l;const s=c==null?void 0:c.info;if(s){const r=__spreadValues({},s.center);r.x=r.x-.01,r.z=1e3;const u=t===lbUtils.EPerspectiveView.Top;(o=e.mainViewInstance)==null||o.updateCameraByBox(s,t,u?r:void 0)}V&&((l=e.mainViewInstance)==null||l.updateCameraBySphere(V,t))},D=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},O=()=>{var t,o;const l=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((o=e.mainViewInstance)==null||o.applyCameraTarget(l))};React.useEffect(()=>{if(f.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&p.width&&(t=new lbAnnotation.PointCloud({container:f.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(p),config:i,hiddenText:S,view:"3DView"}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:b}),e.setMainViewInstance(t))}},[p,n]),React.useEffect(()=>{var t,o;if(f.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let l=e.mainViewInstance;const s=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result),r=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),u=r.find(x=>x.id===e.selectedID);u&&((t=e.topViewInstance)==null||t.updatePolygonList(r,void 0),q(u.attribute),j(u),e.setSelectedIDs(u.id));const w=index.jsonParser(n.result),C=index.jsonParser(n.preResult);e.setPointCloudValid((o=w==null?void 0:w.valid)!=null?o:C==null?void 0:C.valid),e.setPointCloudResult(r),e.setRectList(s),l.generateBoxes(r)}},[n.result,e.mainViewInstance]),React.useEffect(()=>{var t,o,l,s,r,u,w;const C=(t=c==null?void 0:c.info)==null?void 0:t.id;if(!R){b(!0);return}if(C!==void 0){E(lbUtils.EPerspectiveView.Top);const x=(s=(l=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:l.camera.zoom)!=null?s:1;(r=e.mainViewInstance)==null||r.updateCameraZoom(x)}(u=e.mainViewInstance)==null||u.setHighlightColor(C),(w=e.mainViewInstance)==null||w.render()},[(d=c==null?void 0:c.info)==null?void 0:d.id]),React.useEffect(()=>{var t,o,l,s;if(V){E(lbUtils.EPerspectiveView.Top);const r=(l=(o=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?l:1;(s=e.mainViewInstance)==null||s.updateCameraZoom(r)}},[V]),React.useEffect(()=>(window.addEventListener("keydown",T),()=>{window.removeEventListener("keydown",T)}),[]);const T=t=>{if(t.keyCode===EKeyCode.Esc){g(!1);return}},y=React.useMemo(()=>({reset3DView:D,setTarget3DView:E,isActive:!!c,followTopView:O}),[c,e.mainViewInstance]);React.useEffect(()=>{var t,o,l;const s=e.pointCloudBoxList.filter(r=>r.attribute===a);(s==null?void 0:s.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(o=e.mainViewInstance)==null||o.highlightBoxes(s)),s.length===0&&((l=e.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[a,e.mainViewInstance]);const k=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:t=>{var o;(o=e.mainViewInstance)==null||o.updatePointSize({customSize:t})}}),React__default.default.createElement("span",{style:{marginRight:8}},P("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:B,onChange:t=>{var o;L(t),(o=e.mainViewInstance)==null||o.setShowDirection(t)}}),v&&React__default.default.createElement(PointCloud3DContext.Provider,{value:y},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:v})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:v}),title:v?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{I(!1),g(!1)}}),P("3DView")):React__default.default.createElement(index$2,{title:P("3DView"),onClick:()=>{I(!0),g(!0)}}),toolbar:k},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!v&&React__default.default.createElement(PointCloud3DContext.Provider,{value:y},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:f})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),actionCreators=require("../../store/annotation/actionCreators.js"),index=require("../../store/annotatedBox/index.js"),_=require("lodash"),map=require("./utils/map.js"),useTimeoutFunc=require("./hooks/useTimeoutFunc.js"),useWindowKeydownListener=require("./hooks/useWindowKeydownListener.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,i,d)=>i in r?__defProp(r,i,{enumerable:!0,configurable:!0,writable:!0,value:d}):r[i]=d,__spreadValues=(r,i)=>{for(var d in i||(i={}))__hasOwnProp.call(i,d)&&__defNormalProp(r,d,i[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(i))__propIsEnum.call(i,d)&&__defNormalProp(r,d,i[d]);return r},__spreadProps=(r,i)=>__defProps(r,__getOwnPropDescs(i)),__async=(r,i,d)=>new Promise((x,D)=>{var A=u=>{try{I(d.next(u))}catch(R){D(R)}},O=u=>{try{I(d.throw(u))}catch(R){D(R)}},I=u=>u.done?x(u.value):Promise.resolve(u.value).then(A,O);I((d=d.apply(r,i)).next())});const pickRectObject=r=>___default.default.pick(r,["id","attribute","width","height","x","y","imageName"]),PointCloudContext=React__default.default.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:lbAnnotation.EToolName.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:lbUtils.EPointCloudPattern.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:r=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:r=>!1,removeRectBySpecifyId:(r,i,d)=>!1,removeRectByPointCloudBoxId:r=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:useWindowKeydownListener.getEmptyUseWindowKeydownListener()}),PointCloudProvider=({children:r})=>{const[i,d]=React.useState([]),[x,D]=React.useState([]),[A,O]=React.useState([]),[I,u]=React.useState([]),[R,Re]=React.useState([]),[v,N]=React.useState([]),[B,j]=React.useState([]),[U,xe]=React.useState(!0),[Z,Le]=React.useState(2),[J,De]=React.useState(!0),[Q,Ae]=React.useState(1),[f,X]=React.useState(),[Y,$]=React.useState(),[ee,te]=React.useState(),[g,oe]=React.useState(),[ne,Be]=React.useState(""),[F,_e]=React.useState(lbAnnotation.EToolName.Rect),q=React.useRef(new lbAnnotation.ActionsHistory).current,[p,T]=React.useState([]),[ie,Ve]=React.useState(""),[z,Ne]=React.useState(lbUtils.EPointCloudPattern.Detection),[L,se]=React.useState(void 0),[W,He]=React.useState([]),[G,Me]=React.useState([]),[re,ke]=React.useState(!1),h=index(),[le,Ee]=React.useState({}),Oe=ctx.useDispatch(),je=o=>{const{imgNode:n,path:t}=o;t&&n&&Ee(a=>__spreadProps(__spreadValues({},a),{[t]:{width:n.width,height:n.height}}))},ae=React.useMemo(()=>v.length===1?v[0]:"",[v]),de=useWindowKeydownListener.default(),H=React.useCallback((o,n,t="extId")=>{const a=t||"id",l=new Set(n);return u(c=>{let S=!1;const P=c.filter(k=>{const K=k[a],E=l.has(K)?k.imageName!==o:!0;return E||(S=!0),E});return S?P:c}),!0},[]),ce=React.useCallback(o=>{const n=i.map(t=>t.id);return H(o,n,"extId")},[i,H]),ue=React.useCallback(o=>{if(!o)return!1;const n=i.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:a,attribute:l,trackID:c}=t,S=t.rects.find(P=>P.imageName===o);if(S){const P=___default.default.pick(S,["width","height","x","y","imageName"]);return __spreadProps(__spreadValues({},P),{id:lbAnnotation.uuid(),attribute:l,order:c,extId:a,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(u(t=>{const a=new Set(t.filter(c=>o===c.imageName).map(c=>c.extId)),l=n.filter(c=>a.has(c.extId)===!1);return l.length?[...t,...l]:t}),!0):!1},[i]),ge=React.useMemo(()=>i.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var a;return(a=t.rects)==null||a.forEach(l=>{const{imageName:c}=l;if(!c){console.warn("Missing image name"),console.trace(l,t);return}map.addMapIndirectWeakSetItem(n,c,t.id,t)}),n},new Map),[i]),fe=React.useCallback(o=>{u(n=>o(n,pickRectObject))},[pickRectObject]),pe=React.useMemo(()=>I.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(map.addMapIndirectWeakSetItem(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,I),o)},new Map),[I]),{fn:Fe}=useTimeoutFunc.default(o=>{N(n=>{const t=o,a=new Set(t);let l=!1;const c=n.filter(S=>{const P=a.has(S);return P||(l=!0),P});return l?c:n})},200),he=React.useCallback(o=>{const n=o.map(t=>t.id);d(o),Fe(n)},[]),M=React.useMemo(()=>{const o=i.find(e=>e.id===ae),n=e=>{const s=i.concat(e);return he(s),s},t=e=>{const s=x.concat(e);return D(s),s},a=e=>{xe(e!==!1)},l=e=>{e===void 0&&N([]),typeof e=="string"&&N([e]),Array.isArray(e)&&N(Array.from(new Set(e)))},c=e=>{v.includes(e)?l(v.filter(s=>s!==e)):l([...v,e])},S=e=>{const s=pickRectObject(e);u(m=>[...m,s])},P=(e,s=!1)=>{const m=pickRectObject(e);u(C=>C.map(w=>w.id===e.id?s?__spreadValues(__spreadValues({},w),m):m:w))},k=e=>{u(s=>s.filter(m=>!e.find(C=>C.id===m.id)))},K=e=>{B.includes(e)?j([]):j([e])},E=()=>{if(F===lbAnnotation.EToolName.Rect){const e=i.map(s=>s.id);l(e),f==null||f.pointCloud2dOperation.setSelectedIDs(e)}},Te=e=>{l(i.filter(s=>s.attribute===e).map(s=>s.id))},me=i.filter(e=>!p.includes(e.attribute)),ve=x.filter(e=>!p.includes(e.attribute)),Pe=R.filter(e=>e.attribute&&!p.includes(e.attribute)),ze=e=>{if(p.includes(e))T(p.filter(s=>s!==e));else{const s=p.concat(e);T(s)}},We=(e=me,s=A,m=ve,C=Pe,w=W)=>{var V;g==null||g.clearAllBox(),g==null||g.clearAllSphere(),f==null||f.updatePolygonList(e,s),f==null||f.updatePointList(m),f==null||f.updateLineList(C),g==null||g.generateBoxes(e),g==null||g.generateSpheres(m),(V=L==null?void 0:L.store)==null||V.updateCurrentSegment(w),Ie(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,e)},Ge=()=>{X(void 0),$(void 0),te(void 0),oe(void 0)},Ie=(e,s,m)=>__async(void 0,null,function*(){var C,w,V;if(!g)return;const Se=g.pointCloudObject;if(!Se)return;let Ce=[],we=[];try{if(s&&q.record.length){const{record:y,recordIndex:b}=q;let ye=b;b>0&&(e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleToggleValid||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleRotate||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single&&s.length===((C=y[b])==null?void 0:C.pointCloudBoxList.length))&&(ye=b-1);let Ke=(w=y[ye])==null?void 0:w.pointCloudBoxList;const be=ToolPointCloudBoxRenderHelper.calcResetAreasAndBoxIds(e,s,Ke);Ce=be.modifiedBoxIds,we=be.resetAreas}}catch(y){console.error("call calcResetAreasAndBoxIds error",y)}try{const y=yield g.getHighlightIndexByMappingImgList({mappingImgList:m!=null?m:G,points:Se.geometry.attributes.position.array}),b=yield g==null?void 0:g.highlightOriginPointCloud(s,y,{modifiedBoxIds:Ce,resetAreas:we});return b&&((V=f==null?void 0:f.pointCloudInstance)==null||V.updateColor(b)),b}catch(y){console.error("call highlightOriginPointCloud error",y)}});return{selectedID:ae,pointCloudBoxList:i,pointCloudSphereList:x,displayPointCloudList:me,displaySphereList:ve,displayLineList:Pe,selectedIDs:v,setPointCloudResult:he,setSelectedIDs:l,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:D,valid:U,selectedPointCloudBox:o,setPointCloudValid:a,addSelectedID:c,addHighlightID:K,selectedAllBoxes:E,topViewInstance:f,setTopViewInstance:X,sideViewInstance:Y,setSideViewInstance:$,backViewInstance:ee,setBackViewInstance:te,mainViewInstance:g,setMainViewInstance:oe,polygonList:A,setPolygonList:O,rectList:I,setRectList:u,addRectIn2DView:S,removeRectIn2DView:k,updateRectIn2DView:P,lineList:R,setLineList:Re,zoom:Q,setZoom:Ae,history:q,toggleAttributesVisible:ze,hideAttributes:p,setHideAttributes:T,reRender:We,attrPanelLayout:ie,setAttrPanelLayout:Ve,syncAllViewPointCloudColor:Ie,defaultAttribute:ne,setDefaultAttribute:Be,pointCloudPattern:F,setPointCloudPattern:_e,selectSpecAttr:Te,globalPattern:z,setGlobalPattern:e=>{z!==e&&(Oe(actionCreators.ChangeSave),Ne(e),e===lbUtils.EPointCloudPattern.Detection&&se(void 0))},ptSegmentInstance:L,setPtSegmentInstance:se,segmentation:W,setSegmentation:He,clearAllDetectionInstance:Ge,highlight2DDataList:G,setHighlight2DDataList:Me,highlight2DLoading:re,setHighlight2DLoading:ke,cuboidBoxIn2DView:J,setCuboidBoxIn2DView:De,imageSizes:le,cacheImageNodeSize:je,highlightIDs:B,setHighlightIDs:j,removeRectByPointCloudBoxId:ce,removeRectBySpecifyId:H,addRectFromPointCloudBoxByImageName:ue,rectRotateSensitivity:Z,setRectRotateSensitivity:Le,imageNamePointCloudBoxMap:ge,linkageImageNameRectMap:pe,updateRectListByReducer:fe,windowKeydownListenerHook:de}},[U,v,i,x,A,R,I,f,Y,ee,g,Q,p,ie,ne,F,z,L,W,G,re,J,le,B,ce,H,ue,Z,ge,pe,fe,de]);React.useEffect(()=>{var o,n,t;(o=h==null?void 0:h.setPointCloudBoxList)==null||o.call(h,i),(n=h==null?void 0:h.setHighlightIDs)==null||n.call(h,B),(t=h==null?void 0:h.setSelectedIDs)==null||t.call(h,v)},[i,v,B]),React.useEffect(()=>{var o;(o=h==null?void 0:h.setPtCtx)==null||o.call(h,M)},[M]);const qe=()=>{const o=i.filter(l=>p.includes(l.attribute)),{setSelectedIDs:n,reRender:t}=M,a=o.map(l=>l.id);a.length>0&&n(v.filter(l=>!a.includes(l))),t()};return React.useEffect(()=>{var o,n,t,a;qe(),(n=(o=f==null?void 0:f.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,p),(a=(t=L==null?void 0:L.store)==null?void 0:t.setHiddenAttributes)==null||a.call(t,p)},[p]),React__default.default.createElement(PointCloudContext.Provider,{value:M},r)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),actionCreators=require("../../store/annotation/actionCreators.js"),index=require("../../store/annotatedBox/index.js"),_=require("lodash"),map=require("./utils/map.js"),useTimeoutFunc=require("./hooks/useTimeoutFunc.js"),useWindowKeydownListener=require("./hooks/useWindowKeydownListener.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,s,c)=>s in r?__defProp(r,s,{enumerable:!0,configurable:!0,writable:!0,value:c}):r[s]=c,__spreadValues=(r,s)=>{for(var c in s||(s={}))__hasOwnProp.call(s,c)&&__defNormalProp(r,c,s[c]);if(__getOwnPropSymbols)for(var c of __getOwnPropSymbols(s))__propIsEnum.call(s,c)&&__defNormalProp(r,c,s[c]);return r},__spreadProps=(r,s)=>__defProps(r,__getOwnPropDescs(s)),__async=(r,s,c)=>new Promise((x,B)=>{var A=u=>{try{P(c.next(u))}catch(y){B(y)}},O=u=>{try{P(c.throw(u))}catch(y){B(y)}},P=u=>u.done?x(u.value):Promise.resolve(u.value).then(A,O);P((c=c.apply(r,s)).next())});const pickRectObject=r=>___default.default.pick(r,["id","attribute","width","height","x","y","imageName"]),PointCloudContext=React__default.default.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,visibleBatchSetValid:!1,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setBatchSetValidModal:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:lbAnnotation.EToolName.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:lbUtils.EPointCloudPattern.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:r=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:r=>!1,removeRectBySpecifyId:(r,s,c)=>!1,removeRectByPointCloudBoxId:r=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:useWindowKeydownListener.getEmptyUseWindowKeydownListener(),isLargeStatus:!1,setIsLargeStatus:()=>{}}),PointCloudProvider=({children:r})=>{const[s,c]=React.useState([]),[x,B]=React.useState([]),[A,O]=React.useState([]),[P,u]=React.useState([]),[y,Be]=React.useState([]),[v,Z]=React.useState([]),[V,j]=React.useState([]),[J,Ae]=React.useState(!0),[Q,_e]=React.useState(2),[X,Ve]=React.useState(!0),[Y,Ne]=React.useState(1),[f,$]=React.useState(),[ee,te]=React.useState(),[oe,ne]=React.useState(),[g,ie]=React.useState(),[se,He]=React.useState(""),[F,Me]=React.useState(lbAnnotation.EToolName.Rect),q=React.useRef(new lbAnnotation.ActionsHistory).current,[h,T]=React.useState([]),[re,ke]=React.useState(""),[z,Ee]=React.useState(lbUtils.EPointCloudPattern.Detection),[L,ae]=React.useState(void 0),[W,Oe]=React.useState([]),[G,je]=React.useState([]),[le,Fe]=React.useState(!1),[de,ce]=React.useState(!1),p=index(),[ue,qe]=React.useState(!1),[ge,Te]=React.useState({}),ze=ctx.useDispatch(),We=o=>{const{imgNode:n,path:t}=o;t&&n&&Te(l=>__spreadProps(__spreadValues({},l),{[t]:{width:n.width,height:n.height}}))},fe=React.useMemo(()=>v.length===1?v[0]:"",[v]),he=useWindowKeydownListener.default(),H=React.useCallback((o,n,t="extId")=>{const l=t||"id",d=new Set(n);return u(a=>{let I=!1;const S=a.filter(k=>{const K=k[l],E=d.has(K)?k.imageName!==o:!0;return E||(I=!0),E});return I?S:a}),!0},[]),pe=React.useCallback(o=>{const n=s.map(t=>t.id);return H(o,n,"extId")},[s,H]),me=React.useCallback(o=>{if(!o)return!1;const n=s.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:l,attribute:d,trackID:a}=t,I=t.rects.find(S=>S.imageName===o);if(I){const S=___default.default.pick(I,["width","height","x","y","imageName"]);return __spreadProps(__spreadValues({},S),{id:lbAnnotation.uuid(),attribute:d,order:a,extId:l,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(u(t=>{const l=new Set(t.filter(a=>o===a.imageName).map(a=>a.extId)),d=n.filter(a=>l.has(a.extId)===!1);return d.length?[...t,...d]:t}),!0):!1},[s]),ve=React.useMemo(()=>s.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var l;return(l=t.rects)==null||l.forEach(d=>{const{imageName:a}=d;if(!a){console.warn("Missing image name"),console.trace(d,t);return}map.addMapIndirectWeakSetItem(n,a,t.id,t)}),n},new Map),[s]),Se=React.useCallback(o=>{u(n=>o(n,pickRectObject))},[pickRectObject]),Pe=React.useMemo(()=>P.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(map.addMapIndirectWeakSetItem(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,P),o)},new Map),[P]),{fn:Ge}=useTimeoutFunc.default(o=>{Z(n=>{const t=o,l=new Set(t);let d=!1;const a=n.filter(I=>{const S=l.has(I);return S||(d=!0),S});return d?a:n})},200),Ie=React.useCallback(o=>{const n=o.map(t=>t.id);c(o),Ge(n)},[]),M=React.useMemo(()=>{const o=s.find(e=>e.id===fe),n=e=>{const i=s.concat(e);return Ie(i),i},t=e=>{const i=x.concat(e);return B(i),i},l=e=>{Ae(e!==!1)},d=e=>{qe(e)},a=e=>{let i=[];e===void 0||e===""?i=[]:typeof e=="string"?i=[e]:Array.isArray(e)&&(i=e.length>1?Array.from(new Set(e)):e),Z(i)},I=e=>{v.includes(e)?a(v.filter(i=>i!==e)):a([...v,e])},S=e=>{const i=pickRectObject(e);u(m=>[...m,i])},k=(e,i=!1)=>{const m=pickRectObject(e);u(C=>C.map(w=>w.id===e.id?i?__spreadValues(__spreadValues({},w),m):m:w))},K=e=>{u(i=>i.filter(m=>!e.find(C=>C.id===m.id)))},E=e=>{V.includes(e)?j([]):j([e])},Ue=()=>{if(F===lbAnnotation.EToolName.Rect){const e=s.map(i=>i.id);a(e),f==null||f.pointCloud2dOperation.setSelectedIDs(e)}},Ze=e=>{a(s.filter(i=>i.attribute===e).map(i=>i.id))},Ce=s.filter(e=>!h.includes(e.attribute)),we=x.filter(e=>!h.includes(e.attribute)),be=y.filter(e=>e.attribute&&!h.includes(e.attribute)),Je=e=>{if(h.includes(e))T(h.filter(i=>i!==e));else{const i=h.concat(e);T(i)}},Qe=(e=Ce,i=A,m=we,C=be,w=W)=>{var N;g==null||g.clearAllBox(),g==null||g.clearAllSphere(),f==null||f.updatePolygonList(e,i),f==null||f.updatePointList(m),f==null||f.updateLineList(C),g==null||g.generateBoxes(e),g==null||g.generateSpheres(m),(N=L==null?void 0:L.store)==null||N.updateCurrentSegment(w),ye(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,e)},Xe=()=>{$(void 0),te(void 0),ne(void 0),ie(void 0)},ye=(e,i,m)=>__async(void 0,null,function*(){var C,w,N;if(!g)return;const Re=g.pointCloudObject;if(!Re)return;let xe=[],Le=[];try{if(i&&q.record.length){const{record:b,recordIndex:R}=q;let D=R;R>0&&(e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleToggleValid||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleRotate||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single&&i.length===((C=b[R])==null?void 0:C.pointCloudBoxList.length))&&(D=R-1);let U=(w=b[D])==null?void 0:w.pointCloudBoxList;const De=ToolPointCloudBoxRenderHelper.calcResetAreasAndBoxIds(e,i,U);xe=De.modifiedBoxIds,Le=De.resetAreas}}catch(b){console.error("call calcResetAreasAndBoxIds error",b)}try{const b=yield g.getHighlightIndexByMappingImgList({mappingImgList:m!=null?m:G,points:Re.geometry.attributes.position.array}),R=yield g==null?void 0:g.highlightOriginPointCloud(i,b,{modifiedBoxIds:xe,resetAreas:Le}),{color:D,currentPCDSrc:U}=R!=null?R:{};return D&&((N=f==null?void 0:f.pointCloudInstance)==null||N.updateColor(D,U)),D}catch(b){console.error("call highlightOriginPointCloud error",b)}});return{selectedID:fe,pointCloudBoxList:s,pointCloudSphereList:x,displayPointCloudList:Ce,displaySphereList:we,displayLineList:be,selectedIDs:v,setPointCloudResult:Ie,setSelectedIDs:a,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:B,valid:J,visibleBatchSetValid:ue,selectedPointCloudBox:o,setPointCloudValid:l,setBatchSetValidModal:d,addSelectedID:I,addHighlightID:E,selectedAllBoxes:Ue,topViewInstance:f,setTopViewInstance:$,sideViewInstance:ee,setSideViewInstance:te,backViewInstance:oe,setBackViewInstance:ne,mainViewInstance:g,setMainViewInstance:ie,polygonList:A,setPolygonList:O,rectList:P,setRectList:u,addRectIn2DView:S,removeRectIn2DView:K,updateRectIn2DView:k,lineList:y,setLineList:Be,zoom:Y,setZoom:Ne,history:q,toggleAttributesVisible:Je,hideAttributes:h,setHideAttributes:T,reRender:Qe,attrPanelLayout:re,setAttrPanelLayout:ke,syncAllViewPointCloudColor:ye,defaultAttribute:se,setDefaultAttribute:He,pointCloudPattern:F,setPointCloudPattern:Me,selectSpecAttr:Ze,globalPattern:z,setGlobalPattern:e=>{z!==e&&(ze(actionCreators.ChangeSave),Ee(e),e===lbUtils.EPointCloudPattern.Detection&&ae(void 0))},ptSegmentInstance:L,setPtSegmentInstance:ae,segmentation:W,setSegmentation:Oe,clearAllDetectionInstance:Xe,highlight2DDataList:G,setHighlight2DDataList:je,highlight2DLoading:le,setHighlight2DLoading:Fe,cuboidBoxIn2DView:X,setCuboidBoxIn2DView:Ve,imageSizes:ge,cacheImageNodeSize:We,highlightIDs:V,setHighlightIDs:j,removeRectByPointCloudBoxId:pe,removeRectBySpecifyId:H,addRectFromPointCloudBoxByImageName:me,rectRotateSensitivity:Q,setRectRotateSensitivity:_e,imageNamePointCloudBoxMap:ve,linkageImageNameRectMap:Pe,updateRectListByReducer:Se,windowKeydownListenerHook:he,isLargeStatus:de,setIsLargeStatus:ce}},[J,ue,v,s,x,A,y,P,f,ee,oe,g,Y,h,re,se,F,z,L,W,G,le,X,ge,V,pe,H,me,Q,ve,Pe,Se,he,de,ce]);React.useEffect(()=>{var o,n,t;(o=p==null?void 0:p.setPointCloudBoxList)==null||o.call(p,s),(n=p==null?void 0:p.setHighlightIDs)==null||n.call(p,V),(t=p==null?void 0:p.setSelectedIDs)==null||t.call(p,v)},[s,v,V]),React.useEffect(()=>{var o;(o=p==null?void 0:p.setPtCtx)==null||o.call(p,M)},[M]);const Ke=()=>{const o=s.filter(d=>h.includes(d.attribute)),{setSelectedIDs:n,reRender:t}=M,l=o.map(d=>d.id);l.length>0&&n(v.filter(d=>!l.includes(d))),t()};return React.useEffect(()=>{var o,n,t,l;Ke(),(n=(o=f==null?void 0:f.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,h),(l=(t=L==null?void 0:L.store)==null?void 0:t.setHiddenAttributes)==null||l.call(t,h)},[h]),React__default.default.createElement(PointCloudContext.Provider,{value:M},r)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
@@ -1 +1 @@
1
- "use strict";var PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),useStatus=require("./hooks/useStatus.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),ctx=require("../../store/ctx.js"),useHistory=require("./hooks/useHistory.js"),useAttribute=require("./hooks/useAttribute.js"),useConfig=require("./hooks/useConfig.js"),usePolygon=require("./hooks/usePolygon.js"),useLine=require("./hooks/useLine.js"),useUpdatePointCloudColor=require("./hooks/useUpdatePointCloudColor.js"),reactI18next=require("react-i18next"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,r,i)=>r in n?__defProp(n,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[r]=i,__spreadValues=(n,r)=>{for(var i in r||(r={}))__hasOwnProp.call(r,i)&&__defNormalProp(n,i,r[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(r))__propIsEnum.call(r,i)&&__defNormalProp(n,i,r[i]);return n},__spreadProps=(n,r)=>__defProps(n,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:n,config:r,checkMode:i,configString:V,imgIndex:C,toolInstanceRef:a,setResourceLoading:f})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:_,selectNextBox:E,selectPrevBox:B,updateSelectedBox:L,deleteSelectedPointCloudBoxAndPolygon:q}=useSingleBox.useSingleBox(),{selectedSphere:b,updatePointCloudSphere:I}=useSphere.useSphere(),{clearAllResult:P,updatePointCloudPattern:O}=useStatus.useStatus(),{copySelectedBoxes:j,pasteSelectedBoxes:A,copiedBoxes:$}=useBoxes.useBoxes({config:r,currentData:n}),{updateRotate:g}=useRotate.useRotate({currentData:n}),{updateRotateEdge:T}=useRotateEdge.useRotateEdge({currentData:n}),{updatePointCloudData:p,topViewSelectedChanged:D}=usePointCloudViews.usePointCloudViews({setResourceLoading:f}),{redo:h,undo:m,pushHistoryWithList:H,pushHistoryUnderUpdatePolygon:N,pushHistoryUnderUpdateLine:K}=useHistory.useHistory(),{syncThreeViewsAttribute:S}=useAttribute.useAttribute(),{syncAllViewsConfig:U,reRenderTopViewRange:R}=useConfig.useConfig(),{selectedPolygon:k}=usePolygon.usePolygon(),{selectedLine:x}=useLine.useLine(),{t:y}=reactI18next.useTranslation(),{updatePointCloudColor:z}=useUpdatePointCloudColor.useUpdatePointCloudColor(f,r),F=ahooks.useLatest(n),v=t=>{var o;const{topViewInstance:s}=e;!s||(o=s.pointCloud2dOperation)==null||o.updateSelectedPolygonsPoints(t)},G=(t,o)=>{var s,u;const{topViewInstance:c,mainViewInstance:l}=e;if(!c)return;const{pointCloud2dOperation:w}=c;switch(t){case"q":{g(e.rectRotateSensitivity);break}case"e":g(-Number(e.rectRotateSensitivity));break;case"g":T(-90);break;case"u":{const d=w.pattern===EPolygonPattern.Normal?lbAnnotation.EToolName.Rect:lbAnnotation.EToolName.Polygon;O(d);const Y={[lbAnnotation.EToolName.Polygon]:y("PolygonPattern"),[lbAnnotation.EToolName.Rect]:y("RectPattern")};antd.message.success(y("ChangePatternMsg",{pattern:Y[d]})),w.clearActiveStatus(),w.clearDrawingStatus()}break;case"+":l==null||l.updatePointSize({zoomIn:!0});break;case"-":l==null||l.updatePointSize({zoomIn:!1});break;case"v":e.setPointCloudValid(!e.valid);break;case"tab":if(o.shiftKey){B();break}E(),o.preventDefault();break;case"f":_();break;case"arrowup":v({y:-1});break;case"arrowdown":v({y:1});break;case"arrowleft":v({x:-1});break;case"arrowright":v({x:1});break;case"delete":q(F.current);break;default:{if(((s=r.attributeList)==null?void 0:s.length)>0){const d=lbAnnotation.AttributeUtils.getAttributeByKeycode(o.keyCode,r.attributeList);d!==void 0&&((u=a.current)==null||u.setDefaultAttribute(d))}return}}},M=(t,o)=>{switch(t){case"c":j();break;case"v":A();break;case"a":o.preventDefault(),e.selectedAllBoxes();break;case"z":{o.shiftKey?h():m();break}}},W=ahooks.useLatest(t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t)||i===!0)return;const o=t.key.toLocaleLowerCase();if(t.ctrlKey){M(o,t);return}G(o,t)});return React.useEffect(()=>{if(!e.topViewInstance)return;const{addEventListener:o}=e.windowKeydownListenerHook;return o(c=>W.current(c))},[e,e.topViewInstance,e.windowKeydownListenerHook]),React.useEffect(()=>{U(r)},[V]),React.useEffect(()=>{(r==null?void 0:r.radius)&&R(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{p==null||p()},[C,e.mainViewInstance]),React.useEffect(()=>{e.setHideAttributes([])},[C]),React.useEffect(()=>{a.current.setDefaultAttribute=t=>{var o;if(S(t),z(t),k&&N(__spreadProps(__spreadValues({},k),{attribute:t})),x&&K(__spreadProps(__spreadValues({},x),{attribute:t})),b){const s=I(__spreadProps(__spreadValues({},b),{attribute:t}));e.mainViewInstance&&((o=e.mainViewInstance)==null||o.generateSpheres(s),D({newSelectedSphere:b,newSphereList:s}))}},a.current.setSubAttribute=(t,o)=>{var s;const u=e.selectedPointCloudBox;if(u){const c=(s=u==null?void 0:u.subAttribute)!=null?s:{};u.subAttribute=__spreadProps(__spreadValues({},c),{[t]:o}),L(u),e.mainViewInstance&&e.selectedPointCloudBox&&(e.mainViewInstance.generateBox(e.selectedPointCloudBox),e.mainViewInstance.setHighlightColor(u.id),e.mainViewInstance.render())}},a.current.clearResult=()=>{P==null||P()},a.current.redo=()=>{h()},a.current.undo=()=>{m()},a.current.setValid=t=>{a.current.valid=t,setTimeout(()=>{e.setPointCloudValid(t),t===!1&&P()})},a.current.setForbidOperation=t=>{var o,s;(s=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setForbidOperation(t),t===!0&&e.setSelectedIDs(void 0)},a.current.setShowDefaultCursor=t=>{var o,s;(s=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setShowDefaultCursor(t)},a.current.asyncData=t=>{setTimeout(()=>{p==null||p(t)})}},[e.pointCloudBoxList,e.pointCloudSphereList,e.selectedID,e.selectedIDs,e.valid,e.polygonList,e.lineList,e.mainViewInstance,e.ptSegmentInstance]),React.useEffect(()=>{a.current.updateSegmentTool=t=>{var o;(o=e.ptSegmentInstance)==null||o.emit(t)},a.current.segmentInstance=e.ptSegmentInstance},[e.ptSegmentInstance]),React.useEffect(()=>{a.current.history={pushHistory:t=>{H({pointCloudBoxList:t})},initRecord:()=>{}}},[]),React.useEffect(()=>{var t;const o=(t=e.topViewInstance)==null?void 0:t.toolInstance;if(!o||i)return;const s=l=>{S(l)},u=l=>{antd.message.error(l)},c=l=>{antd.message.info(l)};return o.on("syncAttribute",s),o.on("messageError",u),o.on("messageInfo",c),()=>{o.unbind("syncAttribute",s),o.unbind("messageError",u),o.unbind("messageInfo",c)}},[e.topViewInstance]),null};var PointCloudListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudListener);module.exports=PointCloudListener$1;
1
+ "use strict";var PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),useStatus=require("./hooks/useStatus.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),ctx=require("../../store/ctx.js"),useHistory=require("./hooks/useHistory.js"),useAttribute=require("./hooks/useAttribute.js"),useConfig=require("./hooks/useConfig.js"),usePolygon=require("./hooks/usePolygon.js"),useLine=require("./hooks/useLine.js"),useUpdatePointCloudColor=require("./hooks/useUpdatePointCloudColor.js"),reactI18next=require("react-i18next"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(a,r,u)=>r in a?__defProp(a,r,{enumerable:!0,configurable:!0,writable:!0,value:u}):a[r]=u,__spreadValues=(a,r)=>{for(var u in r||(r={}))__hasOwnProp.call(r,u)&&__defNormalProp(a,u,r[u]);if(__getOwnPropSymbols)for(var u of __getOwnPropSymbols(r))__propIsEnum.call(r,u)&&__defNormalProp(a,u,r[u]);return a},__spreadProps=(a,r)=>__defProps(a,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:a,config:r,checkMode:u,configString:x,imgIndex:w,toolInstanceRef:i,setResourceLoading:b,isBatchSetValid:k})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:V,selectNextBox:_,selectPrevBox:E,updateSelectedBox:L,deleteSelectedPointCloudBoxAndPolygon:B}=useSingleBox.useSingleBox(),{selectedSphere:v,updatePointCloudSphere:I}=useSphere.useSphere(),{clearAllResult:C,updatePointCloudPattern:q}=useStatus.useStatus(),{copySelectedBoxes:O,pasteSelectedBoxes:T,copiedBoxes:$}=useBoxes.useBoxes({config:r,currentData:a}),{updateRotate:y}=useRotate.useRotate({currentData:a}),{updateRotateEdge:j}=useRotateEdge.useRotateEdge({currentData:a}),{updatePointCloudData:d,topViewSelectedChanged:A}=usePointCloudViews.usePointCloudViews({setResourceLoading:b}),{redo:h,undo:g,pushHistoryWithList:D,pushHistoryUnderUpdatePolygon:H,pushHistoryUnderUpdateLine:N}=useHistory.useHistory(),{syncThreeViewsAttribute:S}=useAttribute.useAttribute(),{syncAllViewsConfig:R,reRenderTopViewRange:K,reRenderTopViewTipScopeList:U}=useConfig.useConfig(),{selectedPolygon:m}=usePolygon.usePolygon(),{selectedLine:f}=useLine.useLine(),{t:P}=reactI18next.useTranslation(),{updatePointCloudColor:z}=useUpdatePointCloudColor.useUpdatePointCloudColor(b,r),F=ahooks.useLatest(a),p=t=>{var o;const{topViewInstance:s}=e;!s||(o=s.pointCloud2dOperation)==null||o.updateSelectedPolygonsPoints(t)},M=(t,o)=>{const{topViewInstance:s,mainViewInstance:n}=e;if(!s)return;const{pointCloud2dOperation:l}=s;switch(t){case"q":{y(e.rectRotateSensitivity);break}case"e":y(-Number(e.rectRotateSensitivity));break;case"g":j(-90);break;case"u":{const c=l.pattern===EPolygonPattern.Normal?lbAnnotation.EToolName.Rect:lbAnnotation.EToolName.Polygon;q(c);const Y={[lbAnnotation.EToolName.Polygon]:P("PolygonPattern"),[lbAnnotation.EToolName.Rect]:P("RectPattern")};antd.message.success(P("ChangePatternMsg",{pattern:Y[c]})),l.clearActiveStatus(),l.clearDrawingStatus()}break;case"+":n==null||n.updatePointSize({zoomIn:!0});break;case"-":n==null||n.updatePointSize({zoomIn:!1});break;case"v":k?(antd.Modal.destroyAll(),e.setBatchSetValidModal(!e.visibleBatchSetValid)):e.setPointCloudValid(!e.valid);break;case"tab":if(o.shiftKey){E();break}_(),o.preventDefault();break;case"f":V();break;case"arrowup":p({y:-1});break;case"arrowdown":p({y:1});break;case"arrowleft":p({x:-1});break;case"arrowright":p({x:1});break;case"delete":B(F.current);break}},G=(t,o)=>{switch(t){case"c":O();break;case"v":T();break;case"a":o.preventDefault(),e.selectedAllBoxes();break;case"z":{o.shiftKey?h():g();break}}},W=ahooks.useLatest(t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t)||u===!0)return;const o=t.key.toLocaleLowerCase();if(t.ctrlKey){G(o,t);return}M(o,t)});return React.useEffect(()=>{if(!e.topViewInstance)return;const{addEventListener:o}=e.windowKeydownListenerHook;return o(l=>W.current(l))},[e,e.topViewInstance,e.windowKeydownListenerHook]),React.useEffect(()=>{R(r)},[x]),React.useEffect(()=>{(r==null?void 0:r.radius)&&K(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{(r==null?void 0:r.tipScopeList)&&U(r==null?void 0:r.tipScopeList)},[r==null?void 0:r.tipScopeList]),React.useEffect(()=>{d==null||d()},[w,e.mainViewInstance]),React.useEffect(()=>{e.setHideAttributes([])},[w]),React.useEffect(()=>{i.current.setAttrChangeTrigger=t=>{var o;(o=e.topViewInstance)==null||o.toolInstance.setAttrChangeTrigger(t)},i.current.setDefaultAttribute=t=>{var o;if(S(t),z(t),m&&H(__spreadProps(__spreadValues({},m),{attribute:t})),f&&N(__spreadProps(__spreadValues({},f),{attribute:t})),v){const s=I(__spreadProps(__spreadValues({},v),{attribute:t}));e.mainViewInstance&&((o=e.mainViewInstance)==null||o.generateSpheres(s),A({newSelectedSphere:v,newSphereList:s}))}},i.current.setSubAttribute=(t,o)=>{var s;const n=e.selectedPointCloudBox;if(n){const l=(s=n==null?void 0:n.subAttribute)!=null?s:{};n.subAttribute=__spreadProps(__spreadValues({},l),{[t]:o}),L(n),e.mainViewInstance&&e.selectedPointCloudBox&&(e.mainViewInstance.generateBox(e.selectedPointCloudBox),e.mainViewInstance.setHighlightColor(n.id),e.mainViewInstance.render())}},i.current.clearResult=()=>{C==null||C()},i.current.redo=()=>{h()},i.current.undo=()=>{g()},i.current.setValid=t=>{i.current.valid=t,setTimeout(()=>{e.setPointCloudValid(t)})},i.current.setForbidOperation=t=>{var o,s;(s=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setForbidOperation(t),t===!0&&e.setSelectedIDs(void 0)},i.current.setShowDefaultCursor=t=>{var o,s;(s=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setShowDefaultCursor(t)},i.current.asyncData=t=>{setTimeout(()=>{d==null||d(t)})}},[e.pointCloudBoxList,e.pointCloudSphereList,e.selectedID,e.selectedIDs,e.valid,e.polygonList,e.lineList,e.mainViewInstance,e.ptSegmentInstance]),React.useEffect(()=>{i.current.updateSegmentTool=t=>{var o;(o=e.ptSegmentInstance)==null||o.emit(t)},i.current.segmentInstance=e.ptSegmentInstance},[e.ptSegmentInstance]),React.useEffect(()=>{i.current.history={pushHistory:t=>{D({pointCloudBoxList:t})},initRecord:()=>{}}},[]),React.useEffect(()=>{var t;const o=(t=e.topViewInstance)==null?void 0:t.toolInstance;if(!o||u)return;const s=c=>{S(c)},n=c=>{antd.message.error(c)},l=c=>{antd.message.info(c)};return o.on("syncAttribute",s),o.on("messageError",n),o.on("messageInfo",l),()=>{o.unbind("syncAttribute",s),o.unbind("messageError",n),o.unbind("messageInfo",l)}},[e.topViewInstance]),null};var PointCloudListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudListener);module.exports=PointCloudListener$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),index$3=require("../../views/MainView/toolFooter/index.js"),index$4=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useSphere=require("./hooks/useSphere.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),ToolUtils=require("../../utils/ToolUtils.js"),_=require("lodash"),index$2=require("./components/PointCloudSizeSlider/index.js"),useHistory=require("./hooks/useHistory.js"),index$1=require("./components/TitleButton/index.js");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,s,l)=>s in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[s]=l,__spreadValues=(o,s)=>{for(var l in s||(s={}))__hasOwnProp.call(s,l)&&__defNormalProp(o,l,s[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(s))__propIsEnum.call(s,l)&&__defNormalProp(o,l,s[l]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(o,s,l=1)=>{const{width:C,height:p}=s,w={x:o.x+C*l/2,y:o.y+p*l/2},x={x:s.width/2,y:s.height/2};return{offsetX:(x.x-w.x)/l,offsetY:-(x.y-w.y)/l}},TopViewToolbar=({currentData:o})=>{var s,l;const{zoom:C,zoomIn:p,zoomOut:w,initialPosition:x}=useZoom.useZoom(),{selectNextBox:L,selectPrevBox:b}=useSingleBox.useSingleBox(),{switchToNextSphere:S}=useSphere.useSphere(),{updateRotate:V}=useRotate.useRotate({currentData:o}),{updateRotateEdge:O}=useRotateEdge.useRotateEdge({currentData:o}),g=React__default.default.useContext(PointCloudContext.PointCloudContext),{topViewInstance:y}=g,f=(l=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:l.getCurrentToolName(),e=()=>{V(-Number(g.rectRotateSensitivity))},u=()=>{V(g.rectRotateSensitivity)},v=()=>{O(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:T=>{var I;(I=y==null?void 0:y.pointCloudInstance)==null||I.updatePointSize({customSize:T})}}),React__default.default.createElement("span",{onClick:u,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:e,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:v,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.descend);return}b(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.ascend);return}L(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:x,zoomIn:p,zoomOut:w,zoom:C}))},ZAxisSlider=({setZAxisLimit:o,zAxisLimit:s,checkMode:l})=>l?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:C=>{o(C)}})),PointCloudTopView=({currentData:o,imgList:s,stepInfo:l,drawLayerSlot:C,checkMode:p,intelligentFit:w,setIsEnlargeTopView:x,isEnlargeTopView:L,onExitZoom:b,highlightAttribute:S})=>{var V,O;const[g,y]=React.useState({zoom:1,currentPos:{x:0,y:0}}),f=React.useRef(null),e=React__default.default.useContext(PointCloudContext.PointCloudContext),u=useSize(f),v=index.jsonParser(l.config),{setZoom:T,syncTopviewToolZoom:I}=useZoom.useZoom(),{hideAttributes:k}=e,{addPolygon:A,deletePolygon:U}=usePolygon.usePolygon(),{deletePointCloudSphere:Z}=useSphere.useSphere(),{deletePointCloudBox:z,changeValidByID:H}=useSingleBox.useSingleBox(),[N,F]=React.useState(10),{t:B}=reactI18next.useTranslation(),m=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:W}=useHistory.useHistory(),[$,q]=React.useState(!0);React.useLayoutEffect(()=>{if(!e.topViewInstance&&f.current&&(o==null?void 0:o.url)&&(o==null?void 0:o.result)){const n={width:f.current.clientWidth,height:f.current.clientHeight},a=new lbAnnotation.PointCloudAnnotation({container:f.current,size:n,pcdPath:o.url,config:__spreadProps(__spreadValues({},v),{pointCloudPattern:e.pointCloudPattern}),checkMode:p,toolName:ToolUtils.getPointCloudToolList(),proxyMode:p});e.setTopViewInstance(a)}},[o]),React.useEffect(()=>{if(!u||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:n}=e.topViewInstance;n.singleOn("dataUpdated",(t,i)=>{const d=___default.default.cloneDeep(t).map(r=>__spreadProps(__spreadValues({},r),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(r.pointList,u)}));e.setSelectedIDs(i),e.setLineList(d),W({lineList:d})}),n.singleOn("pointCreated",(t,i)=>{m.topViewAddSphere({newPoint:t,size:u,trackConfigurable:v.trackConfigurable,zoom:i})}),n.singleOn("pointDeleted",t=>{Z(t)}),n.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),n.singleOn("updatePointByDrag",(t,i)=>{var d;(d=m.topViewUpdatePoint)==null||d.call(m,t,u)}),n.singleOn("polygonCreated",(t,i)=>{if(n.pattern===EPolygonPattern.Normal||!(o==null?void 0:o.url)){const d=__spreadProps(__spreadValues({},t),{pointList:t.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,u))});A(d),e.setSelectedIDs(k.includes(t.attribute)?"":t.id);return}q(!1),m.topViewAddBox({polygon:t,size:u,imgList:s,trackConfigurable:v.trackConfigurable,zoom:i,intelligentFit:w})}),n.singleOn("deletedObject",({id:t})=>{z(t),U(t)}),n.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),n.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),n.singleOn("setSelectedIDs",t=>{q(!1),e.setSelectedIDs(t)}),n.singleOn("updatePolygonByDrag",t=>{var i;(i=m.topViewUpdateBox)==null||i.call(m,t,u)});const a=t=>{var i;const d=H(t);d&&e.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,d),e.polygonList.find(r=>r.id===t)&&((i=e.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(t,!0))};return n.on("validUpdate",a),()=>{n.unbind("validUpdate",a)}},[e,u,o,m,e.polygonList,e.lineList,(V=e.topViewInstance)==null?void 0:V.toolInstance]),React.useEffect(()=>{var n,a;if(!(u==null?void 0:u.width)||!e.topViewInstance)return;const t=(a=(n=v==null?void 0:v.attributeList)==null?void 0:n[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(u),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:i,toolInstance:d}}=e;d.singleOn("renderZoom",(r,c)=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(c,u,r);if(i.camera.zoom=r,c){const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R)}i.camera.updateProjectionMatrix(),i.render(),T(r),I(c,r,u),y({zoom:r,currentPos:c})}),d.singleOn("dragMove",({currentPos:r,zoom:c})=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(r,u,c);i.camera.zoom=c;const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R),i.render(),I(r,c,u),y({zoom:c,currentPos:r})})},[u,e.topViewInstance,(O=e.topViewInstance)==null?void 0:O.toolInstance]),React.useEffect(()=>{var n,a;(a=(n=e.topViewInstance)==null?void 0:n.pointCloudInstance)==null||a.applyZAxisPoints(N)},[N]),React.useEffect(()=>{var n,a,t,i;m.topViewSelectedChanged({}),(i=(t=(a=(n=e.topViewInstance)==null?void 0:n.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||i.call(t,e.selectedIDs)},[e.selectedIDs]),React.useEffect(()=>{const{topViewInstance:n,selectedID:a,selectedPointCloudBox:t,zoom:i}=e;if(!n||!a||!t||!$){q(!0);return}const{center:d}=t,{pointCloudInstance:r,toolInstance:c}=n,h=c.polygonList.find(K=>K.id===e.selectedID);if(!h){q(!0);return}const E=lbAnnotation.MathUtils.getRectCenterPoint(h.pointList),P=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(c.size,E,i);c.setCurrentPos(P),c.render();const{x:j,y:R,z:M}=r.initCameraPosition;r.camera.position.set(d.x,d.y,M),r.render(),I(P,i,u),y({zoom:i,currentPos:P})},[e.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",D),()=>{window.removeEventListener("keydown",D)}),[]);const D=n=>{const{keyCode:a}=n;a===EKeyCode.Esc&&b()};return React.useEffect(()=>{var n,a,t;(t=(a=(n=e.topViewInstance)==null?void 0:n.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,S)},[e.topViewInstance,S]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:L?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{b()}}),React__default.default.createElement("span",null,B("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:B("TopView"),onClick:()=>{x(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:o})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:f},C==null?void 0:C(g)),!L&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v}),React__default.default.createElement(ZAxisSlider,{checkMode:p,zAxisLimit:N,setZAxisLimit:F}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),index$3=require("../../views/MainView/toolFooter/index.js"),index$4=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useSphere=require("./hooks/useSphere.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),ToolUtils=require("../../utils/ToolUtils.js"),_=require("lodash"),index$2=require("./components/PointCloudSizeSlider/index.js"),useHistory=require("./hooks/useHistory.js"),index$1=require("./components/TitleButton/index.js"),ahooks=require("ahooks");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,s,r)=>s in n?__defProp(n,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[s]=r,__spreadValues=(n,s)=>{for(var r in s||(s={}))__hasOwnProp.call(s,r)&&__defNormalProp(n,r,s[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(s))__propIsEnum.call(s,r)&&__defNormalProp(n,r,s[r]);return n},__spreadProps=(n,s)=>__defProps(n,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(n,s,r=1)=>{const{width:v,height:c}=s,w={x:n.x+v*r/2,y:n.y+c*r/2},P={x:s.width/2,y:s.height/2};return{offsetX:(P.x-w.x)/r,offsetY:-(P.y-w.y)/r}},TopViewToolbar=({currentData:n})=>{var s,r;const{zoom:v,zoomIn:c,zoomOut:w,initialPosition:P}=useZoom.useZoom(),{selectNextBox:E,selectPrevBox:L}=useSingleBox.useSingleBox(),{switchToNextSphere:h}=useSphere.useSphere(),{updateRotate:S}=useRotate.useRotate({currentData:n}),{updateRotateEdge:b}=useRotateEdge.useRotateEdge({currentData:n}),g=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:x}=g,p=(r=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:r.getCurrentToolName(),t=()=>{S(-Number(g.rectRotateSensitivity))},a=()=>{S(g.rectRotateSensitivity)},f=()=>{b(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:O=>{var I;(I=x==null?void 0:x.pointCloudInstance)==null||I.updatePointSize({customSize:O})}}),React__default.default.createElement("span",{onClick:a,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:t,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:f,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(p===EToolName.Point){h(ESortDirection.descend);return}L(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(p===EToolName.Point){h(ESortDirection.ascend);return}E(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:P,zoomIn:c,zoomOut:w,zoom:v}))},ZAxisSlider=({setZAxisLimit:n,zAxisLimit:s,checkMode:r})=>r?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:v=>{n(v)}})),PointCloudTopView=({currentData:n,imgList:s,stepInfo:r,drawLayerSlot:v,checkMode:c,intelligentFit:w,setIsEnlargeTopView:P,isEnlargeTopView:E,onExitZoom:L,highlightAttribute:h})=>{var S,b;const[g,x]=React.useState({zoom:1,currentPos:{x:0,y:0}}),p=React.useRef(null),t=React.useContext(PointCloudContext.PointCloudContext),a=useSize(p),f=index.jsonParser(r.config),{setZoom:O,syncTopviewToolZoom:I}=useZoom.useZoom(),{run:k}=ahooks.useDebounceFn(O,{wait:500}),{hideAttributes:A,setIsLargeStatus:U,selectedID:Z,pointCloudBoxList:z}=t,{addPolygon:H,deletePolygon:F}=usePolygon.usePolygon(),{deletePointCloudSphere:W}=useSphere.useSphere(),{deletePointCloudBox:$,changeValidByID:M}=useSingleBox.useSingleBox(),[j,K]=React.useState(10),{t:T}=reactI18next.useTranslation(),C=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:X}=useHistory.useHistory(),[Y,q]=React.useState(!0),[D,B]=React.useState(!1);React.useLayoutEffect(()=>{if(!t.topViewInstance&&p.current&&(n==null?void 0:n.url)&&(n==null?void 0:n.result)){const o={width:p.current.clientWidth,height:p.current.clientHeight},l=new lbAnnotation.PointCloudAnnotation({container:p.current,size:o,pcdPath:n.url,config:__spreadProps(__spreadValues({},f),{pointCloudPattern:t.pointCloudPattern}),checkMode:c,toolName:ToolUtils.getPointCloudToolList(),proxyMode:c,view:"topView"});t.setTopViewInstance(l)}},[n]),React.useEffect(()=>{D&&Z&&(t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single,z),B(!1))},[D]),React.useEffect(()=>{if(!a||!t.topViewInstance||!t.sideViewInstance)return;const{toolInstance:o}=t.topViewInstance;o.singleOn("dataUpdated",(e,i)=>{const u=___default.default.cloneDeep(e).map(d=>__spreadProps(__spreadValues({},d),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(d.pointList,a)}));t.setSelectedIDs(i),t.setLineList(u),X({lineList:u})}),o.singleOn("pointCreated",(e,i)=>{C.topViewAddSphere({newPoint:e,size:a,trackConfigurable:f.trackConfigurable,zoom:i})}),o.singleOn("pointDeleted",e=>{W(e)}),o.singleOn("pointSelected",e=>{t.setSelectedIDs([e])}),o.singleOn("updatePointByDrag",(e,i)=>{var u;(u=C.topViewUpdatePoint)==null||u.call(C,e,a)}),o.singleOn("polygonCreated",(e,i)=>{if(o.pattern===EPolygonPattern.Normal||!(n==null?void 0:n.url)){const u=__spreadProps(__spreadValues({},e),{pointList:e.pointList.map(d=>lbUtils.PointCloudUtils.transferCanvas2World(d,a))});H(u),t.setSelectedIDs(A.includes(e.attribute)?"":e.id);return}q(!1),C.topViewAddBox({polygon:e,size:a,imgList:s,trackConfigurable:f.trackConfigurable,zoom:i,intelligentFit:w}),B(!0)}),o.singleOn("deletedObject",({id:e})=>{$(e),F(e)}),o.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),o.singleOn("addSelectedIDs",e=>{t.addSelectedID(e)}),o.singleOn("setSelectedIDs",e=>{q(!1),t.setSelectedIDs(e)}),o.singleOn("updatePolygonByDrag",e=>{var i;(i=C.topViewUpdateBox)==null||i.call(C,e,a)});const l=e=>{var i;const u=M(e);u&&t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,u),t.polygonList.find(d=>d.id===e)&&((i=t.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(e,!0))};return o.on("validUpdate",l),()=>{o.unbind("validUpdate",l)}},[t,a,n,C,t.polygonList,t.lineList,(S=t.topViewInstance)==null?void 0:S.toolInstance]),React.useEffect(()=>{var o,l;if(!t.topViewInstance)return;const e=(l=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:l.value;e&&t.topViewInstance.toolInstance.setDefaultAttribute(e)},[t.topViewInstance]),React.useEffect(()=>{if(!(a==null?void 0:a.width)||!t.topViewInstance)return;t.topViewInstance.initSize(a),t.topViewInstance.updatePolygonList(t.displayPointCloudList,t.polygonList),t.topViewInstance.updatePointList(t.displaySphereList),t.topViewInstance.updateLineList(t.displayLineList);const{topViewInstance:{pointCloudInstance:o,toolInstance:l}}=t;l.singleOn("renderZoom",(e,i)=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(i,a,e);if(o.camera.zoom=e,i){const{x:m,y,z:V}=o.initCameraPosition;o.camera.position.set(m+d,y-u,V)}o.camera.updateProjectionMatrix(),o.render(),k(e),I(i,e,a),x({zoom:e,currentPos:i})}),l.singleOn("dragMove",({currentPos:e,zoom:i})=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(e,a,i);o.camera.zoom=i;const{x:m,y,z:V}=o.initCameraPosition;o.camera.position.set(m+d,y-u,V),o.render(),I(e,i,a),x({zoom:i,currentPos:e})})},[a,t.topViewInstance,(b=t.topViewInstance)==null?void 0:b.toolInstance]),React.useEffect(()=>{var o,l;(l=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null||l.applyZAxisPoints(j)},[j]),React.useEffect(()=>{var o,l,e,i;C.topViewSelectedChanged({}),(i=(e=(l=(o=t.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:l.selection)==null?void 0:e.hardSetSelectedIDs)==null||i.call(e,t.selectedIDs)},[t.selectedIDs]),React.useEffect(()=>{const{topViewInstance:o,selectedID:l,selectedPointCloudBox:e,zoom:i}=t;if(!o||!l||!e||!Y){q(!0);return}const{center:u}=e,{pointCloudInstance:d,toolInstance:m}=o,y=m.polygonList.find(J=>J.id===t.selectedID);if(!y){q(!0);return}const V=lbAnnotation.MathUtils.getRectCenterPoint(y.pointList),R=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(m.size,V,i);m.setCurrentPos(R),m.render();const{x:Q,y:ee,z:G}=d.initCameraPosition;d.camera.position.set(u.x,u.y,G),d.render(),I(R,i,a),x({zoom:i,currentPos:R})},[t.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",N),()=>{window.removeEventListener("keydown",N)}),[]);const N=o=>{const{keyCode:l}=o;l===EKeyCode.Esc&&L()};return React.useEffect(()=>{var o,l,e;(e=(l=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:l.setHighlightAttribute)==null||e.call(l,h)},[t.topViewInstance,h]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:E?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{L()}}),React__default.default.createElement("span",null,T("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:T("TopView"),onClick:()=>{U(!0),P(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:n})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:p},v==null?void 0:v(g)),!E&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f}),React__default.default.createElement(ZAxisSlider,{checkMode:c,zAxisLimit:j,setZAxisLimit:K}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),icons=require("@ant-design/icons"),dom=require("../../../../utils/dom.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TitleButton=({title:e,onClick:t,style:a})=>!t&&!e?null:React__default.default.createElement("span",{className:dom.getClassName("point-cloud-container","title-button"),style:a},e,t&&React__default.default.createElement(icons.ExpandAltOutlined,{onClick:t,style:{marginLeft:4}}));module.exports=TitleButton;
1
+ "use strict";var React=require("react"),icons=require("@ant-design/icons"),dom=require("../../../../utils/dom.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TitleButton=({title:e,onClick:t,style:a})=>!t&&!e?null:React__default.default.createElement("span",{className:dom.getClassName("point-cloud-container","title-button"),style:a,onClick:t},e,t&&React__default.default.createElement(icons.ExpandAltOutlined,{style:{marginLeft:4}}));module.exports=TitleButton;
@@ -1 +1 @@
1
- "use strict";var index=require("../../../../constant/index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),ctx=require("../../../../store/ctx.js"),antd=require("antd"),React=require("react"),reactI18next=require("react-i18next"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),reactRedux=require("react-redux"),useSingleBox=require("../../hooks/useSingleBox.js"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,a,r)=>a in e?__defProp(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,__spreadValues=(e,a)=>{for(var r in a||(a={}))__hasOwnProp.call(a,r)&&__defNormalProp(e,r,a[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(a))__propIsEnum.call(a,r)&&__defNormalProp(e,r,a[r]);return e},__spreadProps=(e,a)=>__defProps(e,__getOwnPropDescs(a));const layout={labelCol:{span:8},wrapperCol:{span:16}},defaultNumberRules=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],defaultSelectedAttribute=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],DECIMAL_PLACES=2,PrefixTag=({text:e})=>React__default.default.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},e),UnifyParamsModal=({id:e,visible:a,onCancel:r,config:s,imgList:f,imgIndex:v})=>{const y=ctx.useDispatch(),{selectedBox:l}=useSingleBox.useSingleBox(),[c,p]=React.useState(),[d]=antd.Form.useForm(),{t:u}=reactI18next.useTranslation();React.useEffect(()=>{a===!1?(d.resetFields(),p(void 0)):b()},[a]);const F=t=>{var i;if(!e)return;if(!c){antd.message.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}y(actionCreators.ToSubmitFileData(index.ESubmitType.SyncImgList));const n={attribute:t.attribute};if(s.secondaryAttributeConfigurable){const o={};(i=s.inputList)==null||i.forEach(m=>{const g=t[m.value];g!==void 0&&Object.assign(o,{[m.value]:g})}),Object.keys(o).length>0&&Object.assign(n,{subAttribute:o})}c&&Object.assign(n,c),y(actionCreators.BatchUpdateResultByTrackID(e,n,[t.prevPage-1,t.nextPage-1])),r()},b=React.useCallback(()=>{var t;const{prevPage:i,nextPage:n}=d.getFieldsValue(["prevPage","nextPage"]),o=f.filter((g,P)=>lbAnnotation.MathUtils.isInRange(P,[i-1,n-1]));if(!((o==null?void 0:o.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){p(void 0);return}const m=lbUtils.PointCloudUtils.getMaxSizeFromBox({trackID:l.info.trackID,imgList:o});p(m)},[f,l,v]),h=()=>d.submit(),S=()=>{if(!c||!(l==null?void 0:l.info))return;const t={marginRight:16},{length:i,width:n,height:o}=lbUtils.PointCloudUtils.transferBox2Kitti(__spreadValues(__spreadValues({},l==null?void 0:l.info),c));return React__default.default.createElement("div",null,React__default.default.createElement("span",{style:t},u("Length"),": ",i.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Width"),": ",n.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Height"),": ",o.toFixed(DECIMAL_PLACES)),React__default.default.createElement(antd.Popover,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},React__default.default.createElement(icons.QuestionCircleOutlined,null)))},E={width:"200px"},x={marginBottom:"24px",display:"flex",alignItems:"center"};return React__default.default.createElement(antd.Modal,{title:u("UnifyParams"),visible:a,onCancel:r,onOk:h,wrapClassName:"labelbee-custom-modal"},React__default.default.createElement(antd.Form,__spreadProps(__spreadValues({},layout),{form:d,onFinish:F}),React__default.default.createElement(antd.Form.Item,{name:"id",label:u("UnifyTrackID")},e),React__default.default.createElement(antd.Form.Item,{label:u("UnifyAttributeRange"),required:!0},React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"prevPage",noStyle:!0,initialValue:1},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"nextPage",noStyle:!0,initialValue:f.length},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},u("Page"))),React__default.default.createElement(antd.Form.Item,{name:"UnifySize",label:u("UnifySize")},S()),React__default.default.createElement(antd.Form.Item,{label:u("UnifyTag"),required:!0},React__default.default.createElement("div",{style:x},React__default.default.createElement(PrefixTag,{text:u("Attribute")}),React__default.default.createElement(antd.Form.Item,{name:"attribute",noStyle:!0,rules:defaultSelectedAttribute},React__default.default.createElement(antd.Select,{style:E},s.attributeList.map(t=>React__default.default.createElement(antd.Select.Option,{key:t.value,value:t.value},t.key))))),s.secondaryAttributeConfigurable&&s.inputList.map(t=>{var i;return React__default.default.createElement("div",{key:t.value,style:x},React__default.default.createElement(PrefixTag,{text:t.key}),React__default.default.createElement(antd.Form.Item,{name:t.value,noStyle:!0,required:!1},React__default.default.createElement(antd.Select,{style:E},(i=t.subSelected)==null?void 0:i.map(n=>React__default.default.createElement(antd.Select.Option,{key:n.value,value:n.value},n.key)))))}))))},mapStateToProps=e=>({imgIndex:e.annotation.imgIndex});var UnifyParamsModal$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(UnifyParamsModal);module.exports=UnifyParamsModal$1;
1
+ "use strict";var actionCreators=require("../../../../store/annotation/actionCreators.js"),ctx=require("../../../../store/ctx.js"),antd=require("antd"),React=require("react"),reactI18next=require("react-i18next"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),reactRedux=require("react-redux"),useSingleBox=require("../../hooks/useSingleBox.js"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,a,r)=>a in e?__defProp(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,__spreadValues=(e,a)=>{for(var r in a||(a={}))__hasOwnProp.call(a,r)&&__defNormalProp(e,r,a[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(a))__propIsEnum.call(a,r)&&__defNormalProp(e,r,a[r]);return e},__spreadProps=(e,a)=>__defProps(e,__getOwnPropDescs(a));const layout={labelCol:{span:8},wrapperCol:{span:16}},defaultNumberRules=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],defaultSelectedAttribute=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],DECIMAL_PLACES=2,PrefixTag=({text:e})=>React__default.default.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},e),SizeShow=e=>{const{t:a}=reactI18next.useTranslation(),{size:r,isMax:i,selectedBox:s}=e;if(!r||!s)return null;const m={marginRight:16},b=__spreadValues(__spreadValues({},s),i&&r),{length:l,width:c,height:f}=lbUtils.PointCloudUtils.transferBox2Kitti(b);return React__default.default.createElement("div",null,React__default.default.createElement("span",{style:m},a("Length"),": ",l.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:m},a("Width"),": ",c.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:m},a("Height"),": ",f.toFixed(DECIMAL_PLACES)),React__default.default.createElement(antd.Popover,{placement:"rightBottom",content:`\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846${i?"\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8":"\u4EE5\u5F53\u524D\u5E27\u6846\u5C3A\u5BF8\u4E3A\u6807\u51C6"}`},React__default.default.createElement(icons.QuestionCircleOutlined,null)))},sizeOptions=[{value:"current",label:"\u5F53\u524D\u5E27\u5C3A\u5BF8"},{value:"max",label:"\u6700\u5927\u5C3A\u5BF8"},{value:"ignore",label:"\u5FFD\u7565"}],UnifyParamsModal=({id:e,visible:a,onCancel:r,config:i,imgList:s,imgIndex:m})=>{const b=ctx.useDispatch(),{selectedBox:l}=useSingleBox.useSingleBox(),[c,f]=React.useState(),[p]=antd.Form.useForm(),{t:o}=reactI18next.useTranslation();React.useEffect(()=>{a===!1?(p.resetFields(),f(void 0)):v()},[a]);const _=t=>{var n,u,d,g;if(!e)return;if(!c){antd.message.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}const E={attribute:t.attribute};if(i.secondaryAttributeConfigurable){const h={};(n=i.inputList)==null||n.forEach(P=>{const y=t[P.value];if(y!==void 0){const I=Array.isArray(y)?y.join(";"):y;Object.assign(h,{[P.value]:I})}}),Object.keys(h).length>0&&Object.assign(E,{subAttribute:h})}const{UnifySize:x}=t;t.UnifySize!=="ignore"&&Object.assign(E,c&&x==="max"?c:{width:(u=l==null?void 0:l.info)==null?void 0:u.width,height:(d=l==null?void 0:l.info)==null?void 0:d.height,depth:(g=l==null?void 0:l.info)==null?void 0:g.depth}),b(actionCreators.BatchUpdateResultByTrackID(e,E,[t.prevPage-1,t.nextPage-1],s)),r()},v=React.useCallback(()=>{var t;const{prevPage:n,nextPage:u}=p.getFieldsValue(["prevPage","nextPage"]),d=s.filter((E,x)=>lbAnnotation.MathUtils.isInRange(x,[n-1,u-1]));if(!((d==null?void 0:d.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){f(void 0);return}const g=lbUtils.PointCloudUtils.getMaxSizeFromBox({trackID:l.info.trackID,imgList:d});f(g)},[s,l,m]),B=()=>p.submit(),F={width:"200px"},S={marginBottom:"24px",display:"flex",alignItems:"center"};return React__default.default.createElement(antd.Modal,{title:o("UnifyParams"),visible:a,onCancel:r,onOk:B,wrapClassName:"labelbee-custom-modal"},React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("div",{style:{marginBottom:"20px",color:"#f00"}},o("UnifyParamsTips")),React__default.default.createElement(antd.Form,__spreadProps(__spreadValues({},layout),{form:p,onFinish:_}),React__default.default.createElement(antd.Form.Item,{name:"id",label:o("UnifyTrackID")},e),React__default.default.createElement(antd.Form.Item,{label:o("UnifyAttributeRange"),required:!0},React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"prevPage",noStyle:!0,initialValue:1},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>v()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"nextPage",noStyle:!0,initialValue:s.length},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>v()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},o("Page"))),React__default.default.createElement(antd.Form.Item,{name:"UnifySize",label:o("UnifySize"),required:!0,initialValue:"current"},React__default.default.createElement(antd.Radio.Group,{onChange:t=>{p.setFieldValue("UnifySize",t.target.value)}},sizeOptions.map(t=>{const{value:n,label:u}=t;return React__default.default.createElement(antd.Radio,{value:n,key:n},React__default.default.createElement("div",null,u),n!=="ignore"&&React__default.default.createElement(SizeShow,{selectedBox:l==null?void 0:l.info,size:c,isMax:n==="max"}))}))),React__default.default.createElement(antd.Form.Item,{label:o("UnifyTag"),required:!0},React__default.default.createElement("div",{style:S},React__default.default.createElement(PrefixTag,{text:o("Attribute")}),React__default.default.createElement(antd.Form.Item,{name:"attribute",noStyle:!0,rules:defaultSelectedAttribute},React__default.default.createElement(antd.Select,{style:F},i.attributeList.map(t=>React__default.default.createElement(antd.Select.Option,{key:t.value,value:t.value},t.key))))),i.secondaryAttributeConfigurable&&i.inputList.map(t=>{var n;return React__default.default.createElement("div",{key:t.value,style:S},React__default.default.createElement(PrefixTag,{text:t.key}),React__default.default.createElement(antd.Form.Item,{name:t.value,noStyle:!0,required:!1},React__default.default.createElement(antd.Select,{style:F,mode:t.isMulti?"multiple":void 0},(n=t.subSelected)==null?void 0:n.map(u=>React__default.default.createElement(antd.Select.Option,{key:u.value,value:u.value},u.key)))))})))))},mapStateToProps=e=>({imgIndex:e.annotation.imgIndex});var UnifyParamsModal$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(UnifyParamsModal);module.exports=UnifyParamsModal$1;
@@ -1 +1 @@
1
- "use strict";var classNames=require("classnames"),React=require("react"),PointCloudBackView=require("../../PointCloudBackView.js"),PointCloudSideView=require("../../PointCloudSideView.js"),dom=require("../../../../utils/dom.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React);const SideAndBackOverView=t=>{const{t:v}=reactI18next.useTranslation(),{selectAndEnlarge:r,checkMode:c}=t,l=360,d=400,u=window.innerWidth-l,f=window.innerHeight-d,[i,o]=React.useState({x:u,y:f}),[a,m]=React.useState({x:0,y:0});React.useEffect(()=>(window.addEventListener("resize",w),()=>{window.removeEventListener("resize",w),o({x:u,y:f}),m({x:0,y:0})}),[]);const w=()=>{const e=window.innerWidth-l,n=window.innerHeight-d;o({x:e,y:n})};return React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","left-bottom")]:!0,[dom.getClassName("point-cloud-container","left-bottom-float")]:!0}),style:{top:i.y,left:i.x,width:360,height:400,zIndex:r?1003:-1}},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom-floatHeader"),draggable:"true",onDragStart:e=>{r&&m({x:e.clientX-i.x,y:e.clientY-i.y})},onDrag:e=>{const n=e.clientX-a.x,s=e.clientY-a.y;o({x:n,y:s})},onDragEnd:e=>{const n=e.clientX-a.x,s=e.clientY-a.y;o({x:n,y:s})}},v("DragAndDrop")),React__default.default.createElement(PointCloudBackView,{checkMode:c}),React__default.default.createElement(PointCloudSideView,{checkMode:c}))};module.exports=SideAndBackOverView;
1
+ "use strict";var classNames=require("classnames"),React=require("react"),PointCloudBackView=require("../../PointCloudBackView.js"),PointCloudSideView=require("../../PointCloudSideView.js"),dom=require("../../../../utils/dom.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React);const SideAndBackOverView=t=>{const{t:w}=reactI18next.useTranslation(),{selectAndEnlarge:s,checkMode:c}=t,l=360,d=400,u=window.innerWidth-l,f=window.innerHeight-d,[i,o]=React.useState({x:u,y:f}),[r,m]=React.useState({x:0,y:0});React.useEffect(()=>(window.addEventListener("resize",v),()=>{window.removeEventListener("resize",v),o({x:u,y:f}),m({x:0,y:0})}),[]);const v=()=>{const e=window.innerWidth-l,n=window.innerHeight-d;o({x:e,y:n})};return React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","left-bottom")]:!0,[dom.getClassName("point-cloud-container","left-bottom-float")]:!0}),style:{top:i.y,left:i.x,width:360,height:400,zIndex:s?1003:-1}},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom-floatHeader"),draggable:"true",onDragStart:e=>{s&&m({x:e.clientX-i.x,y:e.clientY-i.y})},onDragOver:e=>{e.preventDefault()},onDrag:e=>{if(e.clientX===0&&e.clientY===0)return;const n=e.clientX-r.x,a=e.clientY-r.y;o({x:n,y:a})},onDragEnd:e=>{if(e.clientX===0&&e.clientY===0)return;const n=e.clientX-r.x,a=e.clientY-r.y;o({x:n,y:a})}},w("DragAndDrop")),React__default.default.createElement(PointCloudBackView,{checkMode:c}),React__default.default.createElement(PointCloudSideView,{checkMode:c}))};module.exports=SideAndBackOverView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var PointCloudContext=require("../PointCloudContext.js"),React=require("react");const useConfig=()=>{const{topViewInstance:n,sideViewInstance:r,backViewInstance:a,mainViewInstance:i}=React.useContext(PointCloudContext.PointCloudContext);return{syncAllViewsConfig:t=>{[n,r,a].forEach(e=>{var o,l;e==null||e.updateConfig(t);const u=(l=(o=t==null?void 0:t.attributeList)==null?void 0:o[0])==null?void 0:l.value;u&&(e==null||e.pointCloud2dOperation.setDefaultAttribute(u))}),i==null||i.setConfig(t)},reRenderTopViewRange:t=>{var e,o,l;(o=(e=n==null?void 0:n.pointCloudInstance)==null?void 0:e.generateRange)==null||o.call(e,t),(l=n==null?void 0:n.pointCloudInstance)==null||l.render()}}};exports.useConfig=useConfig;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var PointCloudContext=require("../PointCloudContext.js"),React=require("react");const useConfig=()=>{const{topViewInstance:n,sideViewInstance:r,backViewInstance:d,mainViewInstance:i}=React.useContext(PointCloudContext.PointCloudContext);return{syncAllViewsConfig:o=>{[n,r,d].forEach(e=>{var t,l;e==null||e.updateConfig(o);const u=(l=(t=o==null?void 0:o.attributeList)==null?void 0:t[0])==null?void 0:l.value;u&&(e==null||e.pointCloud2dOperation.setDefaultAttribute(u))}),i==null||i.setConfig(o)},reRenderTopViewRange:o=>{var e,t,l;(t=(e=n==null?void 0:n.pointCloudInstance)==null?void 0:e.generateRange)==null||t.call(e,o),(l=n==null?void 0:n.pointCloudInstance)==null||l.render()},reRenderTopViewTipScopeList:(o=[])=>{var e,t,l;(t=(e=n==null?void 0:n.pointCloudInstance)==null?void 0:e.generateTipScopeList)==null||t.call(e,o),(l=n==null?void 0:n.pointCloudInstance)==null||l.render()}}};exports.useConfig=useConfig;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__async=(s,u,t)=>new Promise((g,a)=>{var n=i=>{try{o(t.next(i))}catch(l){a(l)}},d=i=>{try{o(t.throw(i))}catch(l){a(l)}},o=i=>i.done?g(i.value):Promise.resolve(i.value).then(n,d);o((t=t.apply(s,u)).next())});const useHighlight=({currentData:s})=>{var u;const{mainViewInstance:t,topViewInstance:g,pointCloudBoxList:a,highlight2DDataList:n,setHighlight2DDataList:d}=React.useContext(PointCloudContext.PointCloudContext),o=(u=s==null?void 0:s.mappingImgList)!=null?u:[],i=(r,c,C)=>__async(void 0,null,function*(){var p;let h=[...n];if(n.find(e=>e.url===r)?h=n.filter(e=>e.url!==r):h.push({url:r,fallbackUrl:c,calib:C}),d(h),!t||(o==null?void 0:o.length)===0)return;const v=t.pointCloudObject;if(!v)return;const f=yield t.getHighlightIndexByMappingImgList({mappingImgList:h,points:v.geometry.attributes.position.array});try{const e=yield t.highlightOriginPointCloud(a,f);e&&((p=g==null?void 0:g.pointCloudInstance)==null||p.updateColor(e))}catch(e){console.error("toggle2dVisible highlightOriginPointCloud error:",e)}}),l=React.useCallback(r=>n.findIndex(c=>c.url===r)>=0,[n]);return{toggle2dVisible:i,isHighlightVisible:l}};exports.useHighlight=useHighlight;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__async=(s,u,t)=>new Promise((g,a)=>{var n=i=>{try{o(t.next(i))}catch(l){a(l)}},d=i=>{try{o(t.throw(i))}catch(l){a(l)}},o=i=>i.done?g(i.value):Promise.resolve(i.value).then(n,d);o((t=t.apply(s,u)).next())});const useHighlight=({currentData:s})=>{var u;const{mainViewInstance:t,topViewInstance:g,pointCloudBoxList:a,highlight2DDataList:n,setHighlight2DDataList:d}=React.useContext(PointCloudContext.PointCloudContext),o=(u=s==null?void 0:s.mappingImgList)!=null?u:[],i=(r,c,f)=>__async(void 0,null,function*(){var p;let h=[...n];if(n.find(e=>e.url===r)?h=n.filter(e=>e.url!==r):h.push({url:r,fallbackUrl:c,calib:f}),d(h),!t||(o==null?void 0:o.length)===0)return;const v=t.pointCloudObject;if(!v)return;const m=yield t.getHighlightIndexByMappingImgList({mappingImgList:h,points:v.geometry.attributes.position.array});try{const e=yield t.highlightOriginPointCloud(a,m),{color:C}=e!=null?e:{};C&&((p=g==null?void 0:g.pointCloudInstance)==null||p.updateColor(C))}catch(e){console.error("toggle2dVisible highlightOriginPointCloud error:",e)}}),l=React.useCallback(r=>n.findIndex(c=>c.url===r)>=0,[n]);return{toggle2dVisible:i,isHighlightVisible:l}};exports.useHighlight=useHighlight;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useUpdatePointCloudColor=require("./useUpdatePointCloudColor.js"),useAttribute=require("./useAttribute.js"),usePolygon=require("./usePolygon.js"),useLine=require("./useLine.js"),useSphere=require("./useSphere.js"),useHistory=require("./useHistory.js"),usePointCloudViews=require("./usePointCloudViews.js"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,e,t)=>e in r?__defProp(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,__spreadValues=(r,e)=>{for(var t in e||(e={}))__hasOwnProp.call(e,t)&&__defNormalProp(r,t,e[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(e))__propIsEnum.call(e,t)&&__defNormalProp(r,t,e[t]);return r},__spreadProps=(r,e)=>__defProps(r,__getOwnPropDescs(e));const usePointCloudAttribute=(r,e)=>{const{updatePointCloudColor:t}=useUpdatePointCloudColor.useUpdatePointCloudColor(r,e),{syncThreeViewsAttribute:l}=useAttribute.useAttribute(),{selectedPolygon:u}=usePolygon.usePolygon(),{selectedLine:i}=useLine.useLine(),{selectedSphere:s}=useSphere.useSphere(),{updatePointCloudSphere:d}=useSphere.useSphere(),{pushHistoryUnderUpdatePolygon:c,pushHistoryUnderUpdateLine:P}=useHistory.useHistory(),{topViewSelectedChanged:C}=usePointCloudViews.usePointCloudViews(),n=React.useContext(PointCloudContext.PointCloudContext);return{updatePointCloudAttribute:o=>{var a;if(l(o),t(o),u&&c(__spreadProps(__spreadValues({},u),{attribute:o})),i&&P(__spreadProps(__spreadValues({},i),{attribute:o})),s){const p=d(__spreadProps(__spreadValues({},s),{attribute:o}));n.mainViewInstance&&((a=n.mainViewInstance)==null||a.generateSpheres(p),C({newSelectedSphere:s,newSphereList:p}))}}}};exports.usePointCloudAttribute=usePointCloudAttribute;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useSingleBox=require("./useSingleBox.js"),useSphere=require("./useSphere.js"),_=require("lodash"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),ToolPointCloudBoxRenderHelper=require("../../../utils/ToolPointCloudBoxRenderHelper.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,n,t)=>n in o?__defProp(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t,__spreadValues=(o,n)=>{for(var t in n||(n={}))__hasOwnProp.call(n,t)&&__defNormalProp(o,t,n[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(n))__propIsEnum.call(n,t)&&__defNormalProp(o,t,n[t]);return o},__spreadProps=(o,n)=>__defProps(o,__getOwnPropDescs(n)),__async=(o,n,t)=>new Promise((a,p)=>{var e=d=>{try{c(t.next(d))}catch(x){p(x)}},P=d=>{try{c(t.throw(d))}catch(x){p(x)}},c=d=>d.done?a(d.value):Promise.resolve(d.value).then(e,P);c((t=t.apply(o,n)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,INTELLIGENT_FIT_MARGIN=.01,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},topViewPoint2PointCloud=(o,n,t,a,p)=>{const{x:e,y:P}=lbUtils.PointCloudUtils.transferCanvas2World(o,n),{defaultZ:c}=lbUtils.DEFAULT_SPHERE_PARAMS,d={center:{x:e,y:P,z:c},id:o.id},x=a?__spreadValues(__spreadValues({},a),d):__spreadProps(__spreadValues({},d),{attribute:"",valid:!0});return p&&Object.assign(x,p),x},topViewPolygon2PointCloud=(o,n,t,a,p,e)=>{let P=o.pointList.map(B=>lbUtils.PointCloudUtils.transferCanvas2World(B,n)),c=0,d=1,x={};if(t){const B=t.getSensesPointZAxisInPolygon(P,void 0,e);e&&B.fittedCoordinates.length>0&&(P=B.fittedCoordinates),c=(B.maxZ+B.minZ)/2,d=B.maxZ-B.minZ,x={count:B.zCount}}const[f,L,R]=P,D=lbAnnotation.MathUtils.getLineCenterPoint([f,R]),w=lbAnnotation.MathUtils.getLineLength(f,L),V=lbAnnotation.MathUtils.getLineLength(L,R),T=lbAnnotation.MathUtils.getRadiusFromQuadrangle(o.pointList);a&&(c=a.center.z,d=a.depth);const k={center:{x:D.x,y:D.y,z:c},width:e?V+INTELLIGENT_FIT_MARGIN:V,height:e?w+INTELLIGENT_FIT_MARGIN:w,depth:d,rotation:T,id:o.id},O=__spreadValues(a?__spreadValues(__spreadValues({},a),k):__spreadProps(__spreadValues({},k),{attribute:"",valid:!0}),x);p&&Object.assign(O,p);const M=P.map(B=>lbUtils.PointCloudUtils.transferWorld2Canvas(B,n));return{boxParams:O,newPointList:M}},sideViewPoint2PointCloud=(o,n,t)=>{const a={x:o.x-n.x,y:o.y-n.y};return __spreadProps(__spreadValues({},t),{center:{x:t.center.x-a.x,y:t.center.y,z:t.center.z-a.y}})},sideViewPolygon2PointCloud=(o,n,t,a)=>{const[p,e,P]=o.pointList,[c,d,x]=n.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([p,P]),L=lbAnnotation.MathUtils.getLineCenterPoint([c,x]),D={x:{x:f.x-L.x,y:f.y-L.y}.x,y:0,z:f.y-L.y},w=lbAnnotation.MathUtils.getLineLength(p,e),V=lbAnnotation.MathUtils.getLineLength(c,d),T=w-V,k=lbAnnotation.MathUtils.getLineLength(e,P),O=lbAnnotation.MathUtils.getLineLength(d,x),M=k-O,{newBoxParams:B}=a.getNewBoxBySideUpdate(D,M,T,t);return B},backViewPoint2PointCloud=(o,n,t)=>{const a={x:o.x-n.x,y:o.y-n.y};return __spreadProps(__spreadValues({},t),{center:{x:t.center.x,y:t.center.y-a.x,z:t.center.z-a.y}})},backViewPolygon2PointCloud=(o,n,t,a)=>{const[p,e,P]=o.pointList,[c,d,x]=n.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([p,P]),L=lbAnnotation.MathUtils.getLineCenterPoint([c,x]),D={x:{x:f.x-L.x,y:f.y-L.y}.x,y:0,z:f.y-L.y},w=lbAnnotation.MathUtils.getLineLength(p,e),V=lbAnnotation.MathUtils.getLineLength(c,d),T=w-V,k=lbAnnotation.MathUtils.getLineLength(e,P),O=lbAnnotation.MathUtils.getLineLength(d,x),M=k-O;let{newBoxParams:B}=a.getNewBoxByBackUpdate(D,M,T,t);return B},syncSideViewByPoint=(o,n,t,a,p)=>{var e;if(!t)return;const{toolInstance:P,pointCloudInstance:c}=t;c.loadPCDFile(a,(e=p==null?void 0:p.radius)!=null?e:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(o,lbUtils.EPerspectiveView.Left);c.setInitCameraPosition(d);const{point2d:x,zoom:f}=c.getSphereSidePoint2DCoordinate(o);c.camera.zoom=f,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(f),P.setResult([__spreadProps(__spreadValues(__spreadValues({},n),x),{valid:o.valid,textAttribute:"",attribute:o.attribute})]),P.setSelectedID(n.id)},synchronizeSideView=(o,n,t,a)=>{if(!t)return;const{pointCloud2dOperation:p,pointCloudInstance:e}=t;e.loadPCDFileByBox(a,o,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=e.updateOrthoCamera(o,lbUtils.EPerspectiveView.Left);e.setInitCameraPosition(P);const{polygon2d:c,zoom:d}=e.getBoxSidePolygon2DCoordinate(o);e.camera.zoom=d,e.camera.updateProjectionMatrix(),e.render(),p.initPosition(),p.zoomChangeOnCenter(d),p.setResultAndSelectedID([{id:n.id,valid:o.valid,pointList:c,textAttribute:"",isRect:!0,attribute:o.attribute}],n.id)},syncBackViewByPoint=(o,n,t,a,p)=>{var e;if(!t)return;const{toolInstance:P,pointCloudInstance:c}=t;c.loadPCDFile(a,(e=p==null?void 0:p.radius)!=null?e:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(o,lbUtils.EPerspectiveView.Back);c.setInitCameraPosition(d);const{point2d:x,zoom:f}=c.getSphereBackPoint2DCoordinate(o);c.camera.zoom=f,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(f),P.setResult([__spreadProps(__spreadValues(__spreadValues({},n),x),{valid:o.valid,textAttribute:"",attribute:o.attribute})]),P.setSelectedID(n.id)},synchronizeBackView=(o,n,t,a)=>{if(!t)return;const{pointCloud2dOperation:p,pointCloudInstance:e}=t;e.loadPCDFileByBox(a,o,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=e.updateOrthoCamera(o,lbUtils.EPerspectiveView.Back);e.setInitCameraPosition(P);const{polygon2d:c,zoom:d}=e.getBoxBackPolygon2DCoordinate(o);e.camera.zoom=d,e.camera.updateProjectionMatrix(),e.render(),p.initPosition(),p.zoomChangeOnCenter(d),p.setResultAndSelectedID([{id:n.id,valid:o.valid,pointList:c,textAttribute:"",isRect:!0,attribute:o.attribute}],n.id)},syncTopViewByPoint=(o,n,t,a)=>{if(!t||!a)return;a.generateSphere(o),a.updateCameraBySphere(o,lbUtils.EPerspectiveView.Top),a.render();const{toolInstance:p,pointCloudInstance:e}=t,{point2d:P}=e.getSphereTopPoint2DCoordinate(o),c=[...p.pointList].map(d=>d.id===n.id?__spreadProps(__spreadValues(__spreadValues({},n),P),{valid:o.valid,textAttribute:"",attribute:o.attribute}):d);p.setResult(c),p.setSelectedID(n.id)},synchronizeTopView=(o,n,t,a)=>{var p,e;if(!t||!a)return;a.generateBox(o),a.setHighlightColor(o.id),a.render();const{pointCloud2dOperation:P,pointCloudInstance:c}=t,{polygon2d:d}=c.getBoxTopPolygon2DCoordinate(o),x=[...P.polygonList],f=x.find(L=>L.id===n.id);f?(f.pointList=d,f.valid=(p=o.valid)!=null?p:!0):x.push({id:n.id,pointList:d,textAttribute:"",isRect:!0,valid:(e=o.valid)!=null?e:!0}),P.setResultAndSelectedID(x,n.id)},usePointCloudViews=o=>{const n=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:t,sideViewInstance:a,backViewInstance:p,mainViewInstance:e,addPointCloudBox:P,addPointCloudSphere:c,setSelectedIDs:d,selectedIDs:x,pointCloudBoxList:f,pointCloudSphereList:L,hideAttributes:R,setHighlight2DDataList:D,cuboidBoxIn2DView:w,imageSizes:V,history:T,linkageImageNameRectMap:k}=n,{addHistory:O,initHistory:M,pushHistoryUnderUpdatePolygon:B}=useHistory.useHistory(),{selectedPolygon:ot}=usePolygon.usePolygon(),{getPointCloudSphereByID:nt,updatePointCloudSphere:Y,selectedSphere:W}=useSphere.useSphere(),{currentData:j,config:y}=ctx.useSelector(s=>{const{stepList:i,step:u,imgList:l,imgIndex:r}=s.annotation;return{currentData:l[r],config:index.jsonParser(StepUtils.getCurrentStepInfo(u,i).config)}}),z=ctx.useDispatch(),it=ahooks.useLatest(w),st=ahooks.useLatest(k),lt=React.useCallback((s,i)=>{const u=st.current,l=i.id;return s.filter(g=>{if(!g)return!1;const C=u.get(g.imageName);return C===void 0?!0:Boolean(C.get(l))})},[]),J=s=>{const{enableAutoMap2DRect:i=!1}=y;if(!it.current||i){const{mappingImgList:u=[]}=j;index.generatePointCloudBoxRects({pointCloudBox:s,mappingImgList:u,imageSizes:V},{prepareRectsFn:lt})}},{selectedBox:U,updateSelectedBox:rt,updateSelectedBoxes:Q,getPointCloudByID:at}=useSingleBox.useSingleBox({generateRects:J}),K=U==null?void 0:U.info;if(!t||!a||!p)return{topViewAddSphere:()=>{},topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{},backViewUpdateBox:()=>{}};const{pointCloudInstance:X}=t,dt=s=>{e==null||e.generateSphere(s),e==null||e.controls.update(),e==null||e.render()},ut=({newPoint:s,size:i,zoom:u,trackConfigurable:l})=>{var r;const g={attribute:(r=t.toolInstance.defaultAttribute)!=null?r:""};l===!0&&Object.assign(g,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:[],extraSphereList:L})});const C=topViewPoint2PointCloud(s,i,X,void 0,g);d(s.id);const h=c(C);H(PointCloudView.Top,s,C,u,h,y),O({newSphereParams:C})},ct=({polygon:s,size:i,imgList:u,trackConfigurable:l,zoom:r,intelligentFit:g})=>{var C,h,m;const b={attribute:(C=t.toolInstance.defaultAttribute)!=null?C:""};l===!0&&Object.assign(b,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:f,extraSphereList:L})});const S=t==null?void 0:t.toolInstance,I=__spreadValues({},s);let{boxParams:v,newPointList:A}=topViewPolygon2PointCloud(I,i,X,void 0,b,g);v=z(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[v],stepConfig:y,action:"viewUpdateBox"}))[0],g&&(A==null?void 0:A.length)&&(I.pointList=A);const E=R.includes(I.attribute);J(v);const F=P(v),Z=(h=n==null?void 0:n.polygonList)!=null?h:[];v.subAttribute=lbAnnotation.TagUtils.getDefaultResultByConfig((y==null?void 0:y.secondaryAttributeConfigurable)?(m=y==null?void 0:y.inputList)!=null?m:[]:[]),t==null||t.updatePolygonList(F!=null?F:[],Z),E?d([]):(d(v.id),S.selection.setSelectedIDs(I.id),N({omitView:PointCloudView.Top,polygon:I,boxParams:v,zoom:r,newPointCloudBoxList:F}),g&&synchronizeTopView(v,I,t,e)),O({newBoxParams:v})},pt=s=>{const{boxID:i,imageName:u,width:l,height:r,x:g,y:C}=s,h=f.find(v=>v.id===i);if(!(h==null?void 0:h.rects)||!h.rects.find(v=>v.imageName===u))return;const b=h.rects.map(v=>v.imageName===u?__spreadProps(__spreadValues({},v),{width:l,height:r,x:g,y:C}):v),S=__spreadProps(__spreadValues({},h),{rects:b}),I=f.map(v=>v.id===i?S:v);return t==null||t.updatePolygonList(I!=null?I:[]),I},gt=s=>{const{boxID:i,imageName:u}=s,l=f.find(h=>h.id===i);if(!(l==null?void 0:l.rects))return;const r=l.rects.filter(h=>h.imageName!==u),g=__spreadProps(__spreadValues({},l),{rects:r}),C=f.map(h=>h.id===i?g:h);return t==null||t.updatePolygonList(C!=null?C:[]),C},Pt=({newSelectedBox:s,newPointCloudList:i,newSelectedSphere:u,newSphereList:l})=>{var r;const g=t==null?void 0:t.toolInstance;if(!(x.length===0||!g)){if(s||(U==null?void 0:U.info)){const C=s!=null?s:U==null?void 0:U.info;(r=g==null?void 0:g.selection)==null||r.setSelectedIDs(x[0]);const h=g.selectedPolygon;if(x.length===1&&C){N({omitView:PointCloudView.Top,polygon:h,boxParams:C,newPointCloudBoxList:i});return}}if((u||W)&&x.length===1){const C=u!=null?u:W;g.setSelectedID(x[0]);const h=g.selectedPoint;C&&H(PointCloudView.Top,h,C,void 0,l,y)}}},$=(s,i,u)=>{if(K){let l,r;switch(u){case PointCloudView.Back:l=backViewPolygon2PointCloud;break;case PointCloudView.Side:l=sideViewPolygon2PointCloud;break;default:l=sideViewPolygon2PointCloud;break}if(r=l(s,i,K,a.pointCloudInstance),e){const{count:b}=e.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(r).polygonPointList,[r.center.z-r.depth/2,r.center.z+r.depth/2]);r=__spreadProps(__spreadValues({},r),{count:b})}const C=z(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[r],stepConfig:y,action:"viewUpdateBox"}))[0],h=r.valid!==C.valid;r=C;const m=rt(r);return r=m.find(b=>b.id===r.id),N({omitView:h?void 0:u,polygon:s,boxParams:r,newPointCloudBoxList:m}),m}},tt=(s,i,u)=>{if(W){let l,r;switch(u){case PointCloudView.Back:l=backViewPoint2PointCloud;break;case PointCloudView.Side:l=sideViewPoint2PointCloud;break;default:l=sideViewPoint2PointCloud;break}r=l(s,i,W);const g=Y(r);return H(u,s,r,void 0,g,y),g}},Ct=(s,i)=>{tt(s,i,PointCloudView.Side)},ft=(s,i)=>{tt(s,i,PointCloudView.Back)},ht=(s,i)=>{$(s,i,PointCloudView.Side)},xt=(s,i)=>{$(s,i,PointCloudView.Back)},vt=(s,i)=>{const u=nt(s.id),l=topViewPoint2PointCloud(s,i,X,u),r=Y(l);H(PointCloudView.Top,s,l,void 0,r,y)},Lt=(s,i)=>{if(ot){const l=__spreadValues({},s[0].newPolygon);l.pointList=l.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,i)),B(l);return}let u=s.map(({newPolygon:l})=>{const r=at(l.id),{boxParams:g}=topViewPolygon2PointCloud(l,i,t.pointCloudInstance,r);return g});if(u=z(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:u,stepConfig:y,action:"viewUpdateBox"})),u.length===1){const{newPolygon:l}=s[0],r=Q(u);N({polygon:l,boxParams:u[0],newPointCloudBoxList:r})}else{const l=Q(u);l&&n.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.MultiMove,l)}},yt=s=>{var i,u,l,r,g;if(U){const C=Number(s.widthDefault),h=Number(s.depthDefault),m=Number(s.heightDefault),b=U==null?void 0:U.info.trackID,I=((i=t==null?void 0:t.toolInstance)==null?void 0:i.polygonList).find(G=>(G==null?void 0:G.trackID)===b),v={width:(l=(u=t==null?void 0:t.toolInstance)==null?void 0:u.basicImgInfo)==null?void 0:l.width,height:(g=(r=t==null?void 0:t.toolInstance)==null?void 0:r.basicImgInfo)==null?void 0:g.height},A=I.pointList.map(G=>lbUtils.PointCloudUtils.transferCanvas2World(G,v)),q=lbAnnotation.MathUtils.getModifiedRectangleCoordinates(A,m,C),E=q[0],F=q[2],Z=lbAnnotation.MathUtils.getLineCenterPoint([E,F]),mt=U.info.center.z-U.info.depth/2,et=__spreadProps(__spreadValues({},U.info),{center:{x:Z.x,y:Z.y,z:mt+h/2},width:C,height:m,depth:h,valid:!0}),Bt=Q([et]);N({omitView:PointCloudView["3D"],polygon:I,boxParams:et,newPointCloudBoxList:Bt})}},H=(s,i,u,l,r,g)=>__async(void 0,null,function*(){const C=j==null?void 0:j.url,h={[PointCloudView.Side]:()=>{syncSideViewByPoint(u,i,a,C,g)},[PointCloudView.Back]:()=>{p&&syncBackViewByPoint(u,i,p,C,g)},[PointCloudView.Top]:()=>{syncTopViewByPoint(u,i,t,e)}};Object.keys(h).forEach(m=>{m!==s&&h[m]()}),l&&(e==null||e.updateCameraZoom(l)),dt(u)}),N=(s,i=ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default)=>{const{omitView:u,polygon:l,boxParams:r,zoom:g,newPointCloudBoxList:C}=s,h=j==null?void 0:j.url;C&&n.syncAllViewPointCloudColor(i,C);const m={[PointCloudView.Side]:()=>{synchronizeSideView(r,l,a,h)},[PointCloudView.Back]:()=>{p&&synchronizeBackView(r,l,p,h)},[PointCloudView.Top]:()=>{synchronizeTopView(r,l,t,e)}};Object.keys(m).forEach(b=>{b!==u&&m[b]()}),g&&(e==null||e.updateCameraZoom(g))};return{topViewAddSphere:ut,topViewAddBox:ct,topViewSelectedChanged:Pt,topViewUpdatePoint:vt,sideViewUpdatePoint:Ct,backViewUpdatePoint:ft,topViewUpdateBox:Lt,sideViewUpdateBox:ht,backViewUpdateBox:xt,syncPointCloudViews:N,syncPointCloudPoint:H,pointCloudBoxListUpdated:s=>{t.updatePolygonList(s),e==null||e.generateBoxes(s)},initPointCloud3d:s=>{if(!e)return;const i=lbUtils.PointCloudUtils.getDefaultOrthographicParams(s);e.initOrthographicCamera(i),e.initRenderer(),e.render()},updatePointCloudData:(...s)=>__async(void 0,[...s],function*(i=j){var u,l,r,g,C,h,m,b;if(!(i==null?void 0:i.url)||!e)return;D([]),actionCreators.SetAnnotationLoading(z,!0),actionCreators.SetLoadPCDFileLoading(z,!0),(u=o==null?void 0:o.setResourceLoading)==null||u.call(o,!0),yield e.loadPCDFile(i.url,(l=y==null?void 0:y.radius)!=null?l:DEFAULT_RADIUS),e==null||e.clearAllBox(),e==null||e.clearAllSphere();let S=[],I=[],v=[],A=[];e.updateTopCamera();const q=(g=(r=index.jsonParser(i.result))==null?void 0:r.valid)!=null?g:!0;if(n.setPointCloudValid(q),(C=n.sideViewInstance)==null||C.clearAllData(),(h=n.backViewInstance)==null||h.clearAllData(),i.result){if(S=lbUtils.PointCloudUtils.getBoxParamsFromResultList(i.result),(S==null?void 0:S.length)>0&&i.isPreResult&&(y==null?void 0:y.lowerLimitPointsNumInBox)>0){S=yield e==null?void 0:e.filterPreResult(i.url,y,S);const E=index.jsonParser(i.result);E[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=S,i.result=JSON.stringify(E),n.setPointCloudResult(S)}v=lbUtils.PointCloudUtils.getPolygonListFromResultList(i.result),I=lbUtils.PointCloudUtils.getLineListFromResultList(i.result),A=lbUtils.PointCloudUtils.getSphereParamsFromResultList(i.result),t.updateData(i.url,i.result,{radius:(m=y==null?void 0:y.radius)!=null?m:DEFAULT_RADIUS}),e==null||e.generateBoxes(S),e==null||e.generateSpheres(A),yield n.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,S,[])}M({pointCloudBoxList:S,polygonList:v,lineList:I,pointCloudSphereList:A}),actionCreators.SetAnnotationLoading(z,!1),actionCreators.SetLoadPCDFileLoading(z,!1),(b=o==null?void 0:o.setResourceLoading)==null||b.call(o,!1)}),updateViewsByDefaultSize:yt,generateRects:J,update2DViewRect:pt,remove2DViewRect:gt}},useSyncRectPositionDimensionToPointCloudList=()=>{const{pointCloudBoxList:o,rectList:n,setPointCloudResult:t}=React.useContext(PointCloudContext.PointCloudContext),a=ahooks.useLatest(o),p=ahooks.useLatest(n);return{syncToPointCloudBoxList:React.useCallback(()=>{const P=a.current,c=p.current;if(c.length===0)return null;const d=new Map,x=new Set;if(c.filter(f=>f.extId!==void 0).forEach(f=>{const L=f.extId,R=f.imageName,D=_.pick(f,["x","y","width","height"]);let w=d.get(L);w||(w=new Map,d.set(L,w)),w.set(R,D),x.add(L)}),d.size){const f=P.map(L=>{var R;const D=L.id;if(x.has(D)){const w=__spreadValues({},L);return(R=w.rects)==null||R.forEach(V=>{var T;const k=V.imageName;Object.assign(V,(T=d.get(D))==null?void 0:T.get(k))}),w}return L});return t(f),f}return null},[])}};exports.syncBackViewByPoint=syncBackViewByPoint,exports.syncSideViewByPoint=syncSideViewByPoint,exports.syncTopViewByPoint=syncTopViewByPoint,exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPoint2PointCloud=topViewPoint2PointCloud,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.usePointCloudViews=usePointCloudViews,exports.useSyncRectPositionDimensionToPointCloudList=useSyncRectPositionDimensionToPointCloudList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useSingleBox=require("./useSingleBox.js"),useSphere=require("./useSphere.js"),_=require("lodash"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),ToolPointCloudBoxRenderHelper=require("../../../utils/ToolPointCloudBoxRenderHelper.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js"),ahooks=require("ahooks"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,n,t)=>n in o?__defProp(o,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[n]=t,__spreadValues=(o,n)=>{for(var t in n||(n={}))__hasOwnProp.call(n,t)&&__defNormalProp(o,t,n[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(n))__propIsEnum.call(n,t)&&__defNormalProp(o,t,n[t]);return o},__spreadProps=(o,n)=>__defProps(o,__getOwnPropDescs(n)),__async=(o,n,t)=>new Promise((a,p)=>{var e=d=>{try{c(t.next(d))}catch(x){p(x)}},P=d=>{try{c(t.throw(d))}catch(x){p(x)}},c=d=>d.done?a(d.value):Promise.resolve(d.value).then(e,P);c((t=t.apply(o,n)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,INTELLIGENT_FIT_MARGIN=.01,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},topViewPoint2PointCloud=(o,n,t,a,p)=>{const{x:e,y:P}=lbUtils.PointCloudUtils.transferCanvas2World(o,n),{defaultZ:c}=lbUtils.DEFAULT_SPHERE_PARAMS,d={center:{x:e,y:P,z:c},id:o.id},x=a?__spreadValues(__spreadValues({},a),d):__spreadProps(__spreadValues({},d),{attribute:"",valid:!0});return p&&Object.assign(x,p),x},topViewPolygon2PointCloud=(o,n,t,a,p,e)=>{let P=o.pointList.map(b=>lbUtils.PointCloudUtils.transferCanvas2World(b,n)),c=0,d=1,x={};if(t){const b=t.getSensesPointZAxisInPolygon(P,void 0,e);e&&b.fittedCoordinates.length>0&&(P=b.fittedCoordinates),c=(b.maxZ+b.minZ)/2,d=b.maxZ-b.minZ,x={count:b.zCount}}const[f,v,U]=P,D=lbAnnotation.MathUtils.getLineCenterPoint([f,U]),S=lbAnnotation.MathUtils.getLineLength(f,v),V=lbAnnotation.MathUtils.getLineLength(v,U),k=lbAnnotation.MathUtils.getRadiusFromQuadrangle(o.pointList);a&&(c=a.center.z,d=a.depth);const T={center:{x:D.x,y:D.y,z:c},width:e?V+INTELLIGENT_FIT_MARGIN:V,height:e?S+INTELLIGENT_FIT_MARGIN:S,depth:d,rotation:k,id:o.id},O=__spreadValues(a?__spreadValues(__spreadValues({},a),T):__spreadProps(__spreadValues({},T),{attribute:"",valid:!0}),x);p&&Object.assign(O,p);const A=P.map(b=>lbUtils.PointCloudUtils.transferWorld2Canvas(b,n));return{boxParams:O,newPointList:A}},sideViewPoint2PointCloud=(o,n,t)=>{const a={x:o.x-n.x,y:o.y-n.y};return __spreadProps(__spreadValues({},t),{center:{x:t.center.x-a.x,y:t.center.y,z:t.center.z-a.y}})},sideViewPolygon2PointCloud=(o,n,t,a)=>{const[p,e,P]=o.pointList,[c,d,x]=n.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([p,P]),v=lbAnnotation.MathUtils.getLineCenterPoint([c,x]),D={x:{x:f.x-v.x,y:f.y-v.y}.x,y:0,z:f.y-v.y},S=lbAnnotation.MathUtils.getLineLength(p,e),V=lbAnnotation.MathUtils.getLineLength(c,d),k=S-V,T=lbAnnotation.MathUtils.getLineLength(e,P),O=lbAnnotation.MathUtils.getLineLength(d,x),A=T-O,{newBoxParams:b}=a.getNewBoxBySideUpdate(D,A,k,t);return b},backViewPoint2PointCloud=(o,n,t)=>{const a={x:o.x-n.x,y:o.y-n.y};return __spreadProps(__spreadValues({},t),{center:{x:t.center.x,y:t.center.y-a.x,z:t.center.z-a.y}})},backViewPolygon2PointCloud=(o,n,t,a)=>{const[p,e,P]=o.pointList,[c,d,x]=n.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([p,P]),v=lbAnnotation.MathUtils.getLineCenterPoint([c,x]),D={x:{x:f.x-v.x,y:f.y-v.y}.x,y:0,z:f.y-v.y},S=lbAnnotation.MathUtils.getLineLength(p,e),V=lbAnnotation.MathUtils.getLineLength(c,d),k=S-V,T=lbAnnotation.MathUtils.getLineLength(e,P),O=lbAnnotation.MathUtils.getLineLength(d,x),A=T-O;let{newBoxParams:b}=a.getNewBoxByBackUpdate(D,A,k,t);return b},syncSideViewByPoint=(o,n,t,a,p)=>{var e;if(!t)return;const{toolInstance:P,pointCloudInstance:c}=t;c.loadPCDFile(a,(e=p==null?void 0:p.radius)!=null?e:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(o,lbUtils.EPerspectiveView.Left);c.setInitCameraPosition(d);const{point2d:x,zoom:f}=c.getSphereSidePoint2DCoordinate(o);c.camera.zoom=f,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(f),P.setResult([__spreadProps(__spreadValues(__spreadValues({},n),x),{valid:o.valid,textAttribute:"",attribute:o.attribute})]),P.setSelectedID(n.id)},synchronizeSideView=(o,n,t,a)=>{if(!t)return;const{pointCloud2dOperation:p,pointCloudInstance:e}=t;e.loadPCDFileByBox(a,o,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=e.updateOrthoCamera(o,lbUtils.EPerspectiveView.Left);e.setInitCameraPosition(P);const{polygon2d:c,zoom:d}=e.getBoxSidePolygon2DCoordinate(o);e.camera.zoom=d,e.camera.updateProjectionMatrix(),e.render(),p.initPosition(),p.zoomChangeOnCenter(d),p.setResultAndSelectedID([{id:n.id,valid:o.valid,pointList:c,textAttribute:"",isRect:!0,attribute:o.attribute}],n.id)},syncBackViewByPoint=(o,n,t,a,p)=>{var e;if(!t)return;const{toolInstance:P,pointCloudInstance:c}=t;c.loadPCDFile(a,(e=p==null?void 0:p.radius)!=null?e:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(o,lbUtils.EPerspectiveView.Back);c.setInitCameraPosition(d);const{point2d:x,zoom:f}=c.getSphereBackPoint2DCoordinate(o);c.camera.zoom=f,c.camera.updateProjectionMatrix(),c.render(),P.initPosition(),P.zoomChangeOnCenter(f),P.setResult([__spreadProps(__spreadValues(__spreadValues({},n),x),{valid:o.valid,textAttribute:"",attribute:o.attribute})]),P.setSelectedID(n.id)},synchronizeBackView=(o,n,t,a)=>{if(!t)return;const{pointCloud2dOperation:p,pointCloudInstance:e}=t;e.loadPCDFileByBox(a,o,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:P}=e.updateOrthoCamera(o,lbUtils.EPerspectiveView.Back);e.setInitCameraPosition(P);const{polygon2d:c,zoom:d}=e.getBoxBackPolygon2DCoordinate(o);e.camera.zoom=d,e.camera.updateProjectionMatrix(),e.render(),p.initPosition(),p.zoomChangeOnCenter(d),p.setResultAndSelectedID([{id:n.id,valid:o.valid,pointList:c,textAttribute:"",isRect:!0,attribute:o.attribute}],n.id)},syncTopViewByPoint=(o,n,t,a)=>{if(!t||!a)return;a.generateSphere(o),a.updateCameraBySphere(o,lbUtils.EPerspectiveView.Top),a.render();const{toolInstance:p,pointCloudInstance:e}=t,{point2d:P}=e.getSphereTopPoint2DCoordinate(o),c=[...p.pointList].map(d=>d.id===n.id?__spreadProps(__spreadValues(__spreadValues({},n),P),{valid:o.valid,textAttribute:"",attribute:o.attribute}):d);p.setResult(c),p.setSelectedID(n.id)},synchronizeTopView=(o,n,t,a)=>{var p,e;if(!t||!a)return;a.generateBox(o),a.setHighlightColor(o.id),a.render();const{pointCloud2dOperation:P,pointCloudInstance:c}=t,{polygon2d:d}=c.getBoxTopPolygon2DCoordinate(o),x=[...P.polygonList],f=x.find(v=>v.id===n.id);f?(f.pointList=d,f.valid=(p=o.valid)!=null?p:!0):x.push({id:n.id,pointList:d,textAttribute:"",isRect:!0,valid:(e=o.valid)!=null?e:!0}),P.setResultAndSelectedID(x,n.id)},usePointCloudViews=o=>{const n=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:t,sideViewInstance:a,backViewInstance:p,mainViewInstance:e,addPointCloudBox:P,addPointCloudSphere:c,setSelectedIDs:d,selectedIDs:x,pointCloudBoxList:f,pointCloudSphereList:v,hideAttributes:U,setHighlight2DDataList:D,cuboidBoxIn2DView:S,imageSizes:V,history:k,linkageImageNameRectMap:T}=n,{addHistory:O,initHistory:A,pushHistoryUnderUpdatePolygon:b}=useHistory.useHistory(),{selectedPolygon:ot}=usePolygon.usePolygon(),{getPointCloudSphereByID:nt,updatePointCloudSphere:Y,selectedSphere:Z}=useSphere.useSphere(),{currentData:E,config:y}=ctx.useSelector(s=>{const{stepList:i,step:u,imgList:r,imgIndex:g}=s.annotation;return{currentData:r[g],config:index.jsonParser(StepUtils.getCurrentStepInfo(u,i).config)}}),M=ctx.useDispatch(),it=ahooks.useLatest(S),st=ahooks.useLatest(T),lt=React.useCallback((s,i)=>{const u=st.current,r=i.id;return s.filter(l=>{if(!l)return!1;const h=u.get(l.imageName);return h===void 0?!0:Boolean(h.get(r))})},[]),J=s=>{const{enableAutoMap2DRect:i=!1}=y;if(!it.current||i){const{mappingImgList:u=[]}=E;index.generatePointCloudBoxRects({pointCloudBox:s,mappingImgList:u,imageSizes:V},{prepareRectsFn:lt})}},{selectedBox:R,updateSelectedBox:rt,updateSelectedBoxes:Q,getPointCloudByID:at}=useSingleBox.useSingleBox({generateRects:J}),K=R==null?void 0:R.info;if(!t||!a||!p)return{topViewAddSphere:()=>{},topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{},backViewUpdateBox:()=>{}};const{pointCloudInstance:X}=t,dt=s=>{e==null||e.generateSphere(s),e==null||e.controls.update(),e==null||e.render()},ut=({newPoint:s,size:i,zoom:u,trackConfigurable:r})=>{var g;const l={attribute:(g=t.toolInstance.defaultAttribute)!=null?g:""};r===!0&&Object.assign(l,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:[],extraSphereList:v})});const h=topViewPoint2PointCloud(s,i,X,void 0,l);d(s.id);const C=c(h);H(PointCloudView.Top,s,h,u,C,y),O({newSphereParams:h})},ct=({polygon:s,size:i,imgList:u,trackConfigurable:r,zoom:g,intelligentFit:l})=>{var h,C,w;const I={attribute:(h=t.toolInstance.defaultAttribute)!=null?h:""};r===!0&&Object.assign(I,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:f,extraSphereList:v})}),t==null||t.toolInstance;const L=__spreadValues({},s);let{boxParams:B,newPointList:m}=topViewPolygon2PointCloud(L,i,X,void 0,I,l);B=M(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[B],stepConfig:y,action:"viewUpdateBox"}))[0],l&&(m==null?void 0:m.length)&&(L.pointList=m);const z=U.includes(L.attribute);J(B);const j=P(B),F=(C=n==null?void 0:n.polygonList)!=null?C:[];B.subAttribute=lbAnnotation.TagUtils.getDefaultResultByConfig((y==null?void 0:y.secondaryAttributeConfigurable)?(w=y==null?void 0:y.inputList)!=null?w:[]:[]),t==null||t.updatePolygonList(j!=null?j:[],F,!1),z?d([]):(d(B.id),l&&synchronizeTopView(B,L,t,e)),O({newBoxParams:B})},pt=s=>{const{boxID:i,imageName:u,width:r,height:g,x:l,y:h}=s,C=f.find(m=>m.id===i);if(!(C==null?void 0:C.rects)||!C.rects.find(m=>m.imageName===u))return;const I=C.rects.map(m=>m.imageName===u?__spreadProps(__spreadValues({},m),{width:r,height:g,x:l,y:h}):m),L=__spreadProps(__spreadValues({},C),{rects:I}),B=f.map(m=>m.id===i?L:m);return t==null||t.updatePolygonList(B!=null?B:[]),B},gt=s=>{const{boxID:i,imageName:u}=s,r=f.find(C=>C.id===i);if(!(r==null?void 0:r.rects))return;const g=r.rects.filter(C=>C.imageName!==u),l=__spreadProps(__spreadValues({},r),{rects:g}),h=f.map(C=>C.id===i?l:C);return t==null||t.updatePolygonList(h!=null?h:[]),h},Pt=({newSelectedBox:s,newPointCloudList:i,newSelectedSphere:u,newSphereList:r})=>{var g;const l=t==null?void 0:t.toolInstance;if(!(x.length===0||!l)){if(s||(R==null?void 0:R.info)){const h=s!=null?s:R==null?void 0:R.info;(g=l==null?void 0:l.selection)==null||g.setSelectedIDs(x[0]);const C=l.selectedPolygon;if(x.length===1&&h){q({omitView:PointCloudView.Top,polygon:C,boxParams:h,newPointCloudBoxList:i});return}}if((u||Z)&&x.length===1){const h=u!=null?u:Z;l.setSelectedID(x[0]);const C=l.selectedPoint;h&&H(PointCloudView.Top,C,h,void 0,r,y)}}},$=(s,i,u,r=ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default)=>{if(K){let g,l;switch(u){case PointCloudView.Back:g=backViewPolygon2PointCloud;break;case PointCloudView.Side:g=sideViewPolygon2PointCloud;break;default:g=sideViewPolygon2PointCloud;break}if(l=g(s,i,K,a.pointCloudInstance),e){const{count:L}=e.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(l).polygonPointList,[l.center.z-l.depth/2,l.center.z+l.depth/2]);l=__spreadProps(__spreadValues({},l),{count:L})}const C=M(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[l],stepConfig:y,action:"viewUpdateBox"}))[0],w=l.valid!==C.valid;l=C;const I=rt(l);return l=I.find(L=>L.id===l.id),q({omitView:w?void 0:u,polygon:s,boxParams:l,newPointCloudBoxList:I},r),I}},tt=(s,i,u)=>{if(Z){let r,g;switch(u){case PointCloudView.Back:r=backViewPoint2PointCloud;break;case PointCloudView.Side:r=sideViewPoint2PointCloud;break;default:r=sideViewPoint2PointCloud;break}g=r(s,i,Z);const l=Y(g);return H(u,s,g,void 0,l,y),l}},Ct=(s,i)=>{tt(s,i,PointCloudView.Side)},ft=(s,i)=>{tt(s,i,PointCloudView.Back)},ht=(s,i)=>{$(s,i,PointCloudView.Side,ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)},xt=(s,i)=>{$(s,i,PointCloudView.Back,ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)},vt=(s,i)=>{const u=nt(s.id),r=topViewPoint2PointCloud(s,i,X,u),g=Y(r);H(PointCloudView.Top,s,r,void 0,g,y)},Lt=(s,i)=>{if(ot){const r=__spreadValues({},s[0].newPolygon);r.pointList=r.pointList.map(g=>lbUtils.PointCloudUtils.transferCanvas2World(g,i)),b(r);return}let u=s.map(({newPolygon:r})=>{const g=at(r.id),{boxParams:l}=topViewPolygon2PointCloud(r,i,t.pointCloudInstance,g);return l});if(u=M(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:u,stepConfig:y,action:"viewUpdateBox"})),u.length===1){const{newPolygon:r}=s[0],g=Q(u);q({polygon:r,boxParams:u[0],newPointCloudBoxList:g},ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)}else{const r=Q(u);r&&n.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.MultiMove,r)}},yt=s=>{var i,u,r,g,l;if(R){const h=Number(s.widthDefault),C=Number(s.depthDefault),w=Number(s.heightDefault),I=R==null?void 0:R.info.trackID,B=((i=t==null?void 0:t.toolInstance)==null?void 0:i.polygonList).find(G=>(G==null?void 0:G.trackID)===I),m={width:(r=(u=t==null?void 0:t.toolInstance)==null?void 0:u.basicImgInfo)==null?void 0:r.width,height:(l=(g=t==null?void 0:t.toolInstance)==null?void 0:g.basicImgInfo)==null?void 0:l.height},N=B.pointList.map(G=>lbUtils.PointCloudUtils.transferCanvas2World(G,m)),z=lbAnnotation.MathUtils.getModifiedRectangleCoordinates(N,w,h),j=z[0],F=z[2],W=lbAnnotation.MathUtils.getLineCenterPoint([j,F]),mt=R.info.center.z-R.info.depth/2,et=__spreadProps(__spreadValues({},R.info),{center:{x:W.x,y:W.y,z:mt+C/2},width:h,height:w,depth:C,valid:!0}),Bt=Q([et]);q({omitView:PointCloudView["3D"],polygon:B,boxParams:et,newPointCloudBoxList:Bt})}},H=(s,i,u,r,g,l)=>__async(void 0,null,function*(){const h=E==null?void 0:E.url,C={[PointCloudView.Side]:()=>{syncSideViewByPoint(u,i,a,h,l)},[PointCloudView.Back]:()=>{p&&syncBackViewByPoint(u,i,p,h,l)},[PointCloudView.Top]:()=>{syncTopViewByPoint(u,i,t,e)}};Object.keys(C).forEach(w=>{w!==s&&C[w]()}),r&&(e==null||e.updateCameraZoom(r)),dt(u)}),q=(s,i=ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default)=>{const{omitView:u,polygon:r,boxParams:g,zoom:l,newPointCloudBoxList:h}=s,C=E==null?void 0:E.url;h&&n.syncAllViewPointCloudColor(i,h);const w={[PointCloudView.Side]:()=>{synchronizeSideView(g,r,a,C)},[PointCloudView.Back]:()=>{p&&synchronizeBackView(g,r,p,C)},[PointCloudView.Top]:()=>{synchronizeTopView(g,r,t,e)}};Object.keys(w).forEach(I=>{I!==u&&w[I]()}),l&&(e==null||e.updateCameraZoom(l))};return{topViewAddSphere:ut,topViewAddBox:ct,topViewSelectedChanged:Pt,topViewUpdatePoint:vt,sideViewUpdatePoint:Ct,backViewUpdatePoint:ft,topViewUpdateBox:Lt,sideViewUpdateBox:ht,backViewUpdateBox:xt,syncPointCloudViews:q,syncPointCloudPoint:H,pointCloudBoxListUpdated:s=>{t.updatePolygonList(s),e==null||e.generateBoxes(s)},initPointCloud3d:s=>{if(!e)return;const i=lbUtils.PointCloudUtils.getDefaultOrthographicParams(s);e.initOrthographicCamera(i),e.initRenderer(),e.render()},updatePointCloudData:(...s)=>__async(void 0,[...s],function*(i=E){var u,r,g,l,h,C,w,I;if(!(i==null?void 0:i.url)||!e)return;D([]),actionCreators.SetAnnotationLoading(M,!0),actionCreators.SetLoadPCDFileLoading(M,!0),(u=o==null?void 0:o.setResourceLoading)==null||u.call(o,!0),yield e.loadPCDFile(i.url,(r=y==null?void 0:y.radius)!=null?r:DEFAULT_RADIUS,y==null?void 0:y.tipScopeList),e==null||e.clearAllBox(),e==null||e.clearAllSphere();let L=[],B=[],m=[],N=[];e.updateTopCamera();const z=index.jsonParser(i.result),j=index.jsonParser(i.preResult),F=(l=(g=z==null?void 0:z.valid)!=null?g:j==null?void 0:j.valid)!=null?l:!0;if(n.setPointCloudValid(F),(h=n.sideViewInstance)==null||h.clearAllData(),(C=n.backViewInstance)==null||C.clearAllData(),i.result){if(L=lbUtils.PointCloudUtils.getBoxParamsFromResultList(i.result),(L==null?void 0:L.length)>0&&i.isPreResult&&(y==null?void 0:y.lowerLimitPointsNumInBox)>0){L=yield e==null?void 0:e.filterPreResult(i.url,y,L);const W=index.jsonParser(i.result);W[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=L,i.result=JSON.stringify(W),n.setPointCloudResult(L)}m=lbUtils.PointCloudUtils.getPolygonListFromResultList(i.result),B=lbUtils.PointCloudUtils.getLineListFromResultList(i.result),N=lbUtils.PointCloudUtils.getSphereParamsFromResultList(i.result),t.updateData(i.url,i.result,{radius:(w=y==null?void 0:y.radius)!=null?w:DEFAULT_RADIUS}),e==null||e.generateBoxes(L),e==null||e.generateSpheres(N),yield n.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,L,[])}A({pointCloudBoxList:L,polygonList:m,lineList:B,pointCloudSphereList:N}),actionCreators.SetAnnotationLoading(M,!1),actionCreators.SetLoadPCDFileLoading(M,!1),(I=o==null?void 0:o.setResourceLoading)==null||I.call(o,!1)}),updateViewsByDefaultSize:yt,generateRects:J,update2DViewRect:pt,remove2DViewRect:gt}},useSyncRectPositionDimensionToPointCloudList=()=>{const{pointCloudBoxList:o,rectList:n,setPointCloudResult:t}=React.useContext(PointCloudContext.PointCloudContext),a=ahooks.useLatest(o),p=ahooks.useLatest(n);return{syncToPointCloudBoxList:React.useCallback(()=>{const P=a.current,c=p.current;if(c.length===0)return null;const d=new Map,x=new Set;if(c.filter(f=>f.extId!==void 0).forEach(f=>{const v=f.extId,U=f.imageName,D=_.pick(f,["x","y","width","height"]);let S=d.get(v);S||(S=new Map,d.set(v,S)),S.set(U,D),x.add(v)}),d.size){const f=P.map(v=>{var U;const D=v.id;if(x.has(D)){const S=__spreadValues({},v);return(U=S.rects)==null||U.forEach(V=>{var k;const T=V.imageName;Object.assign(V,(k=d.get(D))==null?void 0:k.get(T))}),S}return v});return t(f),f}return null},[])}};exports.syncBackViewByPoint=syncBackViewByPoint,exports.syncSideViewByPoint=syncSideViewByPoint,exports.syncTopViewByPoint=syncTopViewByPoint,exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPoint2PointCloud=topViewPoint2PointCloud,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.usePointCloudViews=usePointCloudViews,exports.useSyncRectPositionDimensionToPointCloudList=useSyncRectPositionDimensionToPointCloudList;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=a=>{const{currentData:i,imgList:P,drawLayerSlot:c,checkMode:n,intelligentFit:v,imgIndex:p,config:L,measureVisible:E,setResourceLoading:x}=a,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:m,setGlobalPattern:S,selectedIDs:C}=e,q=ctx.useDispatch(),[l,f]=React.useState(!1),b=(C==null?void 0:C.length)>0&&l,j=index.jsonParser(i.result),{toolInstanceRef:o,clearToolInstance:w}=annotation.useCustomToolInstance({basicInfo:j});if(React.useEffect(()=>{o.current.setPointCloudGlobalPattern=t=>{t!==m&&(S(t),e.clearAllDetectionInstance(),w())}},[m]),React.useEffect(()=>{var t;if(actionCreators.SetLoadPCDFileLoading(q,!0),i){const{boxParamsList:r,polygonList:s,lineList:u,sphereParamsList:d,segmentation:N,rectList:V}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((t=i==null?void 0:i.result)!=null?t:"");e.setPointCloudResult(r),e.setPolygonList(s),e.setLineList(u),e.setPointCloudSphereList(d),e.setRectList(V),e.setSegmentation(N)}},[p]),React.useEffect(()=>{o.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],o.current.exportCustomData=()=>{var t,r,s,u,d;return{resultPolygon:(t=e.polygonList)!=null?t:[],resultLine:(r=e.lineList)!=null?r:[],resultPoint:(s=e.pointCloudSphereList)!=null?s:[],resultRect:(u=e.rectList)!=null?u:[],segmentation:(d=e.segmentation)!=null?d:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),P.length===0)return null;if(m===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:n,toolInstanceRef:o}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:n}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:L}),c==null?void 0:c({direct:!0}));let g=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:n}),React__default.default.createElement(PointCloudSideView,{checkMode:n}));return l&&(g=React__default.default.createElement(index$2,{selectAndEnlarge:b,checkMode:n})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:n,toolInstanceRef:o,setResourceLoading:x}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:t=>t.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,null),g),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:l})},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:c,checkMode:n,intelligentFit:v,setIsEnlargeTopView:f,onExitZoom:()=>{f(!1)},isEnlargeTopView:l}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right-bottom")]:!l,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:l})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:l,thumbnailWidth:l?300:455,checkMode:n,measureVisible:E})))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js"),DynamicResizer=require("../DynamicResizer/DynamicResizer.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=i=>{const{currentData:s,imgList:S,drawLayerSlot:f,checkMode:n,intelligentFit:b,imgIndex:x,config:V,measureVisible:q,setResourceLoading:p,stepInfo:t,setBatchSetValid:g}=i,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:v,setGlobalPattern:w,selectedIDs:P,isLargeStatus:u,setIsLargeStatus:j}=e,D=ctx.useDispatch(),C=React.useRef(null),L=React.useRef(null),[N,y]=React.useState(0),[a,h]=React.useState(!1),R=(P==null?void 0:P.length)>0&&a,I=index.jsonParser(s.result),{toolInstanceRef:r,clearToolInstance:A}=annotation.useCustomToolInstance({basicInfo:I});if(React.useEffect(()=>{r.current.setPointCloudGlobalPattern=l=>{l!==v&&(w(l),e.clearAllDetectionInstance(),A())}},[v]),React.useEffect(()=>{var l;if(actionCreators.SetLoadPCDFileLoading(D,!0),s){const{boxParamsList:o,polygonList:d,lineList:c,sphereParamsList:m,segmentation:B,rectList:_}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((l=s==null?void 0:s.result)!=null?l:"");e.setPointCloudResult(o),e.setPolygonList(d),e.setLineList(c),e.setPointCloudSphereList(m),e.setRectList(_),e.setSegmentation(B)}},[x]),React.useEffect(()=>{var l;if(C.current){const o=((l=C.current)==null?void 0:l.offsetHeight)-233;y(o)}},[L.current]),React.useEffect(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var l,o,d,c,m;return{resultPolygon:(l=e.polygonList)!=null?l:[],resultLine:(o=e.lineList)!=null?o:[],resultPoint:(d=e.pointCloudSphereList)!=null?d:[],resultRect:(c=e.rectList)!=null?c:[],segmentation:(m=e.segmentation)!=null?m:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),S.length===0)return null;if(v===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:n,toolInstanceRef:r}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:n}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:V}),f==null?void 0:f({direct:!0}));let E=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:n}),React__default.default.createElement(PointCloudSideView,{checkMode:n}));return a&&(E=React__default.default.createElement(index$2,{selectAndEnlarge:R,checkMode:n})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:n,toolInstanceRef:r,setResourceLoading:p,isBatchSetValid:!!g}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:l=>l.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content"),ref:L},React__default.default.createElement(DynamicResizer,{direction:"horizontal",localKey:"leftAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%",disabled:u},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container",u?"left-large":"left-noLarge")},React__default.default.createElement(PointCloud3DView,{setResourceLoading:p}),E),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:a}),ref:C},React__default.default.createElement(DynamicResizer,{localKey:"rightAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultHeight:300,minTopHeight:N,minBottomHeight:160,disabled:u},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:f,checkMode:n,intelligentFit:b,setIsEnlargeTopView:h,onExitZoom:()=>{j(!1),h(!1)},isEnlargeTopView:a}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container",u?"right-bottom-large":"right-bottom-noLarge")]:!a,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:a})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:a,thumbnailWidth:a?300:455,checkMode:n,measureVisible:q})))))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))),e.visibleBatchSetValid&&(g==null?void 0:g({valid:e.valid,isModal:!0,visibleModal:e.visibleBatchSetValid,onClose:()=>e.setBatchSetValidModal(!1),singleSetQuestionImg:()=>e.setPointCloudValid(!e.valid)})))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),antd=require("antd"),index_module=require("./index.module.scss.js"),index=require("../longText/index.js"),classNames=require("classnames");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const{CheckableTag}=antd.Tag,CheckBoxList=({tagItem:a,selectedTags:r,handleChange:c,disabeledAll:o})=>{var d;const s=o,{isMulti:u,subSelected:n=[],value:i}=a,t=i;return u?React__default.default.createElement(React__default.default.Fragment,null,n.map(e=>{var l,v;return React__default.default.createElement(CheckableTag,{key:e==null?void 0:e.value,checked:(l=r[t])==null?void 0:l.includes(e==null?void 0:e.value),onChange:m=>{s||c({key:t,tag:e==null?void 0:e.value,checked:m})},className:classNames__default.default({[`${index_module.disabled}`]:s,[`${index_module.active}`]:s&&((v=r[t])==null?void 0:v.includes(e==null?void 0:e.value))})},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0})))})):React__default.default.createElement(antd.Radio.Group,{onChange:e=>{c({key:t,tag:e.target.value,checked:e.target.checked,isRadio:!0})},value:(d=r[t])==null?void 0:d[0]},n.map(e=>React__default.default.createElement(antd.Radio,{value:e==null?void 0:e.value,key:e==null?void 0:e.value,disabled:s},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0})))))},TagList=a=>{const{selectedTags:r,updateValue:c,disabeledAll:o,inputList:d=[]}=a,s=u=>{const{key:n,checked:i,tag:t,isRadio:e}=u;let l=r[n]||[];if(e&&(l=[]),i){if(l==null?void 0:l.includes(t))return;l.push(t)}else!i&&(l==null?void 0:l.includes(t))&&(l=l.filter(m=>m!==t));c({key:n,value:l})};return(d==null?void 0:d.length)>0?React__default.default.createElement("div",{className:index_module.tagList},d.map((u,n)=>React__default.default.createElement(antd.Row,{key:n,className:index_module.content},React__default.default.createElement(antd.Col,{span:4,className:index_module.left},React__default.default.createElement(index,{text:u==null?void 0:u.key,openByText:!0})),React__default.default.createElement(antd.Col,{span:20,className:index_module.right},React__default.default.createElement(CheckBoxList,{selectedTags:r,handleChange:s,tagItem:u,disabeledAll:o}))))):null};module.exports=TagList;
1
+ "use strict";var React=require("react"),antd=require("antd"),index_module=require("./index.module.scss.js"),index=require("../longText/index.js"),classNames=require("classnames");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const{CheckableTag}=antd.Tag,CheckBoxList=({tagItem:a,selectedTags:r,handleChange:c,disabeledAll:o})=>{var d;const s=o,{isMulti:u,subSelected:n=[],value:i}=a,t=i;return u?React__default.default.createElement(React__default.default.Fragment,null,n.map(e=>{var l,v;return React__default.default.createElement(CheckableTag,{key:e==null?void 0:e.value,checked:(l=r[t])==null?void 0:l.includes(e==null?void 0:e.value),onChange:m=>{s||c({key:t,tag:e==null?void 0:e.value,checked:m})},className:classNames__default.default({[`${index_module.disabled}`]:s,[`${index_module.active}`]:s&&((v=r[t])==null?void 0:v.includes(e==null?void 0:e.value))})},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0,maxWordCount:10})))})):React__default.default.createElement(antd.Radio.Group,{onChange:e=>{c({key:t,tag:e.target.value,checked:e.target.checked,isRadio:!0})},value:(d=r[t])==null?void 0:d[0]},n.map(e=>React__default.default.createElement(antd.Radio,{value:e==null?void 0:e.value,key:e==null?void 0:e.value,disabled:s},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0,maxWordCount:10})))))},TagList=a=>{const{selectedTags:r,updateValue:c,disabeledAll:o,inputList:d=[]}=a,s=u=>{const{key:n,checked:i,tag:t,isRadio:e}=u;let l=r[n]||[];if(e&&(l=[]),i){if(l==null?void 0:l.includes(t))return;l.push(t)}else!i&&(l==null?void 0:l.includes(t))&&(l=l.filter(m=>m!==t));c({key:n,value:l})};return(d==null?void 0:d.length)>0?React__default.default.createElement("div",{className:index_module.tagList},d.map((u,n)=>React__default.default.createElement(antd.Row,{key:n,className:index_module.content},React__default.default.createElement(antd.Col,{span:4,className:index_module.left},React__default.default.createElement(index,{text:u==null?void 0:u.key,openByText:!0})),React__default.default.createElement(antd.Col,{span:20,className:index_module.right},React__default.default.createElement(CheckBoxList,{selectedTags:r,handleChange:s,tagItem:u,disabeledAll:o}))))):null};module.exports=TagList;
@@ -1 +1 @@
1
- "use strict";var audio=require("../../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),React=require("react"),constant=require("../constant.js"),utils=require("../../../videoPlayer/utils.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const ToolTipForClip=t=>{var a,l;const{slot:n,item:e,attributeList:o}=t,{t:r}=reactI18next.useTranslation();if(!n)return null;const{type:s,attribute:d,textAttribute:c}=e;if(e.start===void 0||e.end===void 0)return null;const i=utils.decimalReserved(e.start,2),u=(l=utils.decimalReserved((a=e.end)!=null?a:0,2))!=null?l:0,v=React__default.default.createElement("div",null,React__default.default.createElement("div",null,s===constant.ETimeSliceType.Period?`${audio.timeFormat(i,"ss:SS")}~${audio.timeFormat(u,"ss:SS")}\uFF0C${audio.precisionMinus(u,i)}s`:audio.timeFormat(i,"ss:SS")),React__default.default.createElement("div",null,`${r("Attribute")}\uFF1A${lbAnnotation.AttributeUtils.getAttributeShowText(d,o)||r("NoAttribute")}`),React__default.default.createElement("div",null,`${r("textTool")}\uFF1A${c}`));return React__default.default.createElement(antd.Tooltip,{title:v},n)};module.exports=ToolTipForClip;
1
+ "use strict";var audio=require("../../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),React=require("react"),constant=require("../constant.js"),utils=require("../../../videoPlayer/utils.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const ToolTipForClip=t=>{var i,l;const{slot:u,item:e,attributeList:o}=t,{t:r}=reactI18next.useTranslation();if(!u)return null;const{type:s,attribute:d,textAttribute:c,text:v}=e;if(e.start===void 0||e.end===void 0)return null;const a=utils.decimalReserved(e.start,2),n=(l=utils.decimalReserved((i=e.end)!=null?i:0,2))!=null?l:0,m=React__default.default.createElement("div",null,React__default.default.createElement("div",null,s===constant.ETimeSliceType.Period?`${audio.timeFormat(a,"ss:SS")}~${audio.timeFormat(n,"ss:SS")}\uFF0C${audio.precisionMinus(n,a)}s`:audio.timeFormat(a,"ss:SS")),React__default.default.createElement("div",null,`${r("Attribute")}\uFF1A${lbAnnotation.AttributeUtils.getAttributeShowText(d,o)||r("NoAttribute")}`),React__default.default.createElement("div",null,`${r("SubAttribute")}\uFF1A${v}`),React__default.default.createElement("div",null,`${r("textTool")}\uFF1A${c}`));return React__default.default.createElement(antd.Tooltip,{title:m,placement:"leftTop"},u)};module.exports=ToolTipForClip;
@@ -1 +1 @@
1
- "use strict";var audio=require("../../../../../utils/audio.js"),index$1=require("../../../../../utils/index.js"),icons=require("@ant-design/icons"),React=require("react"),constant=require("../../constant.js"),index=require("../timeSliceRange/index.js"),ToolTipForClip=require("../ToolTipForClip.js"),index$2=require("../videoTrack/index.js"),index_module=require("./index.module.scss.js"),utils=require("../../../../videoPlayer/utils.js"),ctx=require("../../../../../store/ctx.js"),reactRedux=require("react-redux"),reactI18next=require("react-i18next");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TimeSliceIcon=({type:e})=>e===constant.ETimeSliceType.Time?React__default.default.createElement(icons.EnvironmentFilled,null):React__default.default.createElement(icons.ScissorOutlined,{rotate:270}),EmptyVideoClipAnnotatedList=()=>{const{t:e}=reactI18next.useTranslation();return React__default.default.createElement("div",{className:index_module.noContent},React__default.default.createElement("div",null,e("NoClippedData")),React__default.default.createElement("div",null,React__default.default.createElement("span",{className:index_module.hotkey},"X"),e("ClipSlice")),React__default.default.createElement("div",null,React__default.default.createElement("span",{className:index_module.hotkey},"E"),e("TimeStamp")))},VideoClipAnnotatedListWrapper=({children:e})=>{const t=e.length===0;return React__default.default.createElement("div",{className:index$1.classnames({[index_module.empty]:t,[index_module.timeSliceListContent]:!0})},t?React__default.default.createElement(EmptyVideoClipAnnotatedList,null):e)},VideoClipAnnotatedItem=({timeSliceProps:e,index:t,exportContext:i})=>{const{selectedID:a,attributeList:n,onSelectedTimeSlice:r,removeTimeSlice:d}=i;return React__default.default.createElement("div",{key:t,className:index$1.classnames({[index_module.timeSliceItem]:!0,[index_module.timeSliceItemActivated]:e.id===a}),onClick:()=>{r(e)}},React__default.default.createElement(ToolTipForClip,{slot:React__default.default.createElement("div",{className:index_module.timeSliceItemContent},React__default.default.createElement("div",{className:index_module.textOverflow},`${t+1}\u3001\u3010${constant.TIME_SLICE_TYPE[e.type]}\u3011 ${index$2.getDisplayContent(e,n)}`),React__default.default.createElement("div",{className:index$1.classnames({[index_module.textOverflow]:!0})},React__default.default.createElement(TimeSliceIcon,{type:e.type}),React__default.default.createElement("span",{style:{marginLeft:10}},`${audio.timeFormat(e.start,"ss:SS")} ${e.end&&e.type===constant.ETimeSliceType.Period?"~ "+audio.timeFormat(e.end,"ss:SS")+", "+utils.decimalReserved(e.end-e.start,2)+"s":""}`))),item:e,attributeList:n}),React__default.default.createElement(icons.CloseCircleFilled,{className:index_module.timeSliceItemDeleteIcon,onClick:u=>{u.stopPropagation(),d(e)}}))},VideoClipAnnotatedList=e=>{const{toolInstance:t}=e,{selectedID:i,result:a,videoPlayer:n,clipStatus:r,updateSelectedSliceTimeProperty:d}=(t==null?void 0:t.exportContext)||{},[u,o]=React.useState(0),{t:m}=reactI18next.useTranslation();React.useEffect(()=>(t&&t.singleOn("changeClipSidebar",l=>{o(s=>s+1)}),()=>{var l;(l=t==null?void 0:t.unbindAll)==null||l.call(t,"changeClipSidebar")}),[t]);const v=a==null?void 0:a.find(l=>l.id===i),c=a==null?void 0:a.filter(l=>l.end!==null);return(t==null?void 0:t.exportContext)?React__default.default.createElement("div",null,React__default.default.createElement("div",{className:index_module.timeSliceListHeader},m("AnnotatedList")),React__default.default.createElement(VideoClipAnnotatedListWrapper,null,c==null?void 0:c.map((l,s)=>React__default.default.createElement(VideoClipAnnotatedItem,{timeSliceProps:l,index:s,key:l.id,exportContext:(t==null?void 0:t.exportContext)||{}}))),React__default.default.createElement(index,{selectedTimeSlice:v,videoPlayer:n,updateTimeForSelected:d,disabled:r===constant.EClipStatus.Clipping})):null},mapStateToProps=({annotation:e})=>{const{toolInstance:t}=e;return{toolInstance:t}};var VideoClipAnnotatedList$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(VideoClipAnnotatedList);module.exports=VideoClipAnnotatedList$1;
1
+ "use strict";var audio=require("../../../../../utils/audio.js"),index$1=require("../../../../../utils/index.js"),icons=require("@ant-design/icons"),React=require("react"),constant=require("../../constant.js"),index=require("../timeSliceRange/index.js"),ToolTipForClip=require("../ToolTipForClip.js"),index$2=require("../videoTrack/index.js"),index_module=require("./index.module.scss.js"),utils=require("../../../../videoPlayer/utils.js"),ctx=require("../../../../../store/ctx.js"),reactRedux=require("react-redux"),reactI18next=require("react-i18next");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TimeSliceIcon=({type:e})=>e===constant.ETimeSliceType.Time?React__default.default.createElement(icons.EnvironmentFilled,null):React__default.default.createElement(icons.ScissorOutlined,{rotate:270}),EmptyVideoClipAnnotatedList=()=>{const{t:e}=reactI18next.useTranslation();return React__default.default.createElement("div",{className:index_module.noContent},React__default.default.createElement("div",null,e("NoClippedData")),React__default.default.createElement("div",null,React__default.default.createElement("span",{className:index_module.hotkey},"X"),e("ClipSlice")),React__default.default.createElement("div",null,React__default.default.createElement("span",{className:index_module.hotkey},"E"),e("TimeStamp")))},VideoClipAnnotatedListWrapper=({children:e,scrollRef:t})=>{const a=e.length===0;return React__default.default.createElement("div",{ref:t,className:index$1.classnames({[index_module.empty]:a,[index_module.timeSliceListContent]:!0})},a?React__default.default.createElement(EmptyVideoClipAnnotatedList,null):e)},VideoClipAnnotatedItem=({timeSliceProps:e,index:t,exportContext:a,onItemClick:r})=>{const{selectedID:c,attributeList:i,removeTimeSlice:d}=a;return React__default.default.createElement("div",{key:t,className:index$1.classnames({[index_module.timeSliceItem]:!0,[index_module.timeSliceItemActivated]:e.id===c}),onClick:()=>{r(e)}},React__default.default.createElement(ToolTipForClip,{slot:React__default.default.createElement("div",{className:index_module.timeSliceItemContent},React__default.default.createElement("div",{className:index_module.textOverflow},`${t+1}\u3001\u3010${constant.TIME_SLICE_TYPE[e.type]}\u3011 ${index$2.getDisplayContent(e,i)}`),React__default.default.createElement("div",{className:index$1.classnames({[index_module.textOverflow]:!0})},React__default.default.createElement(TimeSliceIcon,{type:e.type}),React__default.default.createElement("span",{style:{marginLeft:10}},`${audio.timeFormat(e.start,"ss:SS")} ${e.end&&e.type===constant.ETimeSliceType.Period?"~ "+audio.timeFormat(e.end,"ss:SS")+", "+utils.decimalReserved(e.end-e.start,2)+"s":""}`))),item:e,attributeList:i}),React__default.default.createElement(icons.CloseCircleFilled,{className:index_module.timeSliceItemDeleteIcon,onClick:s=>{s.stopPropagation(),d(e)}}))},VideoClipAnnotatedList=e=>{const{toolInstance:t}=e,{selectedID:a,result:r,videoPlayer:c,clipStatus:i,updateSelectedSliceTimeProperty:d}=(t==null?void 0:t.exportContext)||{},[s,v]=React.useState(0),o=React.useRef(null),m=React.useRef(!1),{t:p}=reactI18next.useTranslation();React.useEffect(()=>(t&&t.singleOn("changeClipSidebar",l=>{v(n=>n+1)}),()=>{var l;(l=t==null?void 0:t.unbindAll)==null||l.call(t,"changeClipSidebar")}),[t]);const E=r==null?void 0:r.find(l=>l.id===a),u=React.useMemo(()=>{var l;return[...(l=r==null?void 0:r.filter(n=>n.end!==null))!=null?l:[]].sort((n,f)=>n.start-f.start)},[r,s]),x=l=>{m.current=!0,t.exportContext.onSelectedTimeSlice(l)};return React.useLayoutEffect(()=>{var l;if(!a||!o.current)return;if(m.current){m.current=!1;return}const n=u.findIndex(f=>f.id===a);n>=0&&((l=o.current.children[n])==null||l.scrollIntoView({block:"nearest"}))},[a,s,u]),(t==null?void 0:t.exportContext)?React__default.default.createElement("div",null,React__default.default.createElement("div",{className:index_module.timeSliceListHeader},p("AnnotatedList")),React__default.default.createElement(VideoClipAnnotatedListWrapper,{scrollRef:o},u==null?void 0:u.map((l,n)=>React__default.default.createElement(VideoClipAnnotatedItem,{timeSliceProps:l,index:n,key:l.id,exportContext:(t==null?void 0:t.exportContext)||{},onItemClick:x}))),React__default.default.createElement(index,{selectedTimeSlice:E,videoPlayer:c,updateTimeForSelected:d,disabled:i===constant.EClipStatus.Clipping})):null},mapStateToProps=({annotation:e})=>{const{toolInstance:t}=e;return{toolInstance:t}};var VideoClipAnnotatedList$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(VideoClipAnnotatedList);module.exports=VideoClipAnnotatedList$1;
@@ -1 +1,2 @@
1
- "use strict";var index=require("../../../../../utils/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),React=require("react"),reactTransitionGroup=require("react-transition-group"),constant=require("../../constant.js"),index_module=require("./index.module.scss.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,i)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,__spreadValues=(e,t)=>{for(var i in t||(t={}))__hasOwnProp.call(t,i)&&__defNormalProp(e,i,t[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(t))__propIsEnum.call(t,i)&&__defNormalProp(e,i,t[i]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const VideoTimeSlicesOverVideo=e=>{const{attributeList:t,result:i,currentTime:l,extraStyle:u}=e,m=r=>{const{type:a,start:s,end:c}=r;let n=!1;return a===constant.ETimeSliceType.Time?n=lbAnnotation.MathUtils.isInRange(l,[s-.1,s+.1]):n=c===null||lbAnnotation.MathUtils.isInRange(l,[s,c]),n},d=[],o=[];i.forEach(r=>{(m(r)?o:d).push(r)});const p=o.sort((r,a)=>r.start-a.start).map(r=>__spreadProps(__spreadValues({},r),{withinTime:!0})).map(r=>React__default.default.createElement(reactTransitionGroup.CSSTransition,{classNames:"fade",key:r.id,timeout:500},React__default.default.createElement("div",{className:index.classnames({[index_module.timeSliceWrapper]:!0,[index_module.active]:r.withinTime})},React__default.default.createElement("div",{className:index_module.timeSliceItemAttribute,style:{textAlign:"right"}},React__default.default.createElement("span",{style:{backgroundColor:lbAnnotation.AttributeUtils.getAttributeColor(r.attribute,t)}},`${constant.TIME_SLICE_TYPE[r.type]}: ${lbAnnotation.AttributeUtils.getAttributeShowText(r.attribute,t)||"\u65E0\u5C5E\u6027"}`)),r.textAttribute&&React__default.default.createElement("div",{className:index_module.timeSliceItemText},`\u6587\u672C: ${r.textAttribute}`))));return React__default.default.createElement("div",{className:index_module.videoTimeSlices,style:u},React__default.default.createElement(reactTransitionGroup.TransitionGroup,{className:"fade-group"},p))};module.exports=VideoTimeSlicesOverVideo;
1
+ "use strict";var index=require("../../../../../utils/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),React=require("react"),reactTransitionGroup=require("react-transition-group"),constant=require("../../constant.js"),index_module=require("./index.module.scss.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,r,i)=>r in t?__defProp(t,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[r]=i,__spreadValues=(t,r)=>{for(var i in r||(r={}))__hasOwnProp.call(r,i)&&__defNormalProp(t,i,r[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(r))__propIsEnum.call(r,i)&&__defNormalProp(t,i,r[i]);return t},__spreadProps=(t,r)=>__defProps(t,__getOwnPropDescs(r));const VideoTimeSlicesOverVideo=t=>{const{attributeList:r,result:i,currentTime:u,extraStyle:m,inputList:o=[]}=t,d=e=>{const{type:a,start:s,end:n}=e;let l=!1;return a===constant.ETimeSliceType.Time?l=lbAnnotation.MathUtils.isInRange(u,[s-.1,s+.1]):l=n===null||lbAnnotation.MathUtils.isInRange(u,[s,n]),l},p=[],c=[];i.forEach(e=>{(d(e)?c:p).push(e)});const f=c.sort((e,a)=>e.start-a.start).map(e=>__spreadProps(__spreadValues({},e),{withinTime:!0})).map(e=>React__default.default.createElement(reactTransitionGroup.CSSTransition,{classNames:"fade",key:e.id,timeout:500},React__default.default.createElement("div",{className:index.classnames({[index_module.timeSliceWrapper]:!0,[index_module.active]:e.withinTime})},React__default.default.createElement("div",{className:index_module.timeSliceItemAttribute,style:{backgroundColor:lbAnnotation.AttributeUtils.getAttributeColor(e.attribute,r)}},`${constant.TIME_SLICE_TYPE[e.type]}: ${lbAnnotation.AttributeUtils.getAttributeShowText(e.attribute,r)||"\u65E0\u5C5E\u6027"}`),(e==null?void 0:e.subAttribute)&&o.length>0&&(()=>{const a=lbAnnotation.TagUtils.getTagNameList(e.subAttribute,o);return a.length>0?React__default.default.createElement("div",{className:index_module.timeSliceItemSubAttribute,style:{backgroundColor:lbAnnotation.AttributeUtils.getAttributeColor(e.attribute,r)}},a.map((s,n)=>React__default.default.createElement("div",{key:n},`${s.keyName}\uFF1A${s.value.join(`
2
+ `)}`))):null})(),e.textAttribute&&React__default.default.createElement("div",{className:index_module.timeSliceItemText},`\u6587\u672C: ${e.textAttribute}`))));return React__default.default.createElement("div",{className:index_module.videoTimeSlices,style:m},React__default.default.createElement(reactTransitionGroup.TransitionGroup,{className:"fade-group"},f))};module.exports=VideoTimeSlicesOverVideo;
@@ -1 +1 @@
1
- "use strict";var styles={videoTimeSlices:"index-module_videoTimeSlices__v-2k1",timeSliceWrapper:"index-module_timeSliceWrapper__kebC3",timeSliceItemText:"index-module_timeSliceItemText__FJFwH",timeSliceItemAttribute:"index-module_timeSliceItemAttribute__--3E1"};module.exports=styles;
1
+ "use strict";var styles={videoTimeSlices:"index-module_videoTimeSlices__v-2k1",timeSliceWrapper:"index-module_timeSliceWrapper__kebC3",timeSliceItemText:"index-module_timeSliceItemText__FJFwH",timeSliceItemAttribute:"index-module_timeSliceItemAttribute__--3E1",timeSliceItemSubAttribute:"index-module_timeSliceItemSubAttribute__MtsgS"};module.exports=styles;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var audio=require("../../../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),icons=require("@ant-design/icons"),React=require("react"),index$1=require("../resizableSnippet/index.js"),constant=require("../../constant.js"),ToolTipForClip=require("../ToolTipForClip.js"),index_module=require("./index.module.scss.js"),utils=require("../../../../videoPlayer/utils.js"),VideoClipToolContext=require("../../VideoClipToolContext.js"),index=require("../../../../videoPlayer/index.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,a,e)=>a in r?__defProp(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,__spreadValues=(r,a)=>{for(var e in a||(a={}))__hasOwnProp.call(a,e)&&__defNormalProp(r,e,a[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(a))__propIsEnum.call(a,e)&&__defNormalProp(r,e,a[e]);return r},__spreadProps=(r,a)=>__defProps(r,__getOwnPropDescs(a));const getDisplayContent=(r,a)=>{const{t:e}=reactI18next.useTranslation(),{attribute:u,textAttribute:n}=r;return[lbAnnotation.AttributeUtils.getAttributeShowText(u,a)||e("NoAttribute"),n?`${e("textTool")}: ${n}`:""].filter(m=>m).join("\uFF0C")},sortTrack=(r,a)=>{const e=(r||[]).filter(n=>n).map(()=>[]);r.forEach(n=>{if(n.id!==a){const l=e.findIndex(m=>{const i=n.start,s=n.end;return m.every(p=>{const v=[p.start,p.end],d=[i,s];return!lbAnnotation.MathUtils.isInRange(i,v)&&!lbAnnotation.MathUtils.isInRange(s,v)&&!lbAnnotation.MathUtils.isInRange(p.start,d)&&!lbAnnotation.MathUtils.isInRange(p.end,d)})});l>-1&&e[l].push(n)}});const u=fillArrayLen(e.filter(n=>n.length>0));return u==null?void 0:u.map(n=>({data:n,id:utils.hashCode(n==null?void 0:n.map(l=>l.id).join("_"))}))},fillArrayLen=(r,a=2)=>{let e=r;return e.length-a<0&&(e=e.concat(Array.from({length:a-e.length}))),e},VideoTrack=r=>{var a;const{currentTime:e,readonly:u,onTrackResizeStart:n}=r,{result:l,selectedAttribute:m,attributeList:i,selectedID:s,clipStatus:p,contextToCancel:v}=React.useContext(VideoClipToolContext.VideoClipToolContext),{duration:d}=React.useContext(index.VideoPlayerCtx),y=React.useRef(null),k=e/d,T=(t,o=4)=>`${utils.decimalReserved(t*100,o)}%`,x=t=>{if(t){const o=lbAnnotation.AttributeUtils.getAttributeColor(t.attribute,i),f=Math.max((t.end||e)-t.start,0)/d,c={backgroundColor:o,left:T(t.start/d,2),width:T(t.end?Math.max(f,.001):f,2),position:"absolute",borderRadius:5};return t.type===constant.ETimeSliceType.Time&&(delete c.width,delete c.backgroundColor,c.top="50%",c.transform="translate(-50%)",c.color=o),c}return{}},b=lbAnnotation.AttributeUtils.getAttributeColor(m,i),g=((a=y.current)==null?void 0:a.clientWidth)||0,C=utils.decimalReserved(Math.max(g*k,0),0),E=utils.decimalReserved(Math.min(C,Math.floor(g-68)),0),_=t=>{if(t)return t.type===constant.ETimeSliceType.Time?React__default.default.createElement(ToolTipForClip,{slot:React__default.default.createElement(icons.EnvironmentFilled,{style:x(t)}),item:__spreadProps(__spreadValues({},t),{end:t.end===null?e:t.end}),attributeList:i}):React__default.default.createElement(index$1,{track:t,currentTime:e,style:x(t),onResize:(o,f)=>r.onTrackResize(t.id,o,f),onTrackResizeStart:n,onClipping:p===constant.EClipStatus.Clipping,isSelected:t.id===s,readonly:u,attributeList:i})},P=React.useMemo(()=>{const t=sortTrack(l,s);return t==null?void 0:t.map((o,f)=>{var c;return React__default.default.createElement("div",{className:index_module.track,key:(o==null?void 0:o.id)||f},(c=o.data)==null?void 0:c.map(h=>_(h)))})},[l,s,d,JSON.stringify(i)]),j=React.useMemo(()=>{const t=l.find(o=>(o==null?void 0:o.id)===s);return s&&t?React__default.default.createElement("div",{className:index_module.track,key:t==null?void 0:t.id},_(t)):null},[l,s,d,e,JSON.stringify(i)]);return React__default.default.createElement("div",{className:index_module.videoTrackContainer,ref:y,onContextMenu:v},React__default.default.createElement("div",{className:index_module.timeTrack}),React__default.default.createElement("div",{className:index_module.videoTrack},j,P),React__default.default.createElement("div",{className:index_module.timeline,style:{transform:`translate3d(${C}px, 0px, 0px)`,backgroundColor:b}}),React__default.default.createElement("div",{className:index_module.displayTime,style:{backgroundColor:b,transform:`translateX(${E}px, 0px, 0px)`}},audio.timeFormat(e)))};var VideoTrack$1=VideoTrack;exports.default=VideoTrack$1,exports.getDisplayContent=getDisplayContent;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var audio=require("../../../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),icons=require("@ant-design/icons"),React=require("react"),index$1=require("../resizableSnippet/index.js"),constant=require("../../constant.js"),ToolTipForClip=require("../ToolTipForClip.js"),index_module=require("./index.module.scss.js"),utils=require("../../../../videoPlayer/utils.js"),VideoClipToolContext=require("../../VideoClipToolContext.js"),index=require("../../../../videoPlayer/index.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,a,e)=>a in r?__defProp(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,__spreadValues=(r,a)=>{for(var e in a||(a={}))__hasOwnProp.call(a,e)&&__defNormalProp(r,e,a[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(a))__propIsEnum.call(a,e)&&__defNormalProp(r,e,a[e]);return r},__spreadProps=(r,a)=>__defProps(r,__getOwnPropDescs(a));const getDisplayContent=(r,a)=>{const{t:e}=reactI18next.useTranslation(),{attribute:u,textAttribute:n}=r,l=lbAnnotation.AttributeUtils.getAttributeShowText(u,a)||e("NoAttribute"),p=(r==null?void 0:r.text)||"";return[l,p?`${e("SubAttribute")}: ${p}`:"",n?`${e("textTool")}: ${n}`:""].filter(i=>i).join("\uFF0C")},sortTrack=(r,a)=>{const e=(r||[]).filter(n=>n).map(()=>[]);r.forEach(n=>{if(n.id!==a){const l=e.findIndex(p=>{const i=n.start,s=n.end;return p.every(f=>{const v=[f.start,f.end],c=[i,s];return!lbAnnotation.MathUtils.isInRange(i,v)&&!lbAnnotation.MathUtils.isInRange(s,v)&&!lbAnnotation.MathUtils.isInRange(f.start,c)&&!lbAnnotation.MathUtils.isInRange(f.end,c)})});l>-1&&e[l].push(n)}});const u=fillArrayLen(e.filter(n=>n.length>0));return u==null?void 0:u.map(n=>({data:n,id:utils.hashCode(n==null?void 0:n.map(l=>l.id).join("_"))}))},fillArrayLen=(r,a=2)=>{let e=r;return e.length-a<0&&(e=e.concat(Array.from({length:a-e.length}))),e},VideoTrack=r=>{var a;const{currentTime:e,readonly:u,onTrackResizeStart:n}=r,{result:l,selectedAttribute:p,attributeList:i,selectedID:s,clipStatus:f,contextToCancel:v}=React.useContext(VideoClipToolContext.VideoClipToolContext),{duration:c}=React.useContext(index.VideoPlayerCtx),b=React.useRef(null),k=e/c,T=(t,o=4)=>`${utils.decimalReserved(t*100,o)}%`,x=t=>{if(t){const o=lbAnnotation.AttributeUtils.getAttributeColor(t.attribute,i),m=Math.max((t.end||e)-t.start,0)/c,d={backgroundColor:o,left:T(t.start/c,2),width:T(t.end?Math.max(m,.001):m,2),position:"absolute",borderRadius:5};return t.type===constant.ETimeSliceType.Time&&(delete d.width,delete d.backgroundColor,d.top="50%",d.transform="translate(-50%)",d.color=o),d}return{}},g=lbAnnotation.AttributeUtils.getAttributeColor(p,i),C=((a=b.current)==null?void 0:a.clientWidth)||0,_=utils.decimalReserved(Math.max(C*k,0),0),E=utils.decimalReserved(Math.min(_,Math.floor(C-68)),0),h=t=>{if(t)return t.type===constant.ETimeSliceType.Time?React__default.default.createElement(ToolTipForClip,{slot:React__default.default.createElement(icons.EnvironmentFilled,{style:x(t)}),item:__spreadProps(__spreadValues({},t),{end:t.end===null?e:t.end}),attributeList:i}):React__default.default.createElement(index$1,{track:t,currentTime:e,style:x(t),onResize:(o,m)=>r.onTrackResize(t.id,o,m),onTrackResizeStart:n,onClipping:f===constant.EClipStatus.Clipping,isSelected:t.id===s,readonly:u,attributeList:i})},P=React.useMemo(()=>{if(!c)return;const t=sortTrack(l,s);return t==null?void 0:t.map((o,m)=>{var d;return React__default.default.createElement("div",{className:index_module.track,key:(o==null?void 0:o.id)||m},(d=o.data)==null?void 0:d.map((y,O)=>React__default.default.createElement(React__default.default.Fragment,{key:(y==null?void 0:y.id)||`${o==null?void 0:o.id}_${O}`},h(y))))})},[l,s,c,JSON.stringify(i)]),A=React.useMemo(()=>{const t=l.find(o=>(o==null?void 0:o.id)===s);return s&&t?React__default.default.createElement("div",{className:index_module.track,key:t==null?void 0:t.id},h(t)):null},[l,s,c,e,JSON.stringify(i)]);return React__default.default.createElement("div",{className:index_module.videoTrackContainer,ref:b,onContextMenu:v},React__default.default.createElement("div",{className:index_module.timeTrack}),React__default.default.createElement("div",{className:index_module.videoTrack},A,P),React__default.default.createElement("div",{className:index_module.timeline,style:{transform:`translate3d(${_}px, 0px, 0px)`,backgroundColor:g}}),React__default.default.createElement("div",{className:index_module.displayTime,style:{backgroundColor:g,transform:`translateX(${E}px, 0px, 0px)`}},audio.timeFormat(e)))};var VideoTrack$1=VideoTrack;exports.default=VideoTrack$1,exports.getDisplayContent=getDisplayContent;