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

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.
@@ -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"),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
+ "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,a,l)=>a in n?__defProp(n,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[a]=l,__spreadValues=(n,a)=>{for(var l in a||(a={}))__hasOwnProp.call(a,l)&&__defNormalProp(n,l,a[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(a))__propIsEnum.call(a,l)&&__defNormalProp(n,l,a[l]);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:a,setTarget3DView:l}=React.useContext(PointCloud3DContext),m=c=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",c)]:!0,active:a});return React__default.default.createElement("span",{onClick:()=>{l(lbUtils.EPerspectiveView[n])},className:m(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:a,followTopView:l}=React.useContext(PointCloud3DContext),{t:m}=reactI18next.useTranslation(),c=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:()=>{l()},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")},e,c):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},c,e)},PointCloud3D=({currentData:n,config:a,highlightAttribute:l,setResourceLoading:m})=>{var c;const e=React.useContext(PointCloudContext.PointCloudContext),{setIsLargeStatus:E}=e,[b,B]=React.useState(!0),[f,C]=React.useState(!1),v=React.useRef(null),{initPointCloud3d:P,generateRects:L}=usePointCloudViews.usePointCloudViews(),p=useSize(v),{t:V}=reactI18next.useTranslation(),{value:x}=useToolStyle.useToolStyleContext(),{hiddenText:I}=x||{},{updatePointCloudAttribute:N}=usePointCloudAttribute.usePointCloudAttribute(m,a),{updateSelectedBox:q}=useSingleBox.useSingleBox({generateRects:L});React.useEffect(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(I,e.pointCloudBoxList)},[x]),React.useEffect(()=>{!e.mainViewInstance||P==null||P(p)},[p]);const{selectedBox:u}=useSingleBox.useSingleBox(),{selectedSphere:w}=useSphere.useSphere(),[j,h]=React.useState(!0),g=t=>{var o,s;const i=u==null?void 0:u.info;if(i){const r=__spreadValues({},i.center);r.x=r.x-.01,r.z=1e3;const d=t===lbUtils.EPerspectiveView.Top;(o=e.mainViewInstance)==null||o.updateCameraByBox(i,t,d?r:void 0)}w&&((s=e.mainViewInstance)==null||s.updateCameraBySphere(w,t))},D=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},R=()=>{var t,o;const s=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;s&&((o=e.mainViewInstance)==null||o.applyCameraTarget(s))};React.useEffect(()=>{if(v.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&p.width&&(t=new lbAnnotation.PointCloud({container:v.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(p),config:a,hiddenText:I,view:"3DView"}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:h}),e.setMainViewInstance(t))}},[p,n]),React.useEffect(()=>{var t;if(v.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let o=e.mainViewInstance;const s=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result),i=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),r=i.find(d=>d.id===e.selectedID);r&&((t=e.topViewInstance)==null||t.updatePolygonList(i,void 0),N(r.attribute),q(r),e.setSelectedIDs(r.id)),e.setPointCloudValid(index.resolveFileItemValid(n.result,n.preResult)),e.setPointCloudResult(i),e.setRectList(s),o.generateBoxes(i)}},[n.result,e.mainViewInstance]),React.useEffect(()=>{var t,o,s,i,r,d,T;const y=(t=u==null?void 0:u.info)==null?void 0:t.id;if(!j){h(!0);return}if(y!==void 0){g(lbUtils.EPerspectiveView.Top);const z=(i=(s=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:s.camera.zoom)!=null?i:1;(r=e.mainViewInstance)==null||r.updateCameraZoom(z)}(d=e.mainViewInstance)==null||d.setHighlightColor(y),(T=e.mainViewInstance)==null||T.render()},[(c=u==null?void 0:u.info)==null?void 0:c.id]),React.useEffect(()=>{var t,o,s,i;if(w){g(lbUtils.EPerspectiveView.Top);const r=(s=(o=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?s:1;(i=e.mainViewInstance)==null||i.updateCameraZoom(r)}},[w]),React.useEffect(()=>(window.addEventListener("keydown",_),()=>{window.removeEventListener("keydown",_)}),[]);const _=t=>{if(t.keyCode===EKeyCode.Esc){C(!1);return}},S=React.useMemo(()=>({reset3DView:D,setTarget3DView:g,isActive:!!u,followTopView:R}),[u,e.mainViewInstance]);React.useEffect(()=>{var t,o,s;const i=e.pointCloudBoxList.filter(r=>r.attribute===l);(i==null?void 0:i.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(o=e.mainViewInstance)==null||o.highlightBoxes(i)),i.length===0&&((s=e.mainViewInstance)==null||s.clearHighlightBoxesAndRender())},[l,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}},V("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:b,onChange:t=>{var o;B(t),(o=e.mainViewInstance)==null||o.setShowDirection(t)}}),f&&React__default.default.createElement(PointCloud3DContext.Provider,{value:S},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:f})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:f}),title:f?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{E(!1),C(!1)}}),V("3DView")):React__default.default.createElement(index$2,{title:V("3DView"),onClick:()=>{E(!0),C(!0)}}),toolbar:k},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!f&&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:v})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
@@ -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=(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
+ "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,n)=>r in a?__defProp(a,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):a[r]=n,__spreadValues=(a,r)=>{for(var n in r||(r={}))__hasOwnProp.call(r,n)&&__defNormalProp(a,n,r[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(r))__propIsEnum.call(r,n)&&__defNormalProp(a,n,r[n]);return a},__spreadProps=(a,r)=>__defProps(a,__getOwnPropDescs(r)),__async=(a,r,n)=>new Promise((h,d)=>{var i=e=>{try{p(n.next(e))}catch(v){d(v)}},y=e=>{try{p(n.throw(e))}catch(v){d(v)}},p=e=>e.done?h(e.value):Promise.resolve(e.value).then(i,y);p((n=n.apply(a,r)).next())});const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:a,config:r,checkMode:n,configString:h,imgIndex:d,toolInstanceRef:i,setResourceLoading:y,isBatchSetValid:p})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:v,selectNextBox:E,selectPrevBox:L,updateSelectedBox:B,deleteSelectedPointCloudBoxAndPolygon:I}=useSingleBox.useSingleBox(),{selectedSphere:b,updatePointCloudSphere:q}=useSphere.useSphere(),{clearAllResult:m,updatePointCloudPattern:A}=useStatus.useStatus(),{copySelectedBoxes:O,pasteSelectedBoxes:T,copiedBoxes:J}=useBoxes.useBoxes({config:r,currentData:a}),{updateRotate:f}=useRotate.useRotate({currentData:a}),{updateRotateEdge:j}=useRotateEdge.useRotateEdge({currentData:a}),{updatePointCloudData:w,restorePreResult:S,topViewSelectedChanged:D}=usePointCloudViews.usePointCloudViews({setResourceLoading:y}),{redo:g,undo:x,pushHistoryWithList:H,pushHistoryUnderUpdatePolygon:N,pushHistoryUnderUpdateLine:R}=useHistory.useHistory(),{syncThreeViewsAttribute:k}=useAttribute.useAttribute(),{syncAllViewsConfig:K,reRenderTopViewRange:U,reRenderTopViewTipScopeList:z}=useConfig.useConfig(),{selectedPolygon:V}=usePolygon.usePolygon(),{selectedLine:_}=useLine.useLine(),{t:P}=reactI18next.useTranslation(),{updatePointCloudColor:F}=useUpdatePointCloudColor.useUpdatePointCloudColor(y,r),M=ahooks.useLatest(a),C=t=>{var o;const{topViewInstance:s}=e;!s||(o=s.pointCloud2dOperation)==null||o.updateSelectedPolygonsPoints(t)},G=(t,o)=>{const{topViewInstance:s,mainViewInstance:u}=e;if(!s)return;const{pointCloud2dOperation:l}=s;switch(t){case"q":{f(e.rectRotateSensitivity);break}case"e":f(-Number(e.rectRotateSensitivity));break;case"g":j(-90);break;case"u":{const c=l.pattern===EPolygonPattern.Normal?lbAnnotation.EToolName.Rect:lbAnnotation.EToolName.Polygon;A(c);const $={[lbAnnotation.EToolName.Polygon]:P("PolygonPattern"),[lbAnnotation.EToolName.Rect]:P("RectPattern")};antd.message.success(P("ChangePatternMsg",{pattern:$[c]})),l.clearActiveStatus(),l.clearDrawingStatus()}break;case"+":u==null||u.updatePointSize({zoomIn:!0});break;case"-":u==null||u.updatePointSize({zoomIn:!1});break;case"v":p?(antd.Modal.destroyAll(),e.setBatchSetValidModal(!e.visibleBatchSetValid)):e.setPointCloudValid(!e.valid);break;case"tab":if(o.shiftKey){L();break}E(),o.preventDefault();break;case"f":v();break;case"arrowup":C({y:-1});break;case"arrowdown":C({y:1});break;case"arrowleft":C({x:-1});break;case"arrowright":C({x:1});break;case"delete":I(M.current);break}},W=(t,o)=>{switch(t){case"c":O();break;case"v":T();break;case"a":o.preventDefault(),e.selectedAllBoxes();break;case"z":{o.shiftKey?g():x();break}}},Y=ahooks.useLatest(t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t)||n===!0)return;const o=t.key.toLocaleLowerCase();if(t.ctrlKey){W(o,t);return}G(o,t)});return React.useEffect(()=>{if(!e.topViewInstance)return;const{addEventListener:o}=e.windowKeydownListenerHook;return o(l=>Y.current(l))},[e,e.topViewInstance,e.windowKeydownListenerHook]),React.useEffect(()=>{K(r)},[h]),React.useEffect(()=>{(r==null?void 0:r.radius)&&U(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{(r==null?void 0:r.tipScopeList)&&z(r==null?void 0:r.tipScopeList)},[r==null?void 0:r.tipScopeList]),React.useEffect(()=>{w==null||w()},[d,e.mainViewInstance]),React.useEffect(()=>{e.setHideAttributes([])},[d]),React.useEffect(()=>{i.current.setAttrChangeTrigger=t=>{var o;(o=e.topViewInstance)==null||o.toolInstance.setAttrChangeTrigger(t)},i.current.setDefaultAttribute=t=>{var o;if(k(t),F(t),V&&N(__spreadProps(__spreadValues({},V),{attribute:t})),_&&R(__spreadProps(__spreadValues({},_),{attribute:t})),b){const s=q(__spreadProps(__spreadValues({},b),{attribute:t}));e.mainViewInstance&&((o=e.mainViewInstance)==null||o.generateSpheres(s),D({newSelectedSphere:b,newSphereList:s}))}},i.current.setSubAttribute=(t,o)=>{var s;const u=e.selectedPointCloudBox;if(u){const l=(s=u==null?void 0:u.subAttribute)!=null?s:{};u.subAttribute=__spreadProps(__spreadValues({},l),{[t]:o}),B(u),e.mainViewInstance&&e.selectedPointCloudBox&&(e.mainViewInstance.generateBox(e.selectedPointCloudBox),e.mainViewInstance.setHighlightColor(u.id),e.mainViewInstance.render())}},i.current.clearResult=t=>__async(void 0,null,function*(){if(t==null?void 0:t.keepPreResult){try{(yield S==null?void 0:S())||antd.message.error(P("ClearKeepPreAnnotationFailed"))}catch(o){antd.message.error(P("ClearKeepPreAnnotationFailed"))}return}m==null||m()}),i.current.redo=()=>{g()},i.current.undo=()=>{x()},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(()=>{w==null||w(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=>{H({pointCloudBoxList:t})},initRecord:()=>{}}},[]),React.useEffect(()=>{var t;const o=(t=e.topViewInstance)==null?void 0:t.toolInstance;if(!o||n)return;const s=c=>{k(c)},u=c=>{antd.message.error(c)},l=c=>{antd.message.info(c)};return o.on("syncAttribute",s),o.on("messageError",u),o.on("messageInfo",l),()=>{o.unbind("syncAttribute",s),o.unbind("messageError",u),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";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
+ "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");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,i,o)=>i in e?__defProp(e,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[i]=o,__spreadValues=(e,i)=>{for(var o in i||(i={}))__hasOwnProp.call(i,o)&&__defNormalProp(e,o,i[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(i))__propIsEnum.call(i,o)&&__defNormalProp(e,o,i[o]);return e},__spreadProps=(e,i)=>__defProps(e,__getOwnPropDescs(i)),__async=(e,i,o)=>new Promise((u,P)=>{var t=d=>{try{c(o.next(d))}catch(v){P(v)}},C=d=>{try{c(o.throw(d))}catch(v){P(v)}},c=d=>d.done?u(d.value):Promise.resolve(d.value).then(t,C);c((o=o.apply(e,i)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,INTELLIGENT_FIT_MARGIN=.01,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},topViewPoint2PointCloud=(e,i,o,u,P)=>{const{x:t,y:C}=lbUtils.PointCloudUtils.transferCanvas2World(e,i),{defaultZ:c}=lbUtils.DEFAULT_SPHERE_PARAMS,d={center:{x:t,y:C,z:c},id:e.id},v=u?__spreadValues(__spreadValues({},u),d):__spreadProps(__spreadValues({},d),{attribute:"",valid:!0});return P&&Object.assign(v,P),v},topViewPolygon2PointCloud=(e,i,o,u,P,t)=>{let C=e.pointList.map(w=>lbUtils.PointCloudUtils.transferCanvas2World(w,i)),c=0,d=1,v={};if(o){const w=o.getSensesPointZAxisInPolygon(C,void 0,t);t&&w.fittedCoordinates.length>0&&(C=w.fittedCoordinates),c=(w.maxZ+w.minZ)/2,d=w.maxZ-w.minZ,v={count:w.zCount}}const[L,m,V]=C,R=lbAnnotation.MathUtils.getLineCenterPoint([L,V]),D=lbAnnotation.MathUtils.getLineLength(L,m),T=lbAnnotation.MathUtils.getLineLength(m,V),k=lbAnnotation.MathUtils.getRadiusFromQuadrangle(e.pointList);u&&(c=u.center.z,d=u.depth);const A={center:{x:R.x,y:R.y,z:c},width:t?T+INTELLIGENT_FIT_MARGIN:T,height:t?D+INTELLIGENT_FIT_MARGIN:D,depth:d,rotation:k,id:e.id},E=__spreadValues(u?__spreadValues(__spreadValues({},u),A):__spreadProps(__spreadValues({},A),{attribute:"",valid:!0}),v);P&&Object.assign(E,P);const j=C.map(w=>lbUtils.PointCloudUtils.transferWorld2Canvas(w,i));return{boxParams:E,newPointList:j}},sideViewPoint2PointCloud=(e,i,o)=>{const u={x:e.x-i.x,y:e.y-i.y};return __spreadProps(__spreadValues({},o),{center:{x:o.center.x-u.x,y:o.center.y,z:o.center.z-u.y}})},sideViewPolygon2PointCloud=(e,i,o,u)=>{const[P,t,C]=e.pointList,[c,d,v]=i.pointList,L=lbAnnotation.MathUtils.getLineCenterPoint([P,C]),m=lbAnnotation.MathUtils.getLineCenterPoint([c,v]),R={x:{x:L.x-m.x,y:L.y-m.y}.x,y:0,z:L.y-m.y},D=lbAnnotation.MathUtils.getLineLength(P,t),T=lbAnnotation.MathUtils.getLineLength(c,d),k=D-T,A=lbAnnotation.MathUtils.getLineLength(t,C),E=lbAnnotation.MathUtils.getLineLength(d,v),j=A-E,{newBoxParams:w}=u.getNewBoxBySideUpdate(R,j,k,o);return w},backViewPoint2PointCloud=(e,i,o)=>{const u={x:e.x-i.x,y:e.y-i.y};return __spreadProps(__spreadValues({},o),{center:{x:o.center.x,y:o.center.y-u.x,z:o.center.z-u.y}})},backViewPolygon2PointCloud=(e,i,o,u)=>{const[P,t,C]=e.pointList,[c,d,v]=i.pointList,L=lbAnnotation.MathUtils.getLineCenterPoint([P,C]),m=lbAnnotation.MathUtils.getLineCenterPoint([c,v]),R={x:{x:L.x-m.x,y:L.y-m.y}.x,y:0,z:L.y-m.y},D=lbAnnotation.MathUtils.getLineLength(P,t),T=lbAnnotation.MathUtils.getLineLength(c,d),k=D-T,A=lbAnnotation.MathUtils.getLineLength(t,C),E=lbAnnotation.MathUtils.getLineLength(d,v),j=A-E;let{newBoxParams:w}=u.getNewBoxByBackUpdate(R,j,k,o);return w},syncSideViewByPoint=(e,i,o,u,P)=>{var t;if(!o)return;const{toolInstance:C,pointCloudInstance:c}=o;c.loadPCDFile(u,(t=P==null?void 0:P.radius)!=null?t:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Left);c.setInitCameraPosition(d);const{point2d:v,zoom:L}=c.getSphereSidePoint2DCoordinate(e);c.camera.zoom=L,c.camera.updateProjectionMatrix(),c.render(),C.initPosition(),C.zoomChangeOnCenter(L),C.setResult([__spreadProps(__spreadValues(__spreadValues({},i),v),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),C.setSelectedID(i.id)},synchronizeSideView=(e,i,o,u)=>{if(!o)return;const{pointCloud2dOperation:P,pointCloudInstance:t}=o;t.loadPCDFileByBox(u,e,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:C}=t.updateOrthoCamera(e,lbUtils.EPerspectiveView.Left);t.setInitCameraPosition(C);const{polygon2d:c,zoom:d}=t.getBoxSidePolygon2DCoordinate(e);t.camera.zoom=d,t.camera.updateProjectionMatrix(),t.render(),P.initPosition(),P.zoomChangeOnCenter(d),P.setResultAndSelectedID([{id:i.id,valid:e.valid,pointList:c,textAttribute:"",isRect:!0,attribute:e.attribute}],i.id)},syncBackViewByPoint=(e,i,o,u,P)=>{var t;if(!o)return;const{toolInstance:C,pointCloudInstance:c}=o;c.loadPCDFile(u,(t=P==null?void 0:P.radius)!=null?t:DEFAULT_RADIUS);const{cameraPositionVector:d}=c.updateOrthoCameraBySphere(e,lbUtils.EPerspectiveView.Back);c.setInitCameraPosition(d);const{point2d:v,zoom:L}=c.getSphereBackPoint2DCoordinate(e);c.camera.zoom=L,c.camera.updateProjectionMatrix(),c.render(),C.initPosition(),C.zoomChangeOnCenter(L),C.setResult([__spreadProps(__spreadValues(__spreadValues({},i),v),{valid:e.valid,textAttribute:"",attribute:e.attribute})]),C.setSelectedID(i.id)},synchronizeBackView=(e,i,o,u)=>{if(!o)return;const{pointCloud2dOperation:P,pointCloudInstance:t}=o;t.loadPCDFileByBox(u,e,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:C}=t.updateOrthoCamera(e,lbUtils.EPerspectiveView.Back);t.setInitCameraPosition(C);const{polygon2d:c,zoom:d}=t.getBoxBackPolygon2DCoordinate(e);t.camera.zoom=d,t.camera.updateProjectionMatrix(),t.render(),P.initPosition(),P.zoomChangeOnCenter(d),P.setResultAndSelectedID([{id:i.id,valid:e.valid,pointList:c,textAttribute:"",isRect:!0,attribute:e.attribute}],i.id)},syncTopViewByPoint=(e,i,o,u)=>{if(!o||!u)return;u.generateSphere(e),u.updateCameraBySphere(e,lbUtils.EPerspectiveView.Top),u.render();const{toolInstance:P,pointCloudInstance:t}=o,{point2d:C}=t.getSphereTopPoint2DCoordinate(e),c=[...P.pointList].map(d=>d.id===i.id?__spreadProps(__spreadValues(__spreadValues({},i),C),{valid:e.valid,textAttribute:"",attribute:e.attribute}):d);P.setResult(c),P.setSelectedID(i.id)},synchronizeTopView=(e,i,o,u)=>{var P,t;if(!o||!u)return;u.generateBox(e),u.setHighlightColor(e.id),u.render();const{pointCloud2dOperation:C,pointCloudInstance:c}=o,{polygon2d:d}=c.getBoxTopPolygon2DCoordinate(e),v=[...C.polygonList],L=v.find(m=>m.id===i.id);L?(L.pointList=d,L.valid=(P=e.valid)!=null?P:!0):v.push({id:i.id,pointList:d,textAttribute:"",isRect:!0,valid:(t=e.valid)!=null?t:!0}),C.setResultAndSelectedID(v,i.id)},usePointCloudViews=e=>{const i=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:o,sideViewInstance:u,backViewInstance:P,mainViewInstance:t,addPointCloudBox:C,addPointCloudSphere:c,setSelectedIDs:d,selectedIDs:v,pointCloudBoxList:L,pointCloudSphereList:m,hideAttributes:V,setHighlight2DDataList:R,cuboidBoxIn2DView:D,imageSizes:T,history:k,linkageImageNameRectMap:A}=i,{addHistory:E,initHistory:j,pushHistoryUnderUpdatePolygon:w,pushHistoryWithList:ot}=useHistory.useHistory(),{selectedPolygon:it}=usePolygon.usePolygon(),{getPointCloudSphereByID:nt,updatePointCloudSphere:X,selectedSphere:q}=useSphere.useSphere(),{currentData:I,config:x}=ctx.useSelector(s=>{const{stepList:n,step:a,imgList:r,imgIndex:p}=s.annotation;return{currentData:r[p],config:index.jsonParser(StepUtils.getCurrentStepInfo(a,n).config)}}),N=ctx.useDispatch(),st=ahooks.useLatest(D),lt=ahooks.useLatest(A),rt=React.useCallback((s,n)=>{const a=lt.current,r=n.id;return s.filter(l=>{if(!l)return!1;const f=a.get(l.imageName);return f===void 0?!0:Boolean(f.get(r))})},[]),Z=s=>{const{enableAutoMap2DRect:n=!1}=x;if(!st.current||n){const{mappingImgList:a=[]}=I;index.generatePointCloudBoxRects({pointCloudBox:s,mappingImgList:a,imageSizes:T},{prepareRectsFn:rt})}},{selectedBox:U,updateSelectedBox:at,updateSelectedBoxes:G,getPointCloudByID:dt}=useSingleBox.useSingleBox({generateRects:Z}),Y=U==null?void 0:U.info;if(!o||!u||!P)return{topViewAddSphere:()=>{},topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{},backViewUpdateBox:()=>{},restorePreResult:()=>__async(void 0,null,function*(){return!1})};const{pointCloudInstance:J}=o,ut=s=>{t==null||t.generateSphere(s),t==null||t.controls.update(),t==null||t.render()},ct=({newPoint:s,size:n,zoom:a,trackConfigurable:r})=>{var p;const l={attribute:(p=o.toolInstance.defaultAttribute)!=null?p:""};r===!0&&Object.assign(l,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:[],extraSphereList:m})});const f=topViewPoint2PointCloud(s,n,J,void 0,l);d(s.id);const g=c(f);F(PointCloudView.Top,s,f,a,g,x),E({newSphereParams:f})},pt=({polygon:s,size:n,imgList:a,trackConfigurable:r,zoom:p,intelligentFit:l})=>{var f,g,h;const b={attribute:(f=o.toolInstance.defaultAttribute)!=null?f:""};r===!0&&Object.assign(b,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:L,extraSphereList:m})}),o==null||o.toolInstance;const y=__spreadValues({},s);let{boxParams:B,newPointList:S}=topViewPolygon2PointCloud(y,n,J,void 0,b,l);B=N(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[B],stepConfig:x,action:"viewUpdateBox"}))[0],l&&(S==null?void 0:S.length)&&(y.pointList=S);const z=V.includes(y.attribute);Z(B);const M=C(B),Q=(g=i==null?void 0:i.polygonList)!=null?g:[];B.subAttribute=lbAnnotation.TagUtils.getDefaultResultByConfig((x==null?void 0:x.secondaryAttributeConfigurable)?(h=x==null?void 0:x.inputList)!=null?h:[]:[]),o==null||o.updatePolygonList(M!=null?M:[],Q,!1),z?d([]):(d(B.id),l&&synchronizeTopView(B,y,o,t)),E({newBoxParams:B})},Pt=s=>{const{boxID:n,imageName:a,width:r,height:p,x:l,y:f}=s,g=L.find(S=>S.id===n);if(!(g==null?void 0:g.rects)||!g.rects.find(S=>S.imageName===a))return;const b=g.rects.map(S=>S.imageName===a?__spreadProps(__spreadValues({},S),{width:r,height:p,x:l,y:f}):S),y=__spreadProps(__spreadValues({},g),{rects:b}),B=L.map(S=>S.id===n?y:S);return o==null||o.updatePolygonList(B!=null?B:[]),B},gt=s=>{const{boxID:n,imageName:a}=s,r=L.find(g=>g.id===n);if(!(r==null?void 0:r.rects))return;const p=r.rects.filter(g=>g.imageName!==a),l=__spreadProps(__spreadValues({},r),{rects:p}),f=L.map(g=>g.id===n?l:g);return o==null||o.updatePolygonList(f!=null?f:[]),f},Ct=({newSelectedBox:s,newPointCloudList:n,newSelectedSphere:a,newSphereList:r})=>{var p;const l=o==null?void 0:o.toolInstance;if(!(v.length===0||!l)){if(s||(U==null?void 0:U.info)){const f=s!=null?s:U==null?void 0:U.info;(p=l==null?void 0:l.selection)==null||p.setSelectedIDs(v[0]);const g=l.selectedPolygon;if(v.length===1&&f){H({omitView:PointCloudView.Top,polygon:g,boxParams:f,newPointCloudBoxList:n});return}}if((a||q)&&v.length===1){const f=a!=null?a:q;l.setSelectedID(v[0]);const g=l.selectedPoint;f&&F(PointCloudView.Top,g,f,void 0,r,x)}}},K=(s,n,a,r=ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default)=>{if(Y){let p,l;switch(a){case PointCloudView.Back:p=backViewPolygon2PointCloud;break;case PointCloudView.Side:p=sideViewPolygon2PointCloud;break;default:p=sideViewPolygon2PointCloud;break}if(l=p(s,n,Y,u.pointCloudInstance),t){const{count:y}=t.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(l).polygonPointList,[l.center.z-l.depth/2,l.center.z+l.depth/2]);l=__spreadProps(__spreadValues({},l),{count:y})}const g=N(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:[l],stepConfig:x,action:"viewUpdateBox"}))[0],h=l.valid!==g.valid;l=g;const b=at(l);return l=b.find(y=>y.id===l.id),H({omitView:h?void 0:a,polygon:s,boxParams:l,newPointCloudBoxList:b},r),b}},$=(s,n,a)=>{if(q){let r,p;switch(a){case PointCloudView.Back:r=backViewPoint2PointCloud;break;case PointCloudView.Side:r=sideViewPoint2PointCloud;break;default:r=sideViewPoint2PointCloud;break}p=r(s,n,q);const l=X(p);return F(a,s,p,void 0,l,x),l}},ft=(s,n)=>{$(s,n,PointCloudView.Side)},Lt=(s,n)=>{$(s,n,PointCloudView.Back)},ht=(s,n)=>{K(s,n,PointCloudView.Side,ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)},vt=(s,n)=>{K(s,n,PointCloudView.Back,ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)},xt=(s,n)=>{const a=nt(s.id),r=topViewPoint2PointCloud(s,n,J,a),p=X(r);F(PointCloudView.Top,s,r,void 0,p,x)},yt=(s,n)=>{if(it){const r=__spreadValues({},s[0].newPolygon);r.pointList=r.pointList.map(p=>lbUtils.PointCloudUtils.transferCanvas2World(p,n)),w(r);return}let a=s.map(({newPolygon:r})=>{const p=dt(r.id),{boxParams:l}=topViewPolygon2PointCloud(r,n,o.pointCloudInstance,p);return l});if(a=N(actionCreators.PreDataProcess({tool:lbAnnotation.EPointCloudName.PointCloud,dataList:a,stepConfig:x,action:"viewUpdateBox"})),a.length===1){const{newPolygon:r}=s[0],p=G(a);H({polygon:r,boxParams:a[0],newPointCloudBoxList:p},ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single)}else{const r=G(a);r&&i.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.MultiMove,r)}},mt=s=>{var n,a,r,p,l;if(U){const f=Number(s.widthDefault),g=Number(s.depthDefault),h=Number(s.heightDefault),b=U==null?void 0:U.info.trackID,B=((n=o==null?void 0:o.toolInstance)==null?void 0:n.polygonList).find(W=>(W==null?void 0:W.trackID)===b),S={width:(r=(a=o==null?void 0:o.toolInstance)==null?void 0:a.basicImgInfo)==null?void 0:r.width,height:(l=(p=o==null?void 0:o.toolInstance)==null?void 0:p.basicImgInfo)==null?void 0:l.height},O=B.pointList.map(W=>lbUtils.PointCloudUtils.transferCanvas2World(W,S)),z=lbAnnotation.MathUtils.getModifiedRectangleCoordinates(O,h,f),M=z[0],Q=z[2],tt=lbAnnotation.MathUtils.getLineCenterPoint([M,Q]),Bt=U.info.center.z-U.info.depth/2,et=__spreadProps(__spreadValues({},U.info),{center:{x:tt.x,y:tt.y,z:Bt+g/2},width:f,height:h,depth:g,valid:!0}),St=G([et]);H({omitView:PointCloudView["3D"],polygon:B,boxParams:et,newPointCloudBoxList:St})}},F=(s,n,a,r,p,l)=>__async(void 0,null,function*(){const f=I==null?void 0:I.url,g={[PointCloudView.Side]:()=>{syncSideViewByPoint(a,n,u,f,l)},[PointCloudView.Back]:()=>{P&&syncBackViewByPoint(a,n,P,f,l)},[PointCloudView.Top]:()=>{syncTopViewByPoint(a,n,o,t)}};Object.keys(g).forEach(h=>{h!==s&&g[h]()}),r&&(t==null||t.updateCameraZoom(r)),ut(a)}),H=(s,n=ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default)=>{const{omitView:a,polygon:r,boxParams:p,zoom:l,newPointCloudBoxList:f}=s,g=I==null?void 0:I.url;f&&i.syncAllViewPointCloudColor(n,f);const h={[PointCloudView.Side]:()=>{synchronizeSideView(p,r,u,g)},[PointCloudView.Back]:()=>{P&&synchronizeBackView(p,r,P,g)},[PointCloudView.Top]:()=>{synchronizeTopView(p,r,o,t)}};Object.keys(h).forEach(b=>{b!==a&&h[b]()}),l&&(t==null||t.updateCameraZoom(l))};return{topViewAddSphere:ct,topViewAddBox:pt,topViewSelectedChanged:Ct,topViewUpdatePoint:xt,sideViewUpdatePoint:ft,backViewUpdatePoint:Lt,topViewUpdateBox:yt,sideViewUpdateBox:ht,backViewUpdateBox:vt,syncPointCloudViews:H,syncPointCloudPoint:F,pointCloudBoxListUpdated:s=>{o.updatePolygonList(s),t==null||t.generateBoxes(s)},initPointCloud3d:s=>{if(!t)return;const n=lbUtils.PointCloudUtils.getDefaultOrthographicParams(s);t.initOrthographicCamera(n),t.initRenderer(),t.render()},updatePointCloudData:(...s)=>__async(void 0,[...s],function*(n=I){var a,r,p,l,f,g;if(!(n==null?void 0:n.url)||!t)return;R([]),actionCreators.SetAnnotationLoading(N,!0),actionCreators.SetLoadPCDFileLoading(N,!0),(a=e==null?void 0:e.setResourceLoading)==null||a.call(e,!0),yield t.loadPCDFile(n.url,(r=x==null?void 0:x.radius)!=null?r:DEFAULT_RADIUS,x==null?void 0:x.tipScopeList),t==null||t.clearAllBox(),t==null||t.clearAllSphere();let h=[],b=[],y=[],B=[];t.updateTopCamera();const S=index.resolveFileItemValid(n.result,n.preResult);if(i.setPointCloudValid(S),(p=i.sideViewInstance)==null||p.clearAllData(),(l=i.backViewInstance)==null||l.clearAllData(),n.result){if(h=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),(h==null?void 0:h.length)>0&&n.isPreResult&&(x==null?void 0:x.lowerLimitPointsNumInBox)>0){h=yield t==null?void 0:t.filterPreResult(n.url,x,h);const O=index.jsonParser(n.result);O[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=h,n.result=JSON.stringify(O),i.setPointCloudResult(h)}y=lbUtils.PointCloudUtils.getPolygonListFromResultList(n.result),b=lbUtils.PointCloudUtils.getLineListFromResultList(n.result),B=lbUtils.PointCloudUtils.getSphereParamsFromResultList(n.result),o.updateData(n.url,n.result,{radius:(f=x==null?void 0:x.radius)!=null?f:DEFAULT_RADIUS}),t==null||t.generateBoxes(h),t==null||t.generateSpheres(B),yield i.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,h,[])}j({pointCloudBoxList:h,polygonList:y,lineList:b,pointCloudSphereList:B}),actionCreators.SetAnnotationLoading(N,!1),actionCreators.SetLoadPCDFileLoading(N,!1),(g=e==null?void 0:e.setResourceLoading)==null||g.call(e,!1)}),restorePreResult:()=>__async(void 0,null,function*(){var s,n,a,r,p,l;if(!(I==null?void 0:I.url)||!t)return!1;const f=(s=index.jsonParser(I.preResult))==null?void 0:s[lbUtils.POINT_CLOUD_DEFAULT_STEP];if(!f)return!1;const g=index.jsonParser(I.result||"{}");g[lbUtils.POINT_CLOUD_DEFAULT_STEP]=___default.default.cloneDeep(f);let h=JSON.stringify(g);const b=I.url;actionCreators.SetAnnotationLoading(N,!0),(n=e==null?void 0:e.setResourceLoading)==null||n.call(e,!0);try{R([]),d(void 0),t.clearAllBox(),t.clearAllSphere();let y=[],B=[],S=[],O=[];if(i.setPointCloudValid(index.resolveFileItemValid(h,I.preResult)),(a=i.sideViewInstance)==null||a.clearAllData(),(r=i.backViewInstance)==null||r.clearAllData(),y=lbUtils.PointCloudUtils.getBoxParamsFromResultList(h),(y==null?void 0:y.length)>0&&(x==null?void 0:x.lowerLimitPointsNumInBox)>0){y=yield t==null?void 0:t.filterPreResult(b,x,y);const M=index.jsonParser(h);M[lbUtils.POINT_CLOUD_DEFAULT_STEP].result=y,h=JSON.stringify(M),i.setPointCloudResult(y)}S=lbUtils.PointCloudUtils.getPolygonListFromResultList(h),B=lbUtils.PointCloudUtils.getLineListFromResultList(h),O=lbUtils.PointCloudUtils.getSphereParamsFromResultList(h);const{rectList:z}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult(h);return i.setPointCloudResult(y),i.setPolygonList(S),i.setLineList(B),i.setPointCloudSphereList(O),i.setRectList(z),o.updateData(b,h,{radius:(p=x==null?void 0:x.radius)!=null?p:DEFAULT_RADIUS}),t.generateBoxes(y),t.generateSpheres(O),yield i.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,y,[]),ot({pointCloudBoxList:y,polygonList:S,lineList:B,pointCloudSphereList:O}),!0}finally{actionCreators.SetAnnotationLoading(N,!1),(l=e==null?void 0:e.setResourceLoading)==null||l.call(e,!1)}}),updateViewsByDefaultSize:mt,generateRects:Z,update2DViewRect:Pt,remove2DViewRect:gt}},useSyncRectPositionDimensionToPointCloudList=()=>{const{pointCloudBoxList:e,rectList:i,setPointCloudResult:o}=React.useContext(PointCloudContext.PointCloudContext),u=ahooks.useLatest(e),P=ahooks.useLatest(i);return{syncToPointCloudBoxList:React.useCallback(()=>{const C=u.current,c=P.current;if(c.length===0)return null;const d=new Map,v=new Set;if(c.filter(L=>L.extId!==void 0).forEach(L=>{const m=L.extId,V=L.imageName,R=_.pick(L,["x","y","width","height"]);let D=d.get(m);D||(D=new Map,d.set(m,D)),D.set(V,R),v.add(m)}),d.size){const L=C.map(m=>{var V;const R=m.id;if(v.has(R)){const D=__spreadValues({},m);return(V=D.rects)==null||V.forEach(T=>{var k;const A=T.imageName;Object.assign(T,(k=d.get(R))==null?void 0:k.get(A))}),D}return m});return o(L),L}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"),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
+ "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(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=o=>{const{currentData:n,imgList:S,drawLayerSlot:f,checkMode:a,intelligentFit:V,imgIndex:b,config:x,measureVisible:q,setResourceLoading:p,stepInfo:t,setBatchSetValid:g}=o,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),[i,h]=React.useState(!1),R=(P==null?void 0:P.length)>0&&i,I=index.jsonParser(n.result),{toolInstanceRef:s,clearToolInstance:A}=annotation.useCustomToolInstance({basicInfo:I});if(React.useEffect(()=>{s.current.setPointCloudGlobalPattern=l=>{l!==v&&(w(l),e.clearAllDetectionInstance(),A())}},[v]),React.useEffect(()=>{var l;if(actionCreators.SetLoadPCDFileLoading(D,!0),n){const{boxParamsList:r,polygonList:d,lineList:c,sphereParamsList:m,segmentation:B,rectList:_}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((l=n==null?void 0:n.result)!=null?l:"");e.setPointCloudResult(r),e.setPolygonList(d),e.setLineList(c),e.setPointCloudSphereList(m),e.setRectList(_),e.setSegmentation(B),e.setPointCloudValid(index.resolveFileItemValid(n==null?void 0:n.result,n==null?void 0:n.preResult))}},[b]),React.useEffect(()=>{var l;if(C.current){const r=((l=C.current)==null?void 0:l.offsetHeight)-233;y(r)}},[L.current]),React.useEffect(()=>{s.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],s.current.exportCustomData=()=>{var l,r,d,c,m;return{resultPolygon:(l=e.polygonList)!=null?l:[],resultLine:(r=e.lineList)!=null?r:[],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:a,toolInstanceRef:s}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:a}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:x}),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:a}),React__default.default.createElement(PointCloudSideView,{checkMode:a}));return i&&(E=React__default.default.createElement(index$2,{selectAndEnlarge:R,checkMode:a})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:a,toolInstanceRef:s,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")]:i}),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:a,intelligentFit:V,setIsEnlargeTopView:h,onExitZoom:()=>{j(!1),h(!1)},isEnlargeTopView:i}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container",u?"right-bottom-large":"right-bottom-noLarge")]:!i,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:i})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:i,thumbnailWidth:i?300:455,checkMode:a,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";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../components/customResizeHook/index.js"),index$1=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index=require("../../utils/index.js"),AnnotationDataUtils=require("../../utils/AnnotationDataUtils.js"),ConfigUtils=require("../../utils/ConfigUtils.js"),data=require("../../utils/data.js"),StepUtils=require("../../utils/StepUtils.js"),ToolUtils=require("../../utils/ToolUtils.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),es=require("antd/es"),_=require("lodash"),actionCreators=require("./actionCreators.js"),ToolType=require("../../data/enums/ToolType.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,l)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,__spreadValues=(e,t)=>{for(var l in t||(t={}))__hasOwnProp.call(t,l)&&__defNormalProp(e,l,t[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(t))__propIsEnum.call(t,l)&&__defNormalProp(e,l,t[l]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,l)=>new Promise((g,u)=>{var S=A=>{try{O(l.next(A))}catch(m){u(m)}},p=A=>{try{O(l.throw(A))}catch(m){u(m)}},O=A=>A.done?g(A.value):Promise.resolve(A.value).then(S,p);O((l=l.apply(e,t)).next())});const getStepConfig=(e,t)=>e.find(l=>l.step===t),initialState={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,loadPCDFileLoading:!0,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1,checkMode:!1,predictionResult:[],predictionResultVisible:!1,highlightAttribute:"",confirmPageTurning:!1},getTotalPage=e=>{const{imgList:t,imgPageSize:l}=e;return Math.ceil(t.length/l)},calcStepProgress=(e,t)=>e.reduce((l,g)=>{if(g){const u=g.result;if(index.jsonParser(u)[`step_${t}`])return l+1}return l},0)/e.length,updateToolInstance=(e,t)=>{const{step:l,stepList:g}=e,u=StepUtils.getCurrentStepInfo(l,g),S=ConfigUtils.ConfigUtils.jsonParser(u.config);if(ToolUtils.isVideoTool(u==null?void 0:u.tool)||ToolUtils.isAudioTool(u==null?void 0:u.tool)||ToolUtils.isPointCloudTool(u==null?void 0:u.tool)||[ToolType.EToolName.LLM,ToolType.EToolName.NLP,ToolType.EToolName.LLMMultiWheel].includes(u==null?void 0:u.tool))return;const p=document.getElementById("toolContainer");if(!p)throw"Not exist dom named id-toolContainer";const O=index$2.getFormatSize({width:window.innerWidth,height:window.innerHeight}),A=new lbAnnotation.AnnotationEngine({container:p,toolName:u.tool,size:O,imgNode:t,config:S,style:JSON.parse(styleString)});return{toolInstance:A==null?void 0:A.toolInstance,annotationEngine:A}},LoadFileAndFileData=(e,t)=>(l,g)=>__async(void 0,null,function*(){var u,S;const{stepList:p,step:O}=g().annotation,A=StepUtils.currentToolIsVideo(O,p),m=StepUtils.currentToolIsPointCloud(O,p),D=[ToolType.EToolName.LLM,ToolType.EToolName.LLMMultiWheel].includes((u=StepUtils.getCurrentStepInfo(O,p))==null?void 0:u.tool),y=((S=StepUtils.getCurrentStepInfo(O,p))==null?void 0:S.tool)===ToolType.EToolName.NLP,P=StepUtils.currentToolIsAudio(O,p);if(actionCreators.SetAnnotationLoading(l,!0),yield l(TryGetFileDataByAPI(e)),A){l(AfterVideoLoaded(e));return}if(m||D||P||y){l(AfterCommonLoaded(e));return}l(AfterImageLoaded(e,t))}),TryGetFileDataByAPI=e=>(t,l)=>__async(void 0,null,function*(){const{getFileData:g,imgList:u}=l().annotation;if(g){const S=yield g(u[e],e);t({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:S,index:e}})}}),AfterVideoLoaded=e=>t=>{t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterCommonLoaded=e=>t=>{actionCreators.SetAnnotationLoading(t,!1),t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,t)=>(l,g)=>{var u;const{toolInstance:S,imgList:p}=g().annotation,O=(u=p==null?void 0:p[e])==null?void 0:u.url;lbAnnotation.ImgUtils.load(O).then(A=>{actionCreators.SetAnnotationLoading(l,!1),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:A,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{actionCreators.SetAnnotationLoading(l,!1),S==null||S.setErrorImg(),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},composeResultByToolInstance=({toolInstance:e,imgList:t,imgIndex:l,stepList:g,step:u=1})=>{var S,p,O,A;const m=((S=t[l])==null?void 0:S.result)||"",[D,y,P]=(p=e==null?void 0:e.exportData())!=null?p:[],x=(A=(O=e==null?void 0:e.exportCustomData)==null?void 0:O.call(e))!=null?A:{},B=data.composeResultWithBasicImgInfo(m,y),w=data.composeResult(B,{step:u,stepList:g},{rect:D},x);return t.map((U,F)=>F===l?__spreadValues(__spreadProps(__spreadValues({},U),{result:w}),P):__spreadValues({},U))},annotationReducer=(e=__spreadValues({},initialState),t)=>{var l,g,u,S,p,O,A,m,D,y,P,x,B,w,U,F,G,V,q,k,H,z,K,W,$,X,Y,J,Z;switch(t.type){case Actions.ANNOTATION_ACTIONS.INIT_ALL_STATE:return __spreadValues(__spreadValues({},e),initialState);case Actions.ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE:return __spreadProps(__spreadValues({},e),{toolInstance:t.payload.toolInstance});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_LIST:return __spreadProps(__spreadValues({},e),{imgList:t.payload.imgList});case Actions.ANNOTATION_ACTIONS.CALC_STEP_PROGRESS:{const{imgList:n,step:o}=e,s=calcStepProgress(n,o);return __spreadProps(__spreadValues({},e),{stepProgress:s})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:s,stepList:i,toolInstance:a,onSubmit:r,resultList:I}=e;if(!a||!n[o])return e;const T=((l=n[o])==null?void 0:l.result)||"",[,d,c]=(g=a==null?void 0:a.exportData())!=null?g:[],N=(S=(u=a==null?void 0:a.exportCustomData)==null?void 0:u.call(a))!=null?S:{},f=data.composeResultWithBasicImgInfo(T,d),L=data.composeResult(f,{step:s,stepList:i},{rect:I},N),E=e.imgList.map((v,C)=>{if(C===o){const h=AnnotationDataUtils.dataCorrection(L,T,s,i);return __spreadValues(__spreadProps(__spreadValues({},v),{result:h}),c)}return v});if(((p=t.payload)==null?void 0:p.submitType)===index$1.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:E});const R=calcStepProgress(E,s);return __spreadProps(__spreadValues({},e),{stepProgress:R,imgList:E})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:s}=e;return s==null||s(n[o],o,n),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:s,toolInstance:i,basicResultList:a}=e;if(!i)return e;const[r]=(O=i==null?void 0:i.exportData())!=null?O:[];let I=r;if((a==null?void 0:a.length)>0){const T=(A=a[o])==null?void 0:A.id,d=r.map(c=>__spreadProps(__spreadValues({},c),{sourceID:T}));I=___default.default.cloneDeep(s).filter(c=>c.sourceID!==T),I.push(...d)}return __spreadProps(__spreadValues({},e),{resultList:I,imgList:n})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:s,imgIndex:i,stepList:a,annotationEngine:r,resultList:I,basicResultList:T}=e;if(!n||!r)return e;const d=t.payload.basicIndex,c=(m=T[d])==null?void 0:m.id,N=index.jsonParser((D=s[i])==null?void 0:D.result),f=(I||[]).filter(h=>h.sourceID===c),L=getStepConfig(a,o),{dataSourceStep:E,tool:R}=L,v=getStepConfig(a,E);let C=[];return E&&R&&(C=(y=N[`step_${E}`])==null?void 0:y.result,(C==null?void 0:C.length)>0?(r==null||r.setBasicInfo(v.tool,C[d]),r==null||r.launchOperation()):(r==null||r.setBasicInfo(v.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),n==null||n.setResult(f),n==null||n.history.initRecord(f,!0),__spreadProps(__spreadValues({},e),{basicIndex:d})}case Actions.ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return __spreadProps(__spreadValues({},e),{triggerEventAfterIndexChanged:!!n})}case Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA:{const{imgList:n,step:o,toolInstance:s,annotationEngine:i,stepList:a}=e;if(!s)return __spreadProps(__spreadValues({},e),{imgIndex:t.payload.nextIndex});const r=StepUtils.getCurrentStepInfo(o,a),{nextIndex:I,imgNode:T,nextBasicIndex:d,imgError:c}=t.payload,N=d!=null?d:0,f=index.jsonParser((P=n[I])==null?void 0:P.result),L=f[`step_${r.step}`],E=!L,R={rotate:(x=f.rotate)!=null?x:0,valid:(B=f.valid)!=null?B:!0};T&&c!==!0?i==null||i.setImgNode(T,R):s==null||s.setValid(R.valid);const v=getStepConfig(a,r.step),{dataSourceStep:C,tool:h}=v,Q=getStepConfig(a,C),M=C&&h,b=(U=(w=f[`step_${C}`])==null?void 0:w.result)!=null?U:[],j=AnnotationDataUtils.getInitialResultList(L==null?void 0:L.result,s,v,b,E);i==null||i.launchOperation();const ee=[ToolType.EToolName.Cuboid,ToolType.EToolName.ScribbleTool].includes(h);if(M&&((b==null?void 0:b.length)>0?i==null||i.setBasicInfo(Q.tool,b[N]):(i==null||i.setBasicInfo(Q.tool),i==null||i.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),r.tool!=="check"&&(ee||M)){const te=(G=(F=b[N])==null?void 0:F.id)!=null?G:"",ne=M?j.filter(oe=>lbAnnotation.CommonToolUtils.isSameSourceID(oe.sourceID,te)):j;(V=s==null?void 0:s.history)==null||V.initRecord(j,!0),s==null||s.setResult(ne)}return __spreadProps(__spreadValues({},e),{imgIndex:I,basicIndex:N,basicResultList:b,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(q=t.payload.config)!=null?q:"{}"});case Actions.ANNOTATION_ACTIONS.SET_TASK_STEP_LIST:{const{stepList:n}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n})}case Actions.ANNOTATION_ACTIONS.SET_TASK_CONFIG:{const{stepList:n,step:o}=t.payload;return __spreadProps(__spreadValues({},e),{stepList:n,step:o})}case Actions.ANNOTATION_ACTIONS.INIT_TOOL:{const{imgNode:n}=e,o=updateToolInstance(e,n);if(o){const{toolInstance:s,annotationEngine:i}=o;return __spreadProps(__spreadValues({},e),{toolInstance:s,annotationEngine:i})}return __spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SET_TOOL:{const n=(k=t.payload)==null?void 0:k.instance;return n?__spreadProps(__spreadValues({},e),{toolInstance:n}):__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT:return __spreadProps(__spreadValues({},e),{onSubmit:t.payload.onSubmit});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SAVE:return __spreadProps(__spreadValues({},e),{onSave:t.payload.onSave});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE:return __spreadProps(__spreadValues({},e),{onPageChange:t.payload.onPageChange});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT:return __spreadProps(__spreadValues({},e),{predictionResult:t.payload.result});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT_VISIBLE:return __spreadProps(__spreadValues({},e),{predictionResultVisible:t.payload.visible});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE:return __spreadProps(__spreadValues({},e),{onStepChange:t.payload.onStepChange});case Actions.ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA:return __spreadProps(__spreadValues({},e),{getFileData:t.payload.getFileData});case Actions.ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE:return __spreadProps(__spreadValues({},e),{pageSize:t.payload.pageSize});case Actions.ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST:return __spreadProps(__spreadValues({},e),{loadFileList:t.payload.loadFileList});case Actions.ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE:return __spreadProps(__spreadValues({},e),{beforeRotate:t.payload.beforeRotate});case Actions.ANNOTATION_ACTIONS.UPDATE_PRE_DATA_PROCESS:return __spreadProps(__spreadValues({},e),{preDataProcess:t.payload.preDataProcess});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_INDEX_BY_EXTERNAL:return __spreadProps(__spreadValues({},e),{getImgIndexByExternal:t.payload.getImgIndexByExternal});case Actions.ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING:return __spreadProps(__spreadValues({},e),{skipBeforePageTurning:t.payload.skipBeforePageTurning});case Actions.ANNOTATION_ACTIONS.SET_FILE_DATA:{const{fileData:n,index:o}=t.payload,{imgList:s}=e,i=[...s];return i[o]=__spreadValues(__spreadValues({},i[o]),n),__spreadProps(__spreadValues({},e),{imgList:i})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||(H=n==null?void 0:n.updateRotate)==null||H.call(n),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(z=n==null?void 0:n.valid)!=null?z:!0;return antd.Modal.destroyAll(),antd.Modal.confirm({content:lbUtils.i18n.t(o?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{n==null||n.setValid(!o)},okText:lbUtils.i18n.t("Confirm"),cancelText:lbUtils.i18n.t("Cancel")}),e}case Actions.ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:o,imgList:s,step:i,stepList:a}=e;if(!n)return e;if(o===0||o>=s.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const r=s[o-1].result;if(!r)return e;const I=StepUtils.getCurrentStepInfo(i,a),T=(K=I==null?void 0:I.step)!=null?K:i,d=(W=n==null?void 0:n.valid)!=null?W:!0,c=AnnotationDataUtils.copyResultChange({copyResult:r,step:T,currentResult:($=s[o].result)!=null?$:"",preMappingImgList:(X=s[o-1].mappingImgList)!=null?X:[],mappingImgList:(Y=s[o].mappingImgList)!=null?Y:[],valid:d});s[o]=__spreadProps(__spreadValues({},s[o]),{result:c});const f=index.jsonParser(c)[`step_${i}`],L=(f==null?void 0:f.result)||[];return n==null||n.setResult(L),n==null||n.history.pushHistory(L),(J=n==null?void 0:n.asyncData)==null||J.call(n,s[o]),__spreadProps(__spreadValues({},e),{imgList:[...s]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:s}=t.payload;if(o){const i=getStepConfig(n,s);return o==null||o.setToolName(i.tool,i.config),__spreadProps(__spreadValues({},e),{step:s,toolInstance:o==null?void 0:o.toolInstance})}return __spreadProps(__spreadValues({},e),{step:s})}case Actions.ANNOTATION_ACTIONS.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loadPCDFileLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_LOADING:{const{loading:n}=t.payload;return __spreadProps(__spreadValues({},e),{loading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:n}=t.payload;return __spreadProps(__spreadValues({},e),{pointCloudLoading:!!n})}case Actions.ANNOTATION_ACTIONS.SET_CHECK_MODE:{const{checkMode:n}=t.payload;return __spreadProps(__spreadValues({},e),{checkMode:!!n})}case Actions.ANNOTATION_ACTIONS.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:n}=t.payload;return __spreadProps(__spreadValues({},e),{highlightAttribute:n})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:s,imgList:i}=t.payload,{imgIndex:a,onSubmit:r}=e,I=[],T=i.map((d,c)=>{if(lbAnnotation.MathUtils.isInRange(c,s)){const N=__spreadProps(__spreadValues({},d),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:n,newID:o,result:d.result})});return I.push({imgIndex:c,newInfo:N}),N}return d});return r&&r([T[a]],index$1.ESubmitType.BatchUpdateTrackID,a,T,{updateImgList:I}),__spreadProps(__spreadValues({},e),{imgList:T})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const n=t,{id:o,newData:s,rangeIndex:i,imgList:a}=n.payload,{imgIndex:r,onSubmit:I}=e,T=[],d=a.map((c,N)=>{if(lbAnnotation.MathUtils.isInRange(N,i)){const f=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:o,newData:s,result:c.result})});return T.push({imgIndex:N,newInfo:f}),f}return c});return I&&I([d[r]],index$1.ESubmitType.BatchUpdateTrackID,r,d,{updateImgList:T}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:n,imgList:o,stepList:s,step:i,predictionResult:a}=e,r={};a.forEach(c=>{const{index:N}=c;r[N]=___default.default.pick(c,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const I=`step_${i}`,T=[],d=o.map((c,N)=>{if(r[N]){const f=c.result==="{}"?index.jsonParser(data.composeResult("",{step:i,stepList:s},{rect:[]},{})):index.jsonParser(c.result);f[I].result.push(r[N]);const L=__spreadProps(__spreadValues({},c),{result:JSON.stringify(f)});return T.push({imgIndex:N,newInfo:L}),L}return c});return n==null||n(d,index$1.ESubmitType.BatchUpdateImgList,-1,d,{updateImgList:T}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.CHANGE_PAGE_CHECK:{const{toolInstance:n,step:o,stepList:s}=e;if(!n)return e;const[i]=(Z=n==null?void 0:n.exportData())!=null?Z:[],a=getStepConfig(s,o),r=ConfigUtils.ConfigUtils.jsonParser(a.config),I=i.some(T=>(T==null?void 0:T.result)&&Object.keys(T.result).length>0);return __spreadProps(__spreadValues({},e),{confirmPageTurning:r.showConfirm&&!I})}default:return e}};exports.LoadFileAndFileData=LoadFileAndFileData,exports.annotationReducer=annotationReducer,exports.composeResultByToolInstance=composeResultByToolInstance,exports.getStepConfig=getStepConfig,exports.getTotalPage=getTotalPage;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index$2=require("../../components/customResizeHook/index.js"),index$1=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index=require("../../utils/index.js"),AnnotationDataUtils=require("../../utils/AnnotationDataUtils.js"),ConfigUtils=require("../../utils/ConfigUtils.js"),data=require("../../utils/data.js"),StepUtils=require("../../utils/StepUtils.js"),ToolUtils=require("../../utils/ToolUtils.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),antd=require("antd"),es=require("antd/es"),_=require("lodash"),actionCreators=require("./actionCreators.js"),ToolType=require("../../data/enums/ToolType.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,l)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[n]=l,__spreadValues=(e,n)=>{for(var l in n||(n={}))__hasOwnProp.call(n,l)&&__defNormalProp(e,l,n[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(n))__propIsEnum.call(n,l)&&__defNormalProp(e,l,n[l]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n)),__async=(e,n,l)=>new Promise((g,u)=>{var S=A=>{try{O(l.next(A))}catch(m){u(m)}},p=A=>{try{O(l.throw(A))}catch(m){u(m)}},O=A=>A.done?g(A.value):Promise.resolve(A.value).then(S,p);O((l=l.apply(e,n)).next())});const getStepConfig=(e,n)=>e.find(l=>l.step===n),initialState={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,loadPCDFileLoading:!0,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1,checkMode:!1,predictionResult:[],predictionResultVisible:!1,highlightAttribute:"",confirmPageTurning:!1},getTotalPage=e=>{const{imgList:n,imgPageSize:l}=e;return Math.ceil(n.length/l)},calcStepProgress=(e,n)=>e.reduce((l,g)=>{if(g){const u=g.result;if(index.jsonParser(u)[`step_${n}`])return l+1}return l},0)/e.length,updateToolInstance=(e,n)=>{const{step:l,stepList:g}=e,u=StepUtils.getCurrentStepInfo(l,g),S=ConfigUtils.ConfigUtils.jsonParser(u.config);if(ToolUtils.isVideoTool(u==null?void 0:u.tool)||ToolUtils.isAudioTool(u==null?void 0:u.tool)||ToolUtils.isPointCloudTool(u==null?void 0:u.tool)||[ToolType.EToolName.LLM,ToolType.EToolName.NLP,ToolType.EToolName.LLMMultiWheel].includes(u==null?void 0:u.tool))return;const p=document.getElementById("toolContainer");if(!p)throw"Not exist dom named id-toolContainer";const O=index$2.getFormatSize({width:window.innerWidth,height:window.innerHeight}),A=new lbAnnotation.AnnotationEngine({container:p,toolName:u.tool,size:O,imgNode:n,config:S,style:JSON.parse(styleString)});return{toolInstance:A==null?void 0:A.toolInstance,annotationEngine:A}},LoadFileAndFileData=(e,n)=>(l,g)=>__async(void 0,null,function*(){var u,S;const{stepList:p,step:O}=g().annotation,A=StepUtils.currentToolIsVideo(O,p),m=StepUtils.currentToolIsPointCloud(O,p),D=[ToolType.EToolName.LLM,ToolType.EToolName.LLMMultiWheel].includes((u=StepUtils.getCurrentStepInfo(O,p))==null?void 0:u.tool),y=((S=StepUtils.getCurrentStepInfo(O,p))==null?void 0:S.tool)===ToolType.EToolName.NLP,P=StepUtils.currentToolIsAudio(O,p);if(actionCreators.SetAnnotationLoading(l,!0),yield l(TryGetFileDataByAPI(e)),A){l(AfterVideoLoaded(e));return}if(m||D||P||y){l(AfterCommonLoaded(e));return}l(AfterImageLoaded(e,n))}),TryGetFileDataByAPI=e=>(n,l)=>__async(void 0,null,function*(){const{getFileData:g,imgList:u}=l().annotation;if(g){const S=yield g(u[e],e);n({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:S,index:e}})}}),AfterVideoLoaded=e=>n=>{n({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterCommonLoaded=e=>n=>{actionCreators.SetAnnotationLoading(n,!1),n({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,n)=>(l,g)=>{var u;const{toolInstance:S,imgList:p}=g().annotation,O=(u=p==null?void 0:p[e])==null?void 0:u.url;lbAnnotation.ImgUtils.load(O).then(A=>{actionCreators.SetAnnotationLoading(l,!1),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:A,nextIndex:e,nextBasicIndex:n}})}).catch(()=>{actionCreators.SetAnnotationLoading(l,!1),S==null||S.setErrorImg(),l({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:n}})})},composeResultByToolInstance=({toolInstance:e,imgList:n,imgIndex:l,stepList:g,step:u=1})=>{var S,p,O,A;const m=((S=n[l])==null?void 0:S.result)||"",[D,y,P]=(p=e==null?void 0:e.exportData())!=null?p:[],x=(A=(O=e==null?void 0:e.exportCustomData)==null?void 0:O.call(e))!=null?A:{},B=data.composeResultWithBasicImgInfo(m,y),w=data.composeResult(B,{step:u,stepList:g},{rect:D},x);return n.map((U,F)=>F===l?__spreadValues(__spreadProps(__spreadValues({},U),{result:w}),P):__spreadValues({},U))},annotationReducer=(e=__spreadValues({},initialState),n)=>{var l,g,u,S,p,O,A,m,D,y,P,x,B,w,U,F,G,V,q,k,H,z,K,W,$,X,Y,J,Z,Q;switch(n.type){case Actions.ANNOTATION_ACTIONS.INIT_ALL_STATE:return __spreadValues(__spreadValues({},e),initialState);case Actions.ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE:return __spreadProps(__spreadValues({},e),{toolInstance:n.payload.toolInstance});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_LIST:return __spreadProps(__spreadValues({},e),{imgList:n.payload.imgList});case Actions.ANNOTATION_ACTIONS.CALC_STEP_PROGRESS:{const{imgList:t,step:o}=e,s=calcStepProgress(t,o);return __spreadProps(__spreadValues({},e),{stepProgress:s})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:t,imgIndex:o,step:s,stepList:i,toolInstance:a,onSubmit:r,resultList:T}=e;if(!a||!t[o])return e;const d=((l=t[o])==null?void 0:l.result)||"",[,I,c]=(g=a==null?void 0:a.exportData())!=null?g:[],N=(S=(u=a==null?void 0:a.exportCustomData)==null?void 0:u.call(a))!=null?S:{},f=data.composeResultWithBasicImgInfo(d,I),L=data.composeResult(f,{step:s,stepList:i},{rect:T},N),E=e.imgList.map((v,C)=>{if(C===o){const h=AnnotationDataUtils.dataCorrection(L,d,s,i);return __spreadValues(__spreadProps(__spreadValues({},v),{result:h}),c)}return v});if(((p=n.payload)==null?void 0:p.submitType)===index$1.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:E});const R=calcStepProgress(E,s);return __spreadProps(__spreadValues({},e),{stepProgress:R,imgList:E})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:t,imgIndex:o,onSave:s}=e;return s==null||s(t[o],o,t),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:t,basicIndex:o,resultList:s,toolInstance:i,basicResultList:a}=e;if(!i)return e;const[r]=(O=i==null?void 0:i.exportData())!=null?O:[];let T=r;if((a==null?void 0:a.length)>0){const d=(A=a[o])==null?void 0:A.id,I=r.map(c=>__spreadProps(__spreadValues({},c),{sourceID:d}));T=___default.default.cloneDeep(s).filter(c=>c.sourceID!==d),T.push(...I)}return __spreadProps(__spreadValues({},e),{resultList:T,imgList:t})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:t,step:o,imgList:s,imgIndex:i,stepList:a,annotationEngine:r,resultList:T,basicResultList:d}=e;if(!t||!r)return e;const I=n.payload.basicIndex,c=(m=d[I])==null?void 0:m.id,N=index.jsonParser((D=s[i])==null?void 0:D.result),f=(T||[]).filter(h=>h.sourceID===c),L=getStepConfig(a,o),{dataSourceStep:E,tool:R}=L,v=getStepConfig(a,E);let C=[];return E&&R&&(C=(y=N[`step_${E}`])==null?void 0:y.result,(C==null?void 0:C.length)>0?(r==null||r.setBasicInfo(v.tool,C[I]),r==null||r.launchOperation()):(r==null||r.setBasicInfo(v.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),t==null||t.setResult(f),t==null||t.history.initRecord(f,!0),__spreadProps(__spreadValues({},e),{basicIndex:I})}case Actions.ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:t}=n.payload;return __spreadProps(__spreadValues({},e),{triggerEventAfterIndexChanged:!!t})}case Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA:{const{imgList:t,step:o,toolInstance:s,annotationEngine:i,stepList:a}=e;if(!s)return __spreadProps(__spreadValues({},e),{imgIndex:n.payload.nextIndex});const r=StepUtils.getCurrentStepInfo(o,a),{nextIndex:T,imgNode:d,nextBasicIndex:I,imgError:c}=n.payload,N=I!=null?I:0,f=index.jsonParser((P=t[T])==null?void 0:P.result),L=f[`step_${r.step}`],E=!L,R={rotate:(x=f.rotate)!=null?x:0,valid:index.resolveFileItemValid((B=t[T])==null?void 0:B.result,(w=t[T])==null?void 0:w.preResult)};d&&c!==!0?i==null||i.setImgNode(d,R):s==null||s.setValid(R.valid);const v=getStepConfig(a,r.step),{dataSourceStep:C,tool:h}=v,ee=getStepConfig(a,C),M=C&&h,b=(F=(U=f[`step_${C}`])==null?void 0:U.result)!=null?F:[],j=AnnotationDataUtils.getInitialResultList(L==null?void 0:L.result,s,v,b,E);i==null||i.launchOperation();const te=[ToolType.EToolName.Cuboid,ToolType.EToolName.ScribbleTool].includes(h);if(M&&((b==null?void 0:b.length)>0?i==null||i.setBasicInfo(ee.tool,b[N]):(i==null||i.setBasicInfo(ee.tool),i==null||i.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),r.tool!=="check"&&(te||M)){const ne=(V=(G=b[N])==null?void 0:G.id)!=null?V:"",oe=M?j.filter(se=>lbAnnotation.CommonToolUtils.isSameSourceID(se.sourceID,ne)):j;(q=s==null?void 0:s.history)==null||q.initRecord(j,!0),s==null||s.setResult(oe)}return __spreadProps(__spreadValues({},e),{imgIndex:T,basicIndex:N,basicResultList:b,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(k=n.payload.config)!=null?k:"{}"});case Actions.ANNOTATION_ACTIONS.SET_TASK_STEP_LIST:{const{stepList:t}=n.payload;return __spreadProps(__spreadValues({},e),{stepList:t})}case Actions.ANNOTATION_ACTIONS.SET_TASK_CONFIG:{const{stepList:t,step:o}=n.payload;return __spreadProps(__spreadValues({},e),{stepList:t,step:o})}case Actions.ANNOTATION_ACTIONS.INIT_TOOL:{const{imgNode:t}=e,o=updateToolInstance(e,t);if(o){const{toolInstance:s,annotationEngine:i}=o;return __spreadProps(__spreadValues({},e),{toolInstance:s,annotationEngine:i})}return __spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SET_TOOL:{const t=(H=n.payload)==null?void 0:H.instance;return t?__spreadProps(__spreadValues({},e),{toolInstance:t}):__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT:return __spreadProps(__spreadValues({},e),{onSubmit:n.payload.onSubmit});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_SAVE:return __spreadProps(__spreadValues({},e),{onSave:n.payload.onSave});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE:return __spreadProps(__spreadValues({},e),{onPageChange:n.payload.onPageChange});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT:return __spreadProps(__spreadValues({},e),{predictionResult:n.payload.result});case Actions.ANNOTATION_ACTIONS.SET_PREDICT_RESULT_VISIBLE:return __spreadProps(__spreadValues({},e),{predictionResultVisible:n.payload.visible});case Actions.ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE:return __spreadProps(__spreadValues({},e),{onStepChange:n.payload.onStepChange});case Actions.ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA:return __spreadProps(__spreadValues({},e),{getFileData:n.payload.getFileData});case Actions.ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE:return __spreadProps(__spreadValues({},e),{pageSize:n.payload.pageSize});case Actions.ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST:return __spreadProps(__spreadValues({},e),{loadFileList:n.payload.loadFileList});case Actions.ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE:return __spreadProps(__spreadValues({},e),{beforeRotate:n.payload.beforeRotate});case Actions.ANNOTATION_ACTIONS.UPDATE_PRE_DATA_PROCESS:return __spreadProps(__spreadValues({},e),{preDataProcess:n.payload.preDataProcess});case Actions.ANNOTATION_ACTIONS.UPDATE_IMG_INDEX_BY_EXTERNAL:return __spreadProps(__spreadValues({},e),{getImgIndexByExternal:n.payload.getImgIndexByExternal});case Actions.ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING:return __spreadProps(__spreadValues({},e),{skipBeforePageTurning:n.payload.skipBeforePageTurning});case Actions.ANNOTATION_ACTIONS.SET_FILE_DATA:{const{fileData:t,index:o}=n.payload,{imgList:s}=e,i=[...s];return i[o]=__spreadValues(__spreadValues({},i[o]),t),__spreadProps(__spreadValues({},e),{imgList:i})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:t,beforeRotate:o}=e;return o&&o()===!1||(z=t==null?void 0:t.updateRotate)==null||z.call(t),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:t}=e,o=(K=t==null?void 0:t.valid)!=null?K:!0;return antd.Modal.destroyAll(),antd.Modal.confirm({content:lbUtils.i18n.t(o?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{t==null||t.setValid(!o)},okText:lbUtils.i18n.t("Confirm"),cancelText:lbUtils.i18n.t("Cancel")}),e}case Actions.ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT:{const{toolInstance:t,imgIndex:o,imgList:s,step:i,stepList:a}=e;if(!t)return e;if(o===0||o>=s.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const r=s[o-1].result;if(!r)return e;const T=StepUtils.getCurrentStepInfo(i,a),d=(W=T==null?void 0:T.step)!=null?W:i,I=($=t==null?void 0:t.valid)!=null?$:!0,c=AnnotationDataUtils.copyResultChange({copyResult:r,step:d,currentResult:(X=s[o].result)!=null?X:"",preMappingImgList:(Y=s[o-1].mappingImgList)!=null?Y:[],mappingImgList:(J=s[o].mappingImgList)!=null?J:[],valid:I});s[o]=__spreadProps(__spreadValues({},s[o]),{result:c});const f=index.jsonParser(c)[`step_${i}`],L=(f==null?void 0:f.result)||[];return t==null||t.setResult(L),t==null||t.history.pushHistory(L),(Z=t==null?void 0:t.asyncData)==null||Z.call(t,s[o]),__spreadProps(__spreadValues({},e),{imgList:[...s]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:t,annotationEngine:o}=e,{toStep:s}=n.payload;if(o){const i=getStepConfig(t,s);return o==null||o.setToolName(i.tool,i.config),__spreadProps(__spreadValues({},e),{step:s,toolInstance:o==null?void 0:o.toolInstance})}return __spreadProps(__spreadValues({},e),{step:s})}case Actions.ANNOTATION_ACTIONS.SET_LOADPCDFILE_LOADING:{const{loadPCDFileLoading:t}=n.payload;return __spreadProps(__spreadValues({},e),{loadPCDFileLoading:!!t})}case Actions.ANNOTATION_ACTIONS.SET_LOADING:{const{loading:t}=n.payload;return __spreadProps(__spreadValues({},e),{loading:!!t})}case Actions.ANNOTATION_ACTIONS.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:t}=n.payload;return __spreadProps(__spreadValues({},e),{pointCloudLoading:!!t})}case Actions.ANNOTATION_ACTIONS.SET_CHECK_MODE:{const{checkMode:t}=n.payload;return __spreadProps(__spreadValues({},e),{checkMode:!!t})}case Actions.ANNOTATION_ACTIONS.SET_HIGHLIGHT_ATTRIBUTE:{const{attribute:t}=n.payload;return __spreadProps(__spreadValues({},e),{highlightAttribute:t})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID:{const{id:t,newID:o,rangeIndex:s,imgList:i}=n.payload,{imgIndex:a,onSubmit:r}=e,T=[],d=i.map((I,c)=>{if(lbAnnotation.MathUtils.isInRange(c,s)){const N=__spreadProps(__spreadValues({},I),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:t,newID:o,result:I.result})});return T.push({imgIndex:c,newInfo:N}),N}return I});return r&&r([d[a]],index$1.ESubmitType.BatchUpdateTrackID,a,d,{updateImgList:T}),__spreadProps(__spreadValues({},e),{imgList:d})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const t=n,{id:o,newData:s,rangeIndex:i,imgList:a}=t.payload,{imgIndex:r,onSubmit:T}=e,d=[],I=a.map((c,N)=>{if(lbAnnotation.MathUtils.isInRange(N,i)){const f=__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:o,newData:s,result:c.result})});return d.push({imgIndex:N,newInfo:f}),f}return c});return T&&T([I[r]],index$1.ESubmitType.BatchUpdateTrackID,r,I,{updateImgList:d}),__spreadProps(__spreadValues({},e),{imgList:I})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_IMG_LIST_RESULT_BY_PREDICT_RESULT:{const{onSubmit:t,imgList:o,stepList:s,step:i,predictionResult:a}=e,r={};a.forEach(c=>{const{index:N}=c;r[N]=___default.default.pick(c,["center","width","height","depth","rotation","id","attribute","valid","trackID"])});const T=`step_${i}`,d=[],I=o.map((c,N)=>{if(r[N]){const f=c.result==="{}"?index.jsonParser(data.composeResult("",{step:i,stepList:s},{rect:[]},{})):index.jsonParser(c.result);f[T].result.push(r[N]);const L=__spreadProps(__spreadValues({},c),{result:JSON.stringify(f)});return d.push({imgIndex:N,newInfo:L}),L}return c});return t==null||t(I,index$1.ESubmitType.BatchUpdateImgList,-1,I,{updateImgList:d}),__spreadProps(__spreadValues({},e),{imgList:I})}case Actions.ANNOTATION_ACTIONS.CHANGE_PAGE_CHECK:{const{toolInstance:t,step:o,stepList:s}=e;if(!t)return e;const[i]=(Q=t==null?void 0:t.exportData())!=null?Q:[],a=getStepConfig(s,o),r=ConfigUtils.ConfigUtils.jsonParser(a.config),T=i.some(d=>(d==null?void 0:d.result)&&Object.keys(d.result).length>0);return __spreadProps(__spreadValues({},e),{confirmPageTurning:r.showConfirm&&!T})}default:return e}};exports.LoadFileAndFileData=LoadFileAndFileData,exports.annotationReducer=annotationReducer,exports.composeResultByToolInstance=composeResultByToolInstance,exports.getStepConfig=getStepConfig,exports.getTotalPage=getTotalPage;
@@ -76,6 +76,7 @@ export declare const usePointCloudViews: (params?: IUsePointCloudViewsParams) =>
76
76
  topViewSelectedChanged: () => void;
77
77
  sideViewUpdateBox: () => void;
78
78
  backViewUpdateBox: () => void;
79
+ restorePreResult: () => Promise<boolean>;
79
80
  topViewUpdatePoint?: undefined;
80
81
  sideViewUpdatePoint?: undefined;
81
82
  backViewUpdatePoint?: undefined;
@@ -121,6 +122,7 @@ export declare const usePointCloudViews: (params?: IUsePointCloudViewsParams) =>
121
122
  pointCloudBoxListUpdated: (newBoxes: IPointCloudBox[]) => void;
122
123
  initPointCloud3d: (size: ISize) => void;
123
124
  updatePointCloudData: (newData?: any) => Promise<void>;
125
+ restorePreResult: () => Promise<boolean>;
124
126
  updateViewsByDefaultSize: (defaultSize: IDefaultSize) => void;
125
127
  generateRects: (boxParams: IPointCloudBox) => void;
126
128
  update2DViewRect: (params: IBasicRect & {
@@ -5,7 +5,9 @@ export interface ICustomToolInstance {
5
5
  exportData: () => [any, {}];
6
6
  exportCustomData: () => {};
7
7
  singleOn: (eventName: string, callback: (...args: any[]) => void) => void;
8
- clearResult: () => void;
8
+ clearResult: (options?: {
9
+ keepPreResult?: boolean;
10
+ }) => void | Promise<void>;
9
11
  on: (eventName: string, callback: (...args: any[]) => void) => void;
10
12
  unbind: () => void;
11
13
  setResult: (result: any) => void;
@@ -48,11 +48,11 @@ export declare const annotationReducer: (state: {
48
48
  triggerEventAfterIndexChanged: boolean;
49
49
  skipBeforePageTurning?: ((pageTurning: Function) => void) | undefined;
50
50
  beforeRotate?: (() => boolean) | undefined;
51
- pointCloudLoading: boolean; /**
51
+ pointCloudLoading: boolean;
52
+ checkMode: boolean; /**
52
53
  * 获取当前文件列表的总页数
53
54
  * @param state
54
55
  */
55
- checkMode: boolean;
56
56
  predictionResult: import("./types").IPointCloudBoxWithIndex[];
57
57
  predictionResultVisible: boolean;
58
58
  highlightAttribute: string;
@@ -1,6 +1,17 @@
1
1
  import { IBasicRect, ICoordinate, IPointCloudBox, ISize } from '@labelbee/lb-utils';
2
2
  import { IMappingImg } from '@/types/data';
3
3
  export declare const jsonParser: (content: any, defaultValue?: any) => any;
4
+ /**
5
+ * Resolve the effective `valid` flag for a file item.
6
+ *
7
+ * Priority: result.valid → preResult.valid → true (default)
8
+ *
9
+ * When a page only has pre-annotation data (result is empty), `result.valid`
10
+ * is undefined, so we fall back to `preResult.valid`. A final `?? true`
11
+ * prevents passing `undefined` into setPointCloudValid / basicImgInfo.valid,
12
+ * which would silently coerce to `true` and override a correct `false` value.
13
+ */
14
+ export declare const resolveFileItemValid: (result?: string, preResult?: string) => boolean;
4
15
  export declare const getNewNode: <T>(newNode: T, oldNode: T) => T;
5
16
  export declare const classnames: (className: {
6
17
  [key: string]: boolean;
@@ -9,6 +9,9 @@ export interface IOperationConfig {
9
9
  forbidConfirm?: boolean;
10
10
  forbidOperation?: boolean;
11
11
  content?: React.ReactElement;
12
+ /** Explicit extra UI under Popconfirm title; only rendered when set (opt-in). */
13
+ confirmExtra?: React.ReactElement;
14
+ onConfirmVisibleChange?: (visible: boolean) => void;
12
15
  }
13
16
  declare const ActionsConfirm: React.FC<{
14
17
  allOperation: IOperationConfig[];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _=require("lodash"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,t,e)=>t in n?__defProp(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,__spreadValues=(n,t)=>{for(var e in t||(t={}))__hasOwnProp.call(t,e)&&__defNormalProp(n,e,t[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(t))__propIsEnum.call(t,e)&&__defNormalProp(n,e,t[e]);return n},__spreadProps=(n,t)=>__defProps(n,__getOwnPropDescs(t));const jsonParser=(n,t={})=>{try{return typeof n=="string"?JSON.parse(n):___default.default.isObject(n)?n:t}catch(e){return t}},classnames=n=>{if(Array.isArray(n))return n.filter(t=>t).join(" ");if(___default.default.isObject(n)){const t=[];return Object.keys(n).forEach(e=>{n[e]&&t.push(e)}),t.join(" ")}return""},getBoundingRect=n=>{let t=Infinity,e=Infinity,r=-Infinity,o=-Infinity;for(const i of n)t=Math.min(t,i.x),e=Math.min(e,i.y),r=Math.max(r,i.x),o=Math.max(o,i.y);return{x:t,y:e,width:r-t,height:o-e}},isBoundingRectInImage=(()=>{const n=(t,e)=>{const r=Math.max(t.x,e.x),o=Math.max(t.y,e.y),i=Math.min(t.x+t.width,e.x+e.width),c=Math.min(t.y+t.height,e.y+e.height),s=i-r,a=c-o;return s>=0&&a>=0?{x:r,y:o,width:s,height:a}:null};return(t,e,r)=>{if(r[e]){const o=r[e].width,i=r[e].height;return n(t,{x:0,y:0,width:o,height:i})!==null}return!1}})(),getRectPointCloudBox=n=>{var t;const{pointCloudBox:e,mappingData:r,imageSizes:o}=n,{transferViewData:i}=(t=lbAnnotation.pointCloudLidar2image(e,r.calib))!=null?t:{};if(!i)return;const c=i.reduce((u,p)=>p.type==="line"?[...u,...p.pointList]:u,[]),s=__spreadProps(__spreadValues({},getBoundingRect(c)),{imageName:r.path});if(isBoundingRectInImage(s,r.path,o))return s},generatePointCloudBoxRects=(n,t)=>{var e;const{pointCloudBox:r,mappingImgList:o,imageSizes:i}=n,s=o.map(a=>getRectPointCloudBox({pointCloudBox:r,mappingData:a,imageSizes:i})).filter(a=>a!==void 0);if(s.length>0){const a=(e=t==null?void 0:t.prepareRectsFn)!=null?e:void 0,u=a?a(s,r):s;u.length>0&&Object.assign(r,{rects:u})}};exports.classnames=classnames,exports.generatePointCloudBoxRects=generatePointCloudBoxRects,exports.getBoundingRect=getBoundingRect,exports.getRectPointCloudBox=getRectPointCloudBox,exports.isBoundingRectInImage=isBoundingRectInImage,exports.jsonParser=jsonParser;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _=require("lodash"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,t,e)=>t in n?__defProp(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,__spreadValues=(n,t)=>{for(var e in t||(t={}))__hasOwnProp.call(t,e)&&__defNormalProp(n,e,t[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(t))__propIsEnum.call(t,e)&&__defNormalProp(n,e,t[e]);return n},__spreadProps=(n,t)=>__defProps(n,__getOwnPropDescs(t));const jsonParser=(n,t={})=>{try{return typeof n=="string"?JSON.parse(n):___default.default.isObject(n)?n:t}catch(e){return t}},resolveFileItemValid=(n,t)=>{var e,r;const o=jsonParser(n),i=jsonParser(t);return(r=(e=o==null?void 0:o.valid)!=null?e:i==null?void 0:i.valid)!=null?r:!0},classnames=n=>{if(Array.isArray(n))return n.filter(t=>t).join(" ");if(___default.default.isObject(n)){const t=[];return Object.keys(n).forEach(e=>{n[e]&&t.push(e)}),t.join(" ")}return""},getBoundingRect=n=>{let t=Infinity,e=Infinity,r=-Infinity,o=-Infinity;for(const i of n)t=Math.min(t,i.x),e=Math.min(e,i.y),r=Math.max(r,i.x),o=Math.max(o,i.y);return{x:t,y:e,width:r-t,height:o-e}},isBoundingRectInImage=(()=>{const n=(t,e)=>{const r=Math.max(t.x,e.x),o=Math.max(t.y,e.y),i=Math.min(t.x+t.width,e.x+e.width),l=Math.min(t.y+t.height,e.y+e.height),s=i-r,a=l-o;return s>=0&&a>=0?{x:r,y:o,width:s,height:a}:null};return(t,e,r)=>{if(r[e]){const o=r[e].width,i=r[e].height;return n(t,{x:0,y:0,width:o,height:i})!==null}return!1}})(),getRectPointCloudBox=n=>{var t;const{pointCloudBox:e,mappingData:r,imageSizes:o}=n,{transferViewData:i}=(t=lbAnnotation.pointCloudLidar2image(e,r.calib))!=null?t:{};if(!i)return;const l=i.reduce((c,u)=>u.type==="line"?[...c,...u.pointList]:c,[]),s=__spreadProps(__spreadValues({},getBoundingRect(l)),{imageName:r.path});if(isBoundingRectInImage(s,r.path,o))return s},generatePointCloudBoxRects=(n,t)=>{var e;const{pointCloudBox:r,mappingImgList:o,imageSizes:i}=n,s=o.map(a=>getRectPointCloudBox({pointCloudBox:r,mappingData:a,imageSizes:i})).filter(a=>a!==void 0);if(s.length>0){const a=(e=t==null?void 0:t.prepareRectsFn)!=null?e:void 0,c=a?a(s,r):s;c.length>0&&Object.assign(r,{rects:c})}};exports.classnames=classnames,exports.generatePointCloudBoxRects=generatePointCloudBoxRects,exports.getBoundingRect=getBoundingRect,exports.getRectPointCloudBox=getRectPointCloudBox,exports.isBoundingRectInImage=isBoundingRectInImage,exports.jsonParser=jsonParser,exports.resolveFileItemValid=resolveFileItemValid;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),antd=require("antd"),reactI18next=require("react-i18next"),index=require("../../../../constant/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const forbidStyle={color:"#CCCCCC"},PopconfirmTitle=({info:e})=>{const{t}=reactI18next.useTranslation();return e.key.startsWith("sure")?React__default.default.createElement("div",{key:e.key},`${t("ConfirmTo")}${e.name.slice(0)}\uFF1F`,(e==null?void 0:e.content)?e.content:""):React__default.default.createElement("span",null,e.name)},ActionIcon=({icon:e})=>typeof e=="string"?React__default.default.createElement("img",{width:23,height:25,src:e}):e,ShowIcon=({isHover:e,info:t})=>{const l=!!t.forbidOperation,a=t.key===e&&!l;let n={color:a?"#666fff":""};return l&&(n=forbidStyle),React__default.default.createElement("div",{style:{cursor:l?"not-allowed":"default"},onClick:()=>{var c;return(t==null?void 0:t.forbidConfirm)&&!l&&((c=t==null?void 0:t.onClick)==null?void 0:c.call(t))}},React__default.default.createElement("div",{className:"icon"},React__default.default.createElement(ActionIcon,{icon:a?t.hoverSvg:t.imgSvg})),React__default.default.createElement("div",{className:"toolName",style:n},t.name))},ActionsConfirm=({allOperation:e,setBatchSetValid:t,valid:l})=>{const a=React.useRef(null),[n,c]=React.useState(null),{t:u}=reactI18next.useTranslation(),s=Math.floor(24/e.length),i=r=>r.forbidConfirm?React__default.default.createElement(ShowIcon,{info:r,isHover:n}):t&&r.key==="setValidity"?t({valid:l,isHover:!!n,singleSetQuestionImg:r.onClick}):React__default.default.createElement(antd.Popconfirm,{title:React__default.default.createElement(PopconfirmTitle,{info:r}),placement:"topRight",okText:u("Confirm"),cancelText:u("Cancel"),getPopupContainer:()=>{var o;return(o=a.current)!=null?o:document.body},onConfirm:r.onClick,overlayClassName:`${index.prefix}-pop-confirm`},React__default.default.createElement("div",null,React__default.default.createElement(ShowIcon,{info:r,isHover:n})));return React__default.default.createElement("div",{className:"generalOperation",ref:a},e.map((r,o)=>React__default.default.createElement(antd.Col,{span:s,key:o,className:"generalOperation-col"},React__default.default.createElement("div",{key:r.key,className:"item",onMouseEnter:()=>{c(r.key)},onMouseLeave:()=>{c(null)}},i(r)))))};module.exports=ActionsConfirm;
1
+ "use strict";var React=require("react"),antd=require("antd"),reactI18next=require("react-i18next"),index=require("../../../../constant/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const forbidStyle={color:"#CCCCCC"},PopconfirmTitle=({info:e})=>{const{t}=reactI18next.useTranslation(),l=e.key.startsWith("sure")?React__default.default.createElement("div",{key:e.key},`${t("ConfirmTo")}${e.name.slice(0)}\uFF1F`,(e==null?void 0:e.content)?e.content:""):React__default.default.createElement("span",null,e.name);return e.confirmExtra?React__default.default.createElement("div",null,l,e.confirmExtra):l},ActionIcon=({icon:e})=>typeof e=="string"?React__default.default.createElement("img",{width:23,height:25,src:e}):e,ShowIcon=({isHover:e,info:t})=>{const l=!!t.forbidOperation,a=t.key===e&&!l;let n={color:a?"#666fff":""};return l&&(n=forbidStyle),React__default.default.createElement("div",{style:{cursor:l?"not-allowed":"default"},onClick:()=>{var c;return(t==null?void 0:t.forbidConfirm)&&!l&&((c=t==null?void 0:t.onClick)==null?void 0:c.call(t))}},React__default.default.createElement("div",{className:"icon"},React__default.default.createElement(ActionIcon,{icon:a?t.hoverSvg:t.imgSvg})),React__default.default.createElement("div",{className:"toolName",style:n},t.name))},ActionsConfirm=({allOperation:e,setBatchSetValid:t,valid:l})=>{const a=React.useRef(null),[n,c]=React.useState(null),{t:u}=reactI18next.useTranslation(),s=Math.floor(24/e.length),i=r=>r.forbidConfirm?React__default.default.createElement(ShowIcon,{info:r,isHover:n}):t&&r.key==="setValidity"?t({valid:l,isHover:!!n,singleSetQuestionImg:r.onClick}):React__default.default.createElement(antd.Popconfirm,{title:React__default.default.createElement(PopconfirmTitle,{info:r}),placement:"topRight",okText:u("Confirm"),cancelText:u("Cancel"),getPopupContainer:()=>{var o;return(o=a.current)!=null?o:document.body},onConfirm:r.onClick,onVisibleChange:r.onConfirmVisibleChange,overlayClassName:`${index.prefix}-pop-confirm`},React__default.default.createElement("div",null,React__default.default.createElement(ShowIcon,{info:r,isHover:n})));return React__default.default.createElement("div",{className:"generalOperation",ref:a},e.map((r,o)=>React__default.default.createElement(antd.Col,{span:s,key:o,className:"generalOperation-col"},React__default.default.createElement("div",{key:r.key,className:"item",onMouseEnter:()=>{c(r.key)},onMouseLeave:()=>{c(null)}},i(r)))))};module.exports=ActionsConfirm;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),reactRedux=require("react-redux"),StepUtils=require("../../../../utils/StepUtils.js"),index=require("../../../../utils/index.js"),ActionsConfirm=require("./ActionsConfirm.js"),useOperationList=require("./useOperationList.js"),ctx=require("../../../../store/ctx.js"),unitAttribute=require("../../../../assets/annotation/pointCloudTool/unitAttribute.svg.js"),unitAttributeForbid=require("../../../../assets/annotation/pointCloudTool/unitAttributeForbid.svg.js"),unitAttributeHover=require("../../../../assets/annotation/pointCloudTool/unitAttributeHover.svg.js"),reactI18next=require("react-i18next"),index$1=require("../../../../components/pointCloudView/components/UnifyParamsModal/index.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reducer=require("../../../../store/annotation/reducer.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const mapStateToProps=t=>{var e,n;const o=StepUtils.getCurrentStepInfo((e=t.annotation)==null?void 0:e.step,(n=t.annotation)==null?void 0:n.stepList);return{toolInstance:t.annotation.toolInstance,stepInfo:o,imgList:t.annotation.imgList,imgIndex:t.annotation.imgIndex,stepList:t.annotation.stepList}},GeneralOperation=({toolInstance:t,stepInfo:e,hideValidity:n})=>{const o=useOperationList(t),r=index.jsonParser(e==null?void 0:e.config),i=[o.empty];return(e==null?void 0:e.dataSourceStep)===0&&!n&&i.push(o.setValidity),(r==null?void 0:r.copyBackwardResult)&&i.push(o.copyPrevious),React__default.default.createElement(ActionsConfirm,{allOperation:i})},PointCloudOperation=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(({toolInstance:t,stepInfo:e,imgList:n,stepList:o,imgIndex:r,setBatchSetValid:i})=>{const{t:v}=reactI18next.useTranslation(),{selectedBox:u}=useSingleBox.useSingleBox(),l=useOperationList(t),[f,c]=React.useState(!1),[m,g]=React.useState([]),{isPointCloudDetectionPattern:x,isPointCloudSegmentationPattern:C}=useStatus.useStatus(),d=index.jsonParser(e.config);let a=[l.copyPrevious,l.empty,l.setValidity];if(x&&d.trackConfigurable===!0){const s=!u,S={name:v("UnifyParams"),key:"UnifyParams",imgSvg:s?unitAttributeForbid:unitAttribute,hoverSvg:unitAttributeHover,onClick:()=>{g(reducer.composeResultByToolInstance({toolInstance:t,imgList:n,imgIndex:r,stepList:o})),c(!0)},forbidConfirm:!0,forbidOperation:s};a.unshift(S)}const y=React.useCallback(()=>{c(!1)},[]),p=u==null?void 0:u.info;return C&&(a=a.filter(s=>!["setValidity","copyPrevious"].includes(s.key))),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ActionsConfirm,{allOperation:a,setBatchSetValid:i,valid:t==null?void 0:t.valid}),React__default.default.createElement(index$1,{id:p==null?void 0:p.trackID,visible:f,onCancel:y,config:d,imgList:m}))});var GeneralOperation$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(GeneralOperation);exports.PointCloudOperation=PointCloudOperation,exports.default=GeneralOperation$1;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),antd=require("antd"),reactRedux=require("react-redux"),StepUtils=require("../../../../utils/StepUtils.js"),index=require("../../../../utils/index.js"),ActionsConfirm=require("./ActionsConfirm.js"),useOperationList=require("./useOperationList.js"),ctx=require("../../../../store/ctx.js"),unitAttribute=require("../../../../assets/annotation/pointCloudTool/unitAttribute.svg.js"),unitAttributeForbid=require("../../../../assets/annotation/pointCloudTool/unitAttributeForbid.svg.js"),unitAttributeHover=require("../../../../assets/annotation/pointCloudTool/unitAttributeHover.svg.js"),reactI18next=require("react-i18next"),index$1=require("../../../../components/pointCloudView/components/UnifyParamsModal/index.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reducer=require("../../../../store/annotation/reducer.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),lbUtils=require("@labelbee/lb-utils");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,o)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,__spreadValues=(e,t)=>{for(var o in t||(t={}))__hasOwnProp.call(t,o)&&__defNormalProp(e,o,t[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(t))__propIsEnum.call(t,o)&&__defNormalProp(e,o,t[o]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const mapStateToProps=e=>{var t,o;const n=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(o=e.annotation)==null?void 0:o.stepList);return{toolInstance:e.annotation.toolInstance,stepInfo:n,imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList}},GeneralOperation=({toolInstance:e,stepInfo:t,hideValidity:o})=>{const n=useOperationList(e),i=index.jsonParser(t==null?void 0:t.config),a=[n.empty];return(t==null?void 0:t.dataSourceStep)===0&&!o&&a.push(n.setValidity),(i==null?void 0:i.copyBackwardResult)&&a.push(n.copyPrevious),React__default.default.createElement(ActionsConfirm,{allOperation:a})},PointCloudOperation=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(({toolInstance:e,stepInfo:t,imgList:o,stepList:n,imgIndex:i,setBatchSetValid:a})=>{const{t:v}=reactI18next.useTranslation(),{selectedBox:u}=useSingleBox.useSingleBox(),c=useOperationList(e),[_,f]=React.useState(!1),[b,x]=React.useState([]),[m,p]=React.useState(!1),{isPointCloudDetectionPattern:P,isPointCloudSegmentationPattern:O}=useStatus.useStatus(),g=index.jsonParser(t.config),s=o==null?void 0:o[i],C=React.useMemo(()=>{var r;const d=(r=index.jsonParser(s==null?void 0:s.preResult))==null?void 0:r[lbUtils.POINT_CLOUD_DEFAULT_STEP];return Boolean(d)},[s==null?void 0:s.preResult])&&P,S=__spreadProps(__spreadValues({},c.empty),{confirmExtra:C?React__default.default.createElement("div",{onClick:r=>r.stopPropagation(),style:{marginTop:8,textAlign:"left",width:"100%"}},React__default.default.createElement(antd.Checkbox,{checked:m,onChange:r=>p(r.target.checked),style:{marginLeft:0}},v("KeepPreAnnotation"))):void 0,onConfirmVisibleChange:r=>{r&&p(!1)},onClick:()=>{e.clearResult({keepPreResult:C&&m}),p(!1)}});let l=[c.copyPrevious,S,c.setValidity];if(P&&g.trackConfigurable===!0){const r=!u,d={name:v("UnifyParams"),key:"UnifyParams",imgSvg:r?unitAttributeForbid:unitAttribute,hoverSvg:unitAttributeHover,onClick:()=>{x(reducer.composeResultByToolInstance({toolInstance:e,imgList:o,imgIndex:i,stepList:n})),f(!0)},forbidConfirm:!0,forbidOperation:r};l.unshift(d)}const j=React.useCallback(()=>{f(!1)},[]),y=u==null?void 0:u.info;return O&&(l=l.filter(r=>!["setValidity","copyPrevious"].includes(r.key))),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ActionsConfirm,{allOperation:l,setBatchSetValid:a,valid:e==null?void 0:e.valid}),React__default.default.createElement(index$1,{id:y==null?void 0:y.trackID,visible:_,onCancel:j,config:g,imgList:b}))});var GeneralOperation$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(GeneralOperation);exports.PointCloudOperation=PointCloudOperation,exports.default=GeneralOperation$1;