@labelbee/lb-components 1.8.0-alpha.1 → 1.8.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/components/AnnotationView/pointCloudAnnotationView.js +1 -1
  2. package/dist/components/pointCloudView/PointCloud3DView.js +1 -1
  3. package/dist/components/pointCloudView/PointCloudBackView.js +1 -1
  4. package/dist/components/pointCloudView/PointCloudContext.js +1 -1
  5. package/dist/components/pointCloudView/PointCloudListener.js +1 -1
  6. package/dist/components/pointCloudView/PointCloudTopView.js +1 -1
  7. package/dist/components/pointCloudView/hooks/useHistory.js +1 -1
  8. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  9. package/dist/components/pointCloudView/hooks/usePolygon.js +1 -1
  10. package/dist/components/pointCloudView/hooks/useRotate.js +1 -1
  11. package/dist/components/pointCloudView/hooks/useSingleBox.js +1 -1
  12. package/dist/components/pointCloudView/index.js +1 -1
  13. package/dist/store/annotation/reducer.js +1 -1
  14. package/dist/types/components/AnnotationView/pointCloudAnnotationView.d.ts +2 -0
  15. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +2 -1
  16. package/dist/types/components/pointCloudView/PointCloudListener.d.ts +4 -1
  17. package/dist/types/components/pointCloudView/hooks/usePointCloudViews.d.ts +4 -3
  18. package/dist/types/components/pointCloudView/hooks/usePolygon.d.ts +2 -0
  19. package/dist/types/components/pointCloudView/hooks/useSingleBox.d.ts +2 -2
  20. package/dist/views/MainView/toolFooter/PageNumber/index.js +1 -1
  21. package/es/components/AnnotationView/pointCloudAnnotationView.js +1 -1
  22. package/es/components/AnnotationView/pointCloudAnnotationView.js.map +1 -1
  23. package/es/components/pointCloudView/PointCloud3DView.js +1 -1
  24. package/es/components/pointCloudView/PointCloud3DView.js.map +1 -1
  25. package/es/components/pointCloudView/PointCloudBackView.js +1 -1
  26. package/es/components/pointCloudView/PointCloudBackView.js.map +1 -1
  27. package/es/components/pointCloudView/PointCloudContext.js +1 -1
  28. package/es/components/pointCloudView/PointCloudContext.js.map +1 -1
  29. package/es/components/pointCloudView/PointCloudListener.js +1 -1
  30. package/es/components/pointCloudView/PointCloudListener.js.map +1 -1
  31. package/es/components/pointCloudView/PointCloudTopView.js +1 -1
  32. package/es/components/pointCloudView/PointCloudTopView.js.map +1 -1
  33. package/es/components/pointCloudView/hooks/useHistory.js +1 -1
  34. package/es/components/pointCloudView/hooks/useHistory.js.map +1 -1
  35. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  36. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -1
  37. package/es/components/pointCloudView/hooks/usePolygon.js +1 -1
  38. package/es/components/pointCloudView/hooks/usePolygon.js.map +1 -1
  39. package/es/components/pointCloudView/hooks/useRotate.js +1 -1
  40. package/es/components/pointCloudView/hooks/useRotate.js.map +1 -1
  41. package/es/components/pointCloudView/hooks/useSingleBox.js +1 -1
  42. package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -1
  43. package/es/components/pointCloudView/index.js +1 -1
  44. package/es/components/pointCloudView/index.js.map +1 -1
  45. package/es/store/annotation/reducer.js +1 -1
  46. package/es/store/annotation/reducer.js.map +1 -1
  47. package/es/views/MainView/toolFooter/PageNumber/index.js +1 -1
  48. package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -1
  49. package/package.json +4 -4
@@ -1 +1 @@
1
- "use strict";var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React);const PointCloudAnnotationView=r=>{const{src:l,result:a,size:u}=r;let i=React.useRef();const t=React.useRef(),s=React.useCallback(e=>{i.current=e},[]);return React.useEffect(()=>{const e=new lbAnnotation.PointCloud({container:i.current,backgroundColor:"#ccc"});return t.current=e,()=>{var n;(n=t.current.renderer)==null||n.forceContextLoss()}},[]),React.useEffect(()=>{var e;(e=t.current)==null||e.init()},[u]),React.useEffect(()=>{var e;t.current&&l&&((e=t.current)==null||e.loadPCDFile(l))},[l]),React.useEffect(()=>(a&&lbUtils.PointCloudUtils.getBoxParamsFromResultList(a).forEach(n=>{var o;(o=t.current)==null||o.generateBox(n,n.id)}),()=>{var e;lbUtils.PointCloudUtils.getBoxParamsFromResultList(a).forEach(o=>{var c;(c=t.current)==null||c.removeObjectByName(o.id)}),(e=t.current)==null||e.render()}),[a]),React__default.default.createElement("div",{style:u,ref:s})};module.exports=PointCloudAnnotationView;
1
+ "use strict";var lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React);function getDefaultOrthographicParams(r){return{left:-r.width/2,right:r.width/2,top:r.height/2,bottom:-r.height/2,near:100,far:-100}}const PointCloudAnnotationView=r=>{const{src:l,result:o,size:i,isOrthographicCamera:u=!1,backgroundColor:f="#ccc"}=r;let c=React.useRef();const e=React.useRef(),d=React.useCallback(t=>{c.current=t},[]);return React.useEffect(()=>{let t={container:c.current,backgroundColor:f,isOrthographicCamera:u};u&&Object.assign(t,{orthographicParams:getDefaultOrthographicParams(i)});const n=new lbAnnotation.PointCloud(t);return e.current=n,()=>{var a;(a=e.current.renderer)==null||a.forceContextLoss()}},[]),React.useEffect(()=>{var t,n,a;e.current&&((t=e.current)==null||t.init(),(n=e.current)==null||n.initOrthographicCamera(getDefaultOrthographicParams(i)),(a=e.current)==null||a.render())},[i]),React.useEffect(()=>{var t;e.current&&l&&((t=e.current)==null||t.loadPCDFile(l))},[l]),React.useEffect(()=>(o&&lbUtils.PointCloudUtils.getBoxParamsFromResultList(o).forEach(n=>{var a;(a=e.current)==null||a.generateBox(n,n.id)}),()=>{var t;lbUtils.PointCloudUtils.getBoxParamsFromResultList(o).forEach(a=>{var s;(s=e.current)==null||s.removeObjectByName(a.id)}),(t=e.current)==null||t.render()}),[o]),React__default.default.createElement("div",{style:i,ref:d})};module.exports=PointCloudAnnotationView;
@@ -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"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{}}),PointCloudViewIcon=({perspectiveView:e})=>{const{isActive:t,setTarget3DView:r}=React.useContext(PointCloud3DContext),a=u=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",u)]:!0,active:t});return React__default.default.createElement("span",{onClick:()=>{r(lbUtils.EPerspectiveView[e])},className:a(e.toLocaleLowerCase())})},PointCloud3DSideBar=()=>{const{reset3DView:e}=React.useContext(PointCloud3DContext);return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},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"}),React__default.default.createElement("span",{onClick:()=>{e()},className:dom.getClassName("point-cloud-3d-view","reset")}))},PointCloud3D=({currentData:e,config:t})=>{var r;const a=React.useContext(PointCloudContext.PointCloudContext),[u,f]=React.useState(!0),s=React.useRef(null),{initPointCloud3d:c}=usePointCloudViews.usePointCloudViews(),C=useSize(s),{t:d}=reactI18next.useTranslation();React.useEffect(()=>{!a.mainViewInstance||c==null||c()},[C]);const{selectedBox:i}=useSingleBox.useSingleBox(),v=n=>{var o;const l=i==null?void 0:i.info;l&&((o=a.mainViewInstance)==null||o.updateCameraByBox(l,n))},w=()=>{var n;(n=a.mainViewInstance)==null||n.resetCamera()};React.useEffect(()=>{var n;if(s.current&&(e==null?void 0:e.url)){let o=a.mainViewInstance;if(o||(o=new lbAnnotation.PointCloud({container:s.current,backgroundColor:"#4c4c4c",config:t})),e.result){const l=lbUtils.PointCloudUtils.getBoxParamsFromResultList(e.result);l.forEach(m=>{var p;const x=(p=lbUtils.toolStyleConverter.getColorFromConfig({attribute:m.attribute},__spreadProps(__spreadValues({},t),{attributeConfigurable:!0}),{}))==null?void 0:p.hex;o==null||o.generateBox(m,x)}),a.setPointCloudResult(l),a.setPointCloudValid((n=index.jsonParser(e.result))==null?void 0:n.valid)}a.setMainViewInstance(o)}},[e]),React.useEffect(()=>{i&&v(lbUtils.EPerspectiveView.Top)},[i]);const P=React.useMemo(()=>({reset3DView:w,setTarget3DView:v,isActive:!!i}),[i]),g=React__default.default.createElement("div",null,React__default.default.createElement("span",{style:{marginRight:8}},d("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:u,onChange:n=>{var o;f(n),(o=a.mainViewInstance)==null||o.setShowDirection(n)}}));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-3d-container"),title:d("3DView"),toolbar:g,style:{height:e.mappingImgList&&((r=e.mappingImgList)==null?void 0:r.length)>0?"55%":"100%"}},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},React__default.default.createElement(PointCloud3DContext.Provider,{value:P},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:s})))};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"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{}}),PointCloudViewIcon=({perspectiveView:e})=>{const{isActive:t,setTarget3DView:r}=React.useContext(PointCloud3DContext),o=c=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",c)]:!0,active:t});return React__default.default.createElement("span",{onClick:()=>{r(lbUtils.EPerspectiveView[e])},className:o(e.toLocaleLowerCase())})},PointCloud3DSideBar=()=>{const{reset3DView:e}=React.useContext(PointCloud3DContext);return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},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"}),React__default.default.createElement("span",{onClick:()=>{e()},className:dom.getClassName("point-cloud-3d-view","reset")}))},PointCloud3D=({currentData:e,config:t})=>{var r;const o=React.useContext(PointCloudContext.PointCloudContext),[c,C]=React.useState(!0),u=React.useRef(null),{initPointCloud3d:d}=usePointCloudViews.usePointCloudViews(),n=useSize(u),{t:v}=reactI18next.useTranslation();React.useEffect(()=>{!o.mainViewInstance||d==null||d(n)},[n]);const{selectedBox:l}=useSingleBox.useSingleBox(),m=i=>{var a;const s=l==null?void 0:l.info;s&&((a=o.mainViewInstance)==null||a.updateCameraByBox(s,i))},w=()=>{var i;(i=o.mainViewInstance)==null||i.resetCamera()};React.useEffect(()=>{var i;if(u.current&&(e==null?void 0:e.url)){let a=o.mainViewInstance;if(!a&&n.width){const s={left:-n.width/2,right:n.width/2,top:n.height/2,bottom:-n.height/2,near:100,far:-100};a=new lbAnnotation.PointCloud({container:u.current,isOrthographicCamera:!0,orthographicParams:s}),o.setMainViewInstance(a)}if(e.result){const s=lbUtils.PointCloudUtils.getBoxParamsFromResultList(e.result);s.forEach(p=>{var f;const x=(f=lbUtils.toolStyleConverter.getColorFromConfig({attribute:p.attribute},__spreadProps(__spreadValues({},t),{attributeConfigurable:!0}),{}))==null?void 0:f.hex;a==null||a.generateBox(p,x)}),o.setPointCloudResult(s),o.setPointCloudValid((i=index.jsonParser(e.result))==null?void 0:i.valid)}}},[e,n]),React.useEffect(()=>{l&&m(lbUtils.EPerspectiveView.Top)},[l]);const P=React.useMemo(()=>({reset3DView:w,setTarget3DView:m,isActive:!!l}),[l]),g=React__default.default.createElement("div",null,React__default.default.createElement("span",{style:{marginRight:8}},v("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:c,onChange:i=>{var a;C(i),(a=o.mainViewInstance)==null||a.setShowDirection(i)}}));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-3d-container"),title:v("3DView"),toolbar:g,style:{height:e.mappingImgList&&((r=e.mappingImgList)==null?void 0:r.length)>0?"55%":"100%"}},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},React__default.default.createElement(PointCloud3DContext.Provider,{value:P},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:u})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
@@ -1 +1 @@
1
- "use strict";var lbAnnotation=require("@labelbee/lb-annotation"),dom=require("../../utils/dom.js"),PointCloudLayout=require("./PointCloudLayout.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useSingleBox=require("./hooks/useSingleBox.js"),lbUtils=require("@labelbee/lb-utils"),PointCloudInfos=require("./PointCloudInfos.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),index=require("./components/EmptyPage/index.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,o)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,__spreadValues=(e,n)=>{for(var o in n||(n={}))__hasOwnProp.call(n,o)&&__defNormalProp(e,o,n[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(n))__propIsEnum.call(n,o)&&__defNormalProp(e,o,n[o]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const TransferCanvas2WorldOffset=(e,n,o=1)=>{const{width:t,height:i}=n,r={x:e.x+t*o/2,y:e.y+i*o/2},d={x:n.width/2,y:n.height/2};return{offsetX:(d.x-r.x)/o,offsetY:-(d.y-r.y)/o}},updateBackViewByCanvas2D=(e,n,o,t,i)=>{const{offsetX:r,offsetY:d}=TransferCanvas2WorldOffset(e,o,n);if(i.camera.zoom=n,e){const p=Math.cos(t.rotation),P=Math.sin(t.rotation),a=r*p,l=r*P,{x:c,y:u,z:f}=i.initCameraPosition;i.camera.position.set(c+l,u-a,f+d)}i.camera.updateProjectionMatrix(),i.render()},PointCloudSideView=({currentData:e,config:n,checkMode:o})=>{const t=React__default.default.useContext(PointCloudContext.PointCloudContext),i=React.useRef(null),r=useSize(i),{updateSelectedBox:d,selectedBox:p}=useSingleBox.useSingleBox(),{t:P}=reactI18next.useTranslation();return React.useEffect(()=>{if(i.current){const a={width:i.current.clientWidth,height:i.current.clientHeight},l=new lbAnnotation.PointCloudAnnotation({container:i.current,size:a,polygonOperationProps:{showDirectionLine:!1,forbidAddNew:!0},config:n,checkMode:o});t.setBackViewInstance(l)}},[]),React.useEffect(()=>{if(!r||!t.backViewInstance)return;const{pointCloud2dOperation:a,pointCloudInstance:l}=t.backViewInstance;a.singleOn("renderZoom",(c,u)=>{!t.selectedPointCloudBox||updateBackViewByCanvas2D(u,c,r,t.selectedPointCloudBox,l)}),a.singleOn("dragMove",({currentPos:c,zoom:u})=>{!t.selectedPointCloudBox||updateBackViewByCanvas2D(c,u,r,t.selectedPointCloudBox,l)}),a.singleOn("updatePolygonByDrag",({newPolygon:c,originPolygon:u})=>{if(!t.selectedPointCloudBox||!t.mainViewInstance||!e.url)return;const[f,x,C]=c.pointList,[w,v,m]=u.pointList,g=lbAnnotation.MathUtils.getLineCenterPoint([f,C]),h=lbAnnotation.MathUtils.getLineCenterPoint([w,m]),y={x:{x:g.x-h.x,y:g.y-h.y}.x,y:0,z:g.y-h.y},B=lbAnnotation.MathUtils.getLineLength(f,x),V=lbAnnotation.MathUtils.getLineLength(w,v),_=B-V,b=lbAnnotation.MathUtils.getLineLength(x,C),O=lbAnnotation.MathUtils.getLineLength(v,m),I=b-O;let{newBoxParams:s}=l.getNewBoxByBackUpdate(y,I,_,t.selectedPointCloudBox);if(t.mainViewInstance){const{count:L}=t.mainViewInstance.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(s).polygonPointList,[s.center.z-s.depth/2,s.center.z+s.depth/2]);s=__spreadProps(__spreadValues({},s),{count:L})}usePointCloudViews.synchronizeTopView(s,c,t.topViewInstance,t.mainViewInstance),usePointCloudViews.synchronizeSideView(s,c,t.sideViewInstance,e.url),t.mainViewInstance.highlightOriginPointCloud(s),d(s)})},[t,r]),React.useEffect(()=>{var a;(a=t==null?void 0:t.backViewInstance)==null||a.initSize(r)},[r]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","back-view"),title:P("BackView"),toolbar:React__default.default.createElement(PointCloudInfos.SizeInfoForView,{perspectiveView:lbUtils.EPerspectiveView.Back})},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","bottom-view-content")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","core-instance"),ref:i}),!p&&React__default.default.createElement(index,null)))};var PointCloudBackView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSideView);module.exports=PointCloudBackView;
1
+ "use strict";var lbAnnotation=require("@labelbee/lb-annotation"),dom=require("../../utils/dom.js"),PointCloudLayout=require("./PointCloudLayout.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useSingleBox=require("./hooks/useSingleBox.js"),lbUtils=require("@labelbee/lb-utils"),PointCloudInfos=require("./PointCloudInfos.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),index=require("./components/EmptyPage/index.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React);const TransferCanvas2WorldOffset=(n,a,r=1)=>{const{width:e,height:t}=a,o={x:n.x+e*r/2,y:n.y+t*r/2},l={x:a.width/2,y:a.height/2};return{offsetX:(l.x-o.x)/r,offsetY:-(l.y-o.y)/r}},updateBackViewByCanvas2D=(n,a,r,e,t)=>{const{offsetX:o,offsetY:l}=TransferCanvas2WorldOffset(n,r,a);if(t.camera.zoom=a,n){const f=Math.cos(e.rotation),d=Math.sin(e.rotation),i=o*f,u=o*d,{x:s,y:c,z:C}=t.initCameraPosition;t.camera.position.set(s+u,c-i,C+l)}t.camera.updateProjectionMatrix(),t.render()},PointCloudSideView=({currentData:n,config:a,checkMode:r})=>{const e=React__default.default.useContext(PointCloudContext.PointCloudContext),t=React.useRef(null),o=useSize(t),{selectedBox:l}=useSingleBox.useSingleBox(),{t:f}=reactI18next.useTranslation(),{backViewUpdateBox:d}=usePointCloudViews.usePointCloudViews();return React.useEffect(()=>{if(t.current){const i={width:t.current.clientWidth,height:t.current.clientHeight},u=new lbAnnotation.PointCloudAnnotation({container:t.current,size:i,polygonOperationProps:{showDirectionLine:!1,forbidAddNew:!0},config:a,checkMode:r});e.setBackViewInstance(u)}},[]),React.useEffect(()=>{if(!o||!e.backViewInstance)return;const{pointCloud2dOperation:i,pointCloudInstance:u}=e.backViewInstance;i.singleOn("renderZoom",(s,c)=>{!e.selectedPointCloudBox||updateBackViewByCanvas2D(c,s,o,e.selectedPointCloudBox,u)}),i.singleOn("dragMove",({currentPos:s,zoom:c})=>{!e.selectedPointCloudBox||updateBackViewByCanvas2D(s,c,o,e.selectedPointCloudBox,u)}),i.singleOn("updatePolygonByDrag",({newPolygon:s,originPolygon:c})=>{d==null||d(s,c)})},[e,o]),React.useEffect(()=>{var i;(i=e==null?void 0:e.backViewInstance)==null||i.initSize(o)},[o]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","back-view"),title:f("BackView"),toolbar:React__default.default.createElement(PointCloudInfos.SizeInfoForView,{perspectiveView:lbUtils.EPerspectiveView.Back})},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","bottom-view-content")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","core-instance"),ref:t}),!l&&React__default.default.createElement(index,null)))};var PointCloudBackView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSideView);module.exports=PointCloudBackView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),React=require("react");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const PointCloudContext=React__default.default.createContext({pointCloudBoxList:[],polygonList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>{},setPolygonList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory}),PointCloudProvider=({children:o})=>{const[s,a]=React.useState([]),[c,P]=React.useState([]),[t,i]=React.useState([]),[l,p]=React.useState(!0),[d,I]=React.useState(1),[r,w]=React.useState(),[u,x]=React.useState(),[f,y]=React.useState(),[S,V]=React.useState(),v=React.useRef(new lbAnnotation.ActionsHistory).current,C=React.useMemo(()=>t.length===1?t[0]:"",[t]),m=React.useMemo(()=>{const B=s.find(e=>e.id===C),A=e=>{a(s.concat(e))},b=e=>{p(e!==!1)},n=e=>{e===void 0&&i([]),typeof e=="string"&&i([e]),Array.isArray(e)&&i(Array.from(new Set(e)))};return{selectedID:C,pointCloudBoxList:s,selectedIDs:t,setPointCloudResult:a,setSelectedIDs:n,addPointCloudBox:A,valid:l,selectedPointCloudBox:B,setPointCloudValid:b,addSelectedID:e=>{t.includes(e)?n(t.filter(g=>g!==e)):n([...t,e])},selectedAllBoxes:()=>{n(s.map(e=>e.id))},topViewInstance:r,setTopViewInstance:w,sideViewInstance:u,setSideViewInstance:x,backViewInstance:f,setBackViewInstance:y,mainViewInstance:S,setMainViewInstance:V,polygonList:c,setPolygonList:P,zoom:d,setZoom:I,history:v}},[l,t,s,c,r,u,f,S,d]);return React__default.default.createElement(PointCloudContext.Provider,{value:m},o)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),React=require("react");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const PointCloudContext=React__default.default.createContext({pointCloudBoxList:[],polygonList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],setPolygonList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,syncAllViewPointCloudColor:()=>{}}),PointCloudProvider=({children:o})=>{const[s,r]=React.useState([]),[u,V]=React.useState([]),[t,a]=React.useState([]),[C,I]=React.useState(!0),[P,v]=React.useState(1),[c,x]=React.useState(),[f,m]=React.useState(),[w,A]=React.useState(),[i,g]=React.useState(),B=React.useRef(new lbAnnotation.ActionsHistory).current,S=React.useMemo(()=>t.length===1?t[0]:"",[t]),h=React.useMemo(()=>{const L=s.find(e=>e.id===S),b=e=>{const n=s.concat(e);return r(n),n},_=e=>{I(e!==!1)},l=e=>{e===void 0&&a([]),typeof e=="string"&&a([e]),Array.isArray(e)&&a(Array.from(new Set(e)))};return{selectedID:S,pointCloudBoxList:s,selectedIDs:t,setPointCloudResult:r,setSelectedIDs:l,addPointCloudBox:b,valid:C,selectedPointCloudBox:L,setPointCloudValid:_,addSelectedID:e=>{t.includes(e)?l(t.filter(n=>n!==e)):l([...t,e])},selectedAllBoxes:()=>{l(s.map(e=>e.id))},topViewInstance:c,setTopViewInstance:x,sideViewInstance:f,setSideViewInstance:m,backViewInstance:w,setBackViewInstance:A,mainViewInstance:i,setMainViewInstance:g,polygonList:u,setPolygonList:V,zoom:P,setZoom:v,history:B,syncAllViewPointCloudColor:e=>{const n=i==null?void 0:i.highlightOriginPointCloud(e);return new Promise(D=>{n==null||n.then(d=>{[c].forEach(p=>{var y;d&&((y=p==null?void 0:p.pointCloudInstance)==null||y.updateColor(d),D({color:d}))})})})}}},[C,t,s,u,c,f,w,i,P]);return React__default.default.createElement(PointCloudContext.Provider,{value:h},o)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
@@ -1 +1 @@
1
- "use strict";var PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),annotation=require("../../hooks/annotation.js"),useStatus=require("./hooks/useStatus.js"),index=require("../../utils/index.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"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,r,t)=>r in n?__defProp(n,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[r]=t,__spreadValues=(n,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(n,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(n,t,r[t]);return n},__spreadProps=(n,r)=>__defProps(n,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:n,config:r})=>{const t=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:w,selectNextBox:m,selectPrevBox:g,updateSelectedBox:v}=useSingleBox.useSingleBox(),{clearAllResult:d}=useStatus.useStatus(),k=index.jsonParser(n.result),{copySelectedBoxes:h,pasteSelectedBoxes:_,copiedBoxes:B}=useBoxes.useBoxes(),{toolInstanceRef:a}=annotation.useCustomToolInstance({basicInfo:k}),{updateRotate:p}=useRotate.useRotate({currentData:n}),{updatePointCloudData:b}=usePointCloudViews.usePointCloudViews(),{redo:f,undo:P,pushHistoryWithList:S,pushHistoryUnderUpdatePolygon:A}=useHistory.useHistory(),{syncThreeViewsAttribute:y,reRenderPointCloud3DBox:O}=useAttribute.useAttribute(),{syncAllViewsConfig:j,reRenderTopViewRange:q}=useConfig.useConfig(),{selectedPolygon:C}=usePolygon.usePolygon(),I=(e,o)=>{var s;const{topViewInstance:u,mainViewInstance:l}=t;if(!u)return;const{pointCloud2dOperation:i}=u;switch(e){case"q":{p(2);break}case"e":p(-2);break;case"g":p(180);break;case"u":{const c=i.pattern===EPolygonPattern.Normal?EPolygonPattern.Rect:EPolygonPattern.Normal;i.setPattern(c);const E={[EPolygonPattern.Normal]:"Normal Pattern",[EPolygonPattern.Rect]:"Rect Pattern"};antd.message.success(`Change Pattern to ${E[c]} successfully`),i.clearActiveStatus(),i.clearDrawingStatus()}break;case"+":l==null||l.updatePointSize(!0);break;case"-":l==null||l.updatePointSize(!1);break;case"v":t.setPointCloudValid(!t.valid);break;case"tab":if(o.shiftKey){g();break}m();break;case"f":w();break;default:{if(((s=r.attributeList)==null?void 0:s.length)>0){const c=lbAnnotation.AttributeUtils.getAttributeByKeycode(o.keyCode,r.attributeList);c!==void 0&&a.current.setDefaultAttribute(c)}return}}},V=(e,o)=>{switch(e){case"c":h();break;case"v":_();break;case"a":t.selectedAllBoxes();break;case"z":{o.shiftKey?f():P();break}}},x=e=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(e))return;const o=e.key.toLocaleLowerCase();if(e.ctrlKey){V(o,e);return}I(o,e)};return React.useEffect(()=>{const{topViewInstance:e}=t;if(!!e)return window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x)}},[t,B,r]),React.useEffect(()=>{j(r)},[r]),React.useEffect(()=>{(r==null?void 0:r.radius)&&q(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{b==null||b()},[n,t.mainViewInstance]),React.useEffect(()=>{a.current.exportData=()=>[t.pointCloudBoxList,{valid:t.valid}],a.current.exportCustomData=()=>{var e;return{resultPolygon:(e=t.polygonList)!=null?e:[]}},a.current.setDefaultAttribute=e=>{y(e);const o=t.selectedPointCloudBox;o&&(o.attribute=e,v(o),O(o)),C&&A(__spreadProps(__spreadValues({},C),{attribute:e}))},a.current.setSubAttribute=(e,o)=>{var s;const u=t.selectedPointCloudBox;if(u){const l=(s=u==null?void 0:u.subAttribute)!=null?s:{};u.subAttribute=__spreadProps(__spreadValues({},l),{[e]:o}),v(u)}},a.current.clearResult=()=>{d==null||d()},a.current.redo=()=>{f()},a.current.undo=()=>{P()},a.current.setValid=e=>{a.current.valid=e,setTimeout(()=>{t.setPointCloudValid(e),e===!1&&d()})},a.current.setForbidOperation=e=>{var o,s;(s=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setForbidOperation(e),e===!0&&t.setSelectedIDs(void 0)},a.current.setShowDefaultCursor=e=>{var o,s;(s=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null||s.setShowDefaultCursor(e)}},[t.pointCloudBoxList,t.selectedID,t.valid,t.polygonList]),React.useEffect(()=>{a.current.history={pushHistory:e=>{S({pointCloudBoxList:e})},initRecord:()=>{}}},[]),React.useEffect(()=>{var e;const o=(e=t.topViewInstance)==null?void 0:e.pointCloud2dOperation;if(!o)return;const s=i=>{y(i)},u=i=>{antd.message.error(i)},l=i=>{antd.message.info(i)};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)}},[t.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"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),annotation=require("../../hooks/annotation.js"),useStatus=require("./hooks/useStatus.js"),index=require("../../utils/index.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"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,r,i)=>r in n?__defProp(n,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[r]=i,__spreadValues=(n,r)=>{for(var i in r||(r={}))__hasOwnProp.call(r,i)&&__defNormalProp(n,i,r[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(r))__propIsEnum.call(r,i)&&__defNormalProp(n,i,r[i]);return n},__spreadProps=(n,r)=>__defProps(n,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:n,config:r,checkMode:i})=>{const o=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:m,selectNextBox:g,selectPrevBox:h,updateSelectedBox:b}=useSingleBox.useSingleBox(),{clearAllResult:p}=useStatus.useStatus(),k=index.jsonParser(n.result),{copySelectedBoxes:_,pasteSelectedBoxes:B,copiedBoxes:S}=useBoxes.useBoxes(),{toolInstanceRef:a}=annotation.useCustomToolInstance({basicInfo:k}),{updateRotate:v}=useRotate.useRotate({currentData:n}),{updatePointCloudData:f,topViewSelectedChanged:V}=usePointCloudViews.usePointCloudViews(),{redo:P,undo:y,pushHistoryWithList:I,pushHistoryUnderUpdatePolygon:A}=useHistory.useHistory(),{syncThreeViewsAttribute:C}=useAttribute.useAttribute(),{syncAllViewsConfig:O,reRenderTopViewRange:j}=useConfig.useConfig(),{selectedPolygon:w}=usePolygon.usePolygon(),q=(e,t)=>{var s;const{topViewInstance:u,mainViewInstance:c}=o;if(!u)return;const{pointCloud2dOperation:l}=u;switch(e){case"q":{v(2);break}case"e":v(-2);break;case"g":v(180);break;case"u":{const d=l.pattern===EPolygonPattern.Normal?EPolygonPattern.Rect:EPolygonPattern.Normal;l.setPattern(d);const E={[EPolygonPattern.Normal]:"Normal Pattern",[EPolygonPattern.Rect]:"Rect Pattern"};antd.message.success(`Change Pattern to ${E[d]} successfully`),l.clearActiveStatus(),l.clearDrawingStatus()}break;case"+":c==null||c.updatePointSize(!0);break;case"-":c==null||c.updatePointSize(!1);break;case"v":o.setPointCloudValid(!o.valid);break;case"tab":if(t.shiftKey){h();break}g();break;case"f":m();break;default:{if(((s=r.attributeList)==null?void 0:s.length)>0){const d=lbAnnotation.AttributeUtils.getAttributeByKeycode(t.keyCode,r.attributeList);d!==void 0&&a.current.setDefaultAttribute(d)}return}}},L=(e,t)=>{switch(e){case"c":_();break;case"v":B();break;case"a":o.selectedAllBoxes();break;case"z":{t.shiftKey?P():y();break}}},x=e=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(e)||i===!0)return;const t=e.key.toLocaleLowerCase();if(e.ctrlKey){L(t,e);return}q(t,e)};return React.useEffect(()=>{const{topViewInstance:e}=o;if(!!e)return window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x)}},[o,S,r,o.pointCloudBoxList,o.polygonList]),React.useEffect(()=>{O(r)},[r]),React.useEffect(()=>{(r==null?void 0:r.radius)&&j(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{f==null||f()},[n,o.mainViewInstance]),React.useEffect(()=>{a.current.exportData=()=>[o.pointCloudBoxList,{valid:o.valid}],a.current.exportCustomData=()=>{var e;return{resultPolygon:(e=o.polygonList)!=null?e:[]}},a.current.setDefaultAttribute=e=>{C(e);const t=o.selectedPointCloudBox;if(t){t.attribute=e;const s=b(t);o.mainViewInstance&&V(t,s)}w&&A(__spreadProps(__spreadValues({},w),{attribute:e}))},a.current.setSubAttribute=(e,t)=>{var s;const u=o.selectedPointCloudBox;if(u){const c=(s=u==null?void 0:u.subAttribute)!=null?s:{};u.subAttribute=__spreadProps(__spreadValues({},c),{[e]:t}),b(u)}},a.current.clearResult=()=>{p==null||p()},a.current.redo=()=>{P()},a.current.undo=()=>{y()},a.current.setValid=e=>{a.current.valid=e,setTimeout(()=>{o.setPointCloudValid(e),e===!1&&p()})},a.current.setForbidOperation=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setForbidOperation(e),e===!0&&o.setSelectedIDs(void 0)},a.current.setShowDefaultCursor=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setShowDefaultCursor(e)}},[o.pointCloudBoxList,o.selectedID,o.valid,o.polygonList,o.mainViewInstance]),React.useEffect(()=>{a.current.history={pushHistory:e=>{I({pointCloudBoxList:e})},initRecord:()=>{}}},[]),React.useEffect(()=>{var e;const t=(e=o.topViewInstance)==null?void 0:e.pointCloud2dOperation;if(!t)return;const s=l=>{C(l)},u=l=>{antd.message.error(l)},c=l=>{antd.message.info(l)};return t.on("syncAttribute",s),t.on("messageError",u),t.on("messageInfo",c),()=>{t.unbind("syncAttribute",s),t.unbind("messageError",u),t.unbind("messageInfo",c)}},[o.topViewInstance]),null};var PointCloudListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudListener);module.exports=PointCloudListener$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),index$1=require("../../views/MainView/toolFooter/index.js"),index$2=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js");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,o,a)=>o in e?__defProp(e,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[o]=a,__spreadValues=(e,o)=>{for(var a in o||(o={}))__hasOwnProp.call(o,a)&&__defNormalProp(e,a,o[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(o))__propIsEnum.call(o,a)&&__defNormalProp(e,a,o[a]);return e},__spreadProps=(e,o)=>__defProps(e,__getOwnPropDescs(o));const{EPolygonPattern}=lbAnnotation.cTool,TransferCanvas2WorldOffset=(e,o,a=1)=>{const{width:d,height:c}=o,f={x:e.x+d*a/2,y:e.y+c*a/2},p={x:o.width/2,y:o.height/2};return{offsetX:(p.x-f.x)/a,offsetY:-(p.y-f.y)/a}},TopViewToolbar=({currentData:e})=>{const{zoom:o,zoomIn:a,zoomOut:d,initialPosition:c}=useZoom.useZoom(),{selectNextBox:f,selectPrevBox:p}=useSingleBox.useSingleBox(),{updateRotate:l}=useRotate.useRotate({currentData:e}),i=2,s=()=>{l(-i)},v=()=>{l(i)},g=()=>{l(180)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("span",{onClick:v,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:s,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:g,className:dom.getClassName("point-cloud","rotate-180")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{p()},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{f()},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(index$2.ZoomController,{initialPosition:c,zoomIn:a,zoomOut:d,zoom:o}))},ZAxisSlider=({setZAxisLimit:e,zAxisLimit:o,checkMode:a})=>a?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:o,onAfterChange:d=>{e(d)}})),PointCloudTopView=({currentData:e,imgList:o,stepInfo:a,drawLayerSlot:d,checkMode:c})=>{const[f,p]=React.useState({zoom:1,currentPos:{x:0,y:0}}),l=React.useRef(null),i=React__default.default.useContext(PointCloudContext.PointCloudContext),s=useSize(l),v=index.jsonParser(a.config),{setZoom:g}=useZoom.useZoom(),{addPolygon:h,deletePolygon:O}=usePolygon.usePolygon(),{deletePointCloudBox:V,changeBoxValidByID:E}=useSingleBox.useSingleBox(),[x,q]=React.useState(10),{t:_}=reactI18next.useTranslation(),m=usePointCloudViews.usePointCloudViews();return React.useLayoutEffect(()=>{if(!i.topViewInstance&&l.current&&(e==null?void 0:e.url)&&(e==null?void 0:e.result)){const t={width:l.current.clientWidth,height:l.current.clientHeight},u=new lbAnnotation.PointCloudAnnotation({container:l.current,size:t,pcdPath:e.url,config:v,checkMode:c});i.setTopViewInstance(u)}},[e]),React.useEffect(()=>{if(!s||!i.topViewInstance||!i.sideViewInstance)return;const{pointCloud2dOperation:t}=i.topViewInstance;t.singleOn("polygonCreated",n=>{if(t.pattern===EPolygonPattern.Normal||!(e==null?void 0:e.url)){const r=__spreadProps(__spreadValues({},n),{pointList:n.pointList.map(C=>lbUtils.PointCloudUtils.transferCanvas2World(C,s))});h(r),i.setSelectedIDs(n.id);return}m.topViewAddBox({newPolygon:n,size:s,imgList:o,trackConfigurable:v.trackConfigurable})}),t.singleOn("deletedObject",({id:n})=>{V(n),O(n)}),t.singleOn("deleteSelectedIDs",()=>{i.setSelectedIDs([])}),t.singleOn("addSelectedIDs",n=>{i.addSelectedID(n)}),t.singleOn("setSelectedIDs",n=>{i.setSelectedIDs(n)}),t.singleOn("updatePolygonByDrag",({newPolygon:n})=>{var r;(r=m.topViewUpdateBox)==null||r.call(m,n,s)});const u=n=>{E(n)};return t.on("validUpdate",u),()=>{t.unbind("validUpdate",u)}},[i,s,e,m]),React.useEffect(()=>{if(!(s==null?void 0:s.width)||!i.topViewInstance)return;i.topViewInstance.initSize(s),i.topViewInstance.updatePolygonList(i.pointCloudBoxList,i.polygonList);const{topViewInstance:{pointCloudInstance:t,pointCloud2dOperation:u}}=i;u.singleOn("renderZoom",(n,r)=>{const{offsetX:C,offsetY:P}=TransferCanvas2WorldOffset(r,s,n);if(t.camera.zoom=n,r){const{x:w,y,z:I}=t.initCameraPosition;t.camera.position.set(w+P,y-C,I)}t.camera.updateProjectionMatrix(),t.render(),g(n),p({zoom:n,currentPos:r})}),u.singleOn("dragMove",({currentPos:n,zoom:r})=>{const{offsetX:C,offsetY:P}=TransferCanvas2WorldOffset(n,s,r);t.camera.zoom=r;const{x:w,y,z:I}=t.initCameraPosition;t.camera.position.set(w+P,y-C,I),t.render(),p({zoom:r,currentPos:n})})},[s,i.topViewInstance]),React.useEffect(()=>{var t,u;(u=(t=i.topViewInstance)==null?void 0:t.pointCloudInstance)==null||u.applyZAxisPoints(x)},[x]),React.useEffect(()=>{m.topViewSelectedChanged()},[i.selectedIDs]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:_("TopView"),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:e})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:l},d==null?void 0:d(f)),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:v}),React__default.default.createElement(ZAxisSlider,{checkMode:c,zAxisLimit:x,setZAxisLimit:q}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),index$1=require("../../views/MainView/toolFooter/index.js"),index$2=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js");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,i,l)=>i in e?__defProp(e,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[i]=l,__spreadValues=(e,i)=>{for(var l in i||(i={}))__hasOwnProp.call(i,l)&&__defNormalProp(e,l,i[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(i))__propIsEnum.call(i,l)&&__defNormalProp(e,l,i[l]);return e},__spreadProps=(e,i)=>__defProps(e,__getOwnPropDescs(i));const{EPolygonPattern}=lbAnnotation.cTool,TransferCanvas2WorldOffset=(e,i,l=1)=>{const{width:d,height:p}=i,m={x:e.x+d*l/2,y:e.y+p*l/2},f={x:i.width/2,y:i.height/2};return{offsetX:(f.x-m.x)/l,offsetY:-(f.y-m.y)/l}},TopViewToolbar=({currentData:e})=>{const{zoom:i,zoomIn:l,zoomOut:d,initialPosition:p}=useZoom.useZoom(),{selectNextBox:m,selectPrevBox:f}=useSingleBox.useSingleBox(),{updateRotate:r}=useRotate.useRotate({currentData:e}),t=2,a=()=>{r(-t)},C=()=>{r(t)},P=()=>{r(180)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("span",{onClick:C,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:a,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:P,className:dom.getClassName("point-cloud","rotate-180")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{f()},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{m()},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(index$2.ZoomController,{initialPosition:p,zoomIn:l,zoomOut:d,zoom:i}))},ZAxisSlider=({setZAxisLimit:e,zAxisLimit:i,checkMode:l})=>l?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:i,onAfterChange:d=>{e(d)}})),PointCloudTopView=({currentData:e,imgList:i,stepInfo:l,drawLayerSlot:d,checkMode:p})=>{const[m,f]=React.useState({zoom:1,currentPos:{x:0,y:0}}),r=React.useRef(null),t=React__default.default.useContext(PointCloudContext.PointCloudContext),a=useSize(r),C=index.jsonParser(l.config),{setZoom:P}=useZoom.useZoom(),{addPolygon:I,deletePolygon:O}=usePolygon.usePolygon(),{deletePointCloudBox:h,changeValidByID:E}=useSingleBox.useSingleBox(),[w,_]=React.useState(10),{t:q}=reactI18next.useTranslation(),g=usePointCloudViews.usePointCloudViews();return React.useLayoutEffect(()=>{if(!t.topViewInstance&&r.current&&(e==null?void 0:e.url)&&(e==null?void 0:e.result)){const n={width:r.current.clientWidth,height:r.current.clientHeight},u=new lbAnnotation.PointCloudAnnotation({container:r.current,size:n,pcdPath:e.url,config:C,checkMode:p});t.setTopViewInstance(u)}},[e]),React.useEffect(()=>{if(!a||!t.topViewInstance||!t.sideViewInstance)return;const{pointCloud2dOperation:n}=t.topViewInstance;n.singleOn("polygonCreated",(o,s)=>{if(n.pattern===EPolygonPattern.Normal||!(e==null?void 0:e.url)){const c=__spreadProps(__spreadValues({},o),{pointList:o.pointList.map(v=>lbUtils.PointCloudUtils.transferCanvas2World(v,a))});I(c),t.setSelectedIDs(o.id);return}g.topViewAddBox({newPolygon:o,size:a,imgList:i,trackConfigurable:C.trackConfigurable,zoom:s})}),n.singleOn("deletedObject",({id:o})=>{h(o),O(o)}),n.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),n.singleOn("addSelectedIDs",o=>{t.addSelectedID(o)}),n.singleOn("setSelectedIDs",o=>{t.setSelectedIDs(o)}),n.singleOn("updatePolygonByDrag",({newPolygon:o})=>{var s;(s=g.topViewUpdateBox)==null||s.call(g,o,a)});const u=o=>{var s;const c=E(o);c&&t.syncAllViewPointCloudColor(c),t.polygonList.find(v=>v.id===o)&&((s=t.topViewInstance)==null||s.pointCloud2dOperation.setPolygonValidAndRender(o,!0))};return n.on("validUpdate",u),()=>{n.unbind("validUpdate",u)}},[t,a,e,g,t.polygonList]),React.useEffect(()=>{if(!(a==null?void 0:a.width)||!t.topViewInstance)return;t.topViewInstance.initSize(a),t.topViewInstance.updatePolygonList(t.pointCloudBoxList,t.polygonList);const{topViewInstance:{pointCloudInstance:n,pointCloud2dOperation:u}}=t;u.singleOn("renderZoom",(o,s)=>{const{offsetX:c,offsetY:v}=TransferCanvas2WorldOffset(s,a,o);if(n.camera.zoom=o,s){const{x,y,z:V}=n.initCameraPosition;n.camera.position.set(x+v,y-c,V)}n.camera.updateProjectionMatrix(),n.render(),P(o),f({zoom:o,currentPos:s})}),u.singleOn("dragMove",({currentPos:o,zoom:s})=>{const{offsetX:c,offsetY:v}=TransferCanvas2WorldOffset(o,a,s);n.camera.zoom=s;const{x,y,z:V}=n.initCameraPosition;n.camera.position.set(x+v,y-c,V),n.render(),f({zoom:s,currentPos:o})})},[a,t.topViewInstance]),React.useEffect(()=>{var n,u;(u=(n=t.topViewInstance)==null?void 0:n.pointCloudInstance)==null||u.applyZAxisPoints(w)},[w]),React.useEffect(()=>{g.topViewSelectedChanged()},[t.selectedIDs]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:q("TopView"),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:e})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:r},d==null?void 0:d(m)),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:C}),React__default.default.createElement(ZAxisSlider,{checkMode:p,zAxisLimit:w,setZAxisLimit:_}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(i,e,s)=>e in i?__defProp(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s,__spreadValues=(i,e)=>{for(var s in e||(e={}))__hasOwnProp.call(e,s)&&__defNormalProp(i,s,e[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(e))__propIsEnum.call(e,s)&&__defNormalProp(i,s,e[s]);return i};const useHistory=()=>{const{history:i,setPointCloudResult:e,setSelectedIDs:s,pointCloudBoxList:r,mainViewInstance:u,topViewInstance:y,polygonList:d,setPolygonList:f}=React.useContext(PointCloudContext.PointCloudContext),L=({newBoxParams:t,newPolygon:o})=>{const n={pointCloudBoxList:r,polygonList:d};t&&(n.pointCloudBoxList=r.concat(t)),o&&(n.polygonList=d.concat(o)),i.pushHistory(n)},P=t=>{const o={pointCloudBoxList:r,polygonList:d};t.pointCloudBoxList&&(o.pointCloudBoxList=t.pointCloudBoxList),t.polygonList&&(o.polygonList=t.polygonList),i.pushHistory(o)},C=t=>{if(d.find(n=>n.id===t.id)){const n=d.map(c=>c.id===t.id?t:__spreadValues({},c));i.pushHistory({pointCloudBoxList:r,polygonList:n}),f(n)}},g=({pointCloudBoxList:t,polygonList:o})=>{i.initRecord([{pointCloudBoxList:t,polygonList:o}],!0)},a=t=>{if(!t)return;const{pointCloudBoxList:o,polygonList:n}=t;if(o){r.length!==o.length&&s();const c=r.filter(l=>o.findIndex(p=>p.id===l.id)>=0),x=o.filter(l=>r.findIndex(p=>p.id!==l.id)>=0);c.forEach(l=>{u==null||u.removeObjectByName(l.id)}),x.forEach(l=>{u==null||u.generateBox(l)}),e(o)}n&&f(n),y==null||y.updatePolygonList(o!=null?o:[],n!=null?n:[])};return{addHistory:L,pushHistoryWithList:P,initHistory:g,pushHistoryUnderUpdatePolygon:C,redo:()=>{a(i.redo())},undo:()=>{a(i.undo())}}};exports.useHistory=useHistory;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,i,r)=>i in e?__defProp(e,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[i]=r,__spreadValues=(e,i)=>{for(var r in i||(i={}))__hasOwnProp.call(i,r)&&__defNormalProp(e,r,i[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(i))__propIsEnum.call(i,r)&&__defNormalProp(e,r,i[r]);return e};const useHistory=()=>{const{history:e,setPointCloudResult:i,setSelectedIDs:r,pointCloudBoxList:s,mainViewInstance:u,topViewInstance:y,polygonList:d,setPolygonList:a,syncAllViewPointCloudColor:L}=React.useContext(PointCloudContext.PointCloudContext),C=({newBoxParams:t,newPolygon:o})=>{const n={pointCloudBoxList:s,polygonList:d};t&&(n.pointCloudBoxList=s.concat(t)),o&&(n.polygonList=d.concat(o)),e.pushHistory(n)},P=t=>{const o={pointCloudBoxList:s,polygonList:d};t.pointCloudBoxList&&(o.pointCloudBoxList=t.pointCloudBoxList),t.polygonList&&(o.polygonList=t.polygonList),e.pushHistory(o)},g=t=>{if(d.find(n=>n.id===t.id)){const n=d.map(c=>c.id===t.id?t:__spreadValues({},c));e.pushHistory({pointCloudBoxList:s,polygonList:n}),a(n)}},h=({pointCloudBoxList:t,polygonList:o})=>{e.initRecord([{pointCloudBoxList:t,polygonList:o}],!0)},f=t=>{if(!t)return;const{pointCloudBoxList:o=[],polygonList:n=[]}=t;if(o){s.length!==o.length&&r();const c=s.filter(l=>o.every(p=>p.id!==l.id)),v=o.filter(l=>s.every(p=>p.id!==l.id));c.forEach(l=>{u==null||u.removeObjectByName(l.id)}),v.forEach(l=>{u==null||u.generateBox(l)}),i(o),L(o)}n&&a(n),y==null||y.updatePolygonList(o!=null?o:[],n!=null?n:[])};return{addHistory:C,pushHistoryWithList:P,initHistory:h,pushHistoryUnderUpdatePolygon:g,redo:()=>{f(e.redo())},undo:()=>{f(e.undo())}}};exports.useHistory=useHistory;
@@ -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"),_=require("lodash"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),antd=require("antd"),reactI18next=require("react-i18next"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,o,i)=>o in t?__defProp(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,__spreadValues=(t,o)=>{for(var i in o||(o={}))__hasOwnProp.call(o,i)&&__defNormalProp(t,i,o[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(o))__propIsEnum.call(o,i)&&__defNormalProp(t,i,o[i]);return t},__spreadProps=(t,o)=>__defProps(t,__getOwnPropDescs(o)),__async=(t,o,i)=>new Promise((a,e)=>{var n=r=>{try{c(i.next(r))}catch(P){e(P)}},g=r=>{try{c(i.throw(r))}catch(P){e(P)}},c=r=>r.done?a(r.value):Promise.resolve(r.value).then(n,g);c((i=i.apply(t,o)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},transferCanvas2World=(t,o)=>{const{width:i,height:a}=o,{x:e,y:n}=t;return{x:-n+a/2,y:-(e-i/2)}},topViewPolygon2PointCloud=(t,o,i,a,e)=>{const[n,g,c,r]=t.pointList.map(f=>transferCanvas2World(f,o)),P=lbAnnotation.MathUtils.getLineCenterPoint([n,c]),h=lbAnnotation.MathUtils.getLineLength(n,g),w=lbAnnotation.MathUtils.getLineLength(g,c),U=lbAnnotation.MathUtils.getRadiusFromQuadrangle(t.pointList);let y=0,p=1,C={};if(i){const f=i.getSensesPointZAxisInPolygon([n,g,c,r]);y=(f.maxZ+f.minZ)/2,p=f.maxZ-f.minZ,C={count:f.zCount}}a&&(y=a.center.z,p=a.depth);const D={center:{x:P.x,y:P.y,z:y},width:w,height:h,depth:p,rotation:U,id:t.id},x=__spreadValues(a?__spreadValues(__spreadValues({},a),D):__spreadProps(__spreadValues({},D),{attribute:"",valid:!0}),C);return e&&Object.assign(x,e),x},sideViewPolygon2PointCloud=(t,o,i,a)=>{const[e,n,g]=t.pointList,[c,r,P]=o.pointList,h=lbAnnotation.MathUtils.getLineCenterPoint([e,g]),w=lbAnnotation.MathUtils.getLineCenterPoint([c,P]),y={x:{x:h.x-w.x,y:h.y-w.y}.x,y:0,z:h.y-w.y},p=lbAnnotation.MathUtils.getLineLength(e,n),C=lbAnnotation.MathUtils.getLineLength(c,r),D=p-C,x=lbAnnotation.MathUtils.getLineLength(n,g),f=lbAnnotation.MathUtils.getLineLength(r,P),L=x-f,{newBoxParams:V}=a.getNewBoxBySideUpdate(y,L,D,i);return V},synchronizeSideView=(t,o,i,a)=>{if(!i)return;const{pointCloud2dOperation:e,pointCloudInstance:n}=i;n.loadPCDFileByBox(a,t,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:g}=n.updateOrthoCamera(t,lbUtils.EPerspectiveView.Left);n.setInitCameraPosition(g);const{polygon2d:c,zoom:r}=n.getBoxSidePolygon2DCoordinate(t);n.camera.zoom=r,n.camera.updateProjectionMatrix(),n.render(),e.initPosition(),e.zoomChangeOnCenter(r),e.setResultAndSelectedID([{id:o.id,valid:t.valid,pointList:c,textAttribute:"",isRect:!0,attribute:t.attribute}],o.id)},synchronizeBackView=(t,o,i,a)=>{if(!i)return;const{pointCloud2dOperation:e,pointCloudInstance:n}=i;n.loadPCDFileByBox(a,t,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:g}=n.updateOrthoCamera(t,lbUtils.EPerspectiveView.Back);n.setInitCameraPosition(g);const{polygon2d:c,zoom:r}=n.getBoxBackPolygon2DCoordinate(t);n.camera.zoom=r,n.camera.updateProjectionMatrix(),n.render(),e.initPosition(),e.zoomChangeOnCenter(r),e.setResultAndSelectedID([{id:o.id,valid:t.valid,pointList:c,textAttribute:"",isRect:!0,attribute:t.attribute}],o.id)},synchronizeTopView=(t,o,i,a)=>{var e;if(!i||!a)return;a.generateBox(t,o.id),a.updateCameraByBox(t,lbUtils.EPerspectiveView.Top),a.render();const{pointCloud2dOperation:n,pointCloudInstance:g}=i,{polygon2d:c}=g.getBoxTopPolygon2DCoordinate(t),r=[...n.polygonList],P=r.find(h=>h.id===o.id);P?P.pointList=c:r.push({id:o.id,pointList:c,textAttribute:"",isRect:!0,valid:(e=t.valid)!=null?e:!0}),n.setResultAndSelectedID(r,o.id)},usePointCloudViews=()=>{const t=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:o,sideViewInstance:i,backViewInstance:a,mainViewInstance:e,addPointCloudBox:n,setSelectedIDs:g,selectedIDs:c,pointCloudBoxList:r}=t,{addHistory:P,initHistory:h,pushHistoryUnderUpdatePolygon:w}=useHistory.useHistory(),{selectedPolygon:U}=usePolygon.usePolygon(),{updateSelectedBox:y}=useSingleBox.useSingleBox(),{currentData:p,config:C}=ctx.useSelector(s=>{const{stepList:l,step:u,imgList:d,imgIndex:v}=s.annotation;return{currentData:d[v],config:index.jsonParser(StepUtils.getCurrentStepInfo(u,l).config)}}),D=ctx.useDispatch(),{selectedBox:x}=useSingleBox.useSingleBox(),{t:f}=reactI18next.useTranslation(),L=x==null?void 0:x.info;if(!o||!i)return{topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{}};const{pointCloudInstance:V}=o,z=s=>{e==null||e.generateBox(s),e==null||e.controls.update(),e==null||e.render()},A=({newPolygon:s,size:l,imgList:u,trackConfigurable:d})=>{var v;const O=u,S={attribute:(v=o.pointCloud2dOperation.defaultAttribute)!=null?v:""};d===!0&&Object.assign(S,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:O,extraBoxList:r})});const m=topViewPolygon2PointCloud(s,l,V,void 0,S),b=o==null?void 0:o.pointCloud2dOperation,B=m;if((C==null?void 0:C.lowerLimitPointsNumInBox)&&typeof m.count=="number"&&m.count<C.lowerLimitPointsNumInBox){antd.message.info(f("LowerLimitPointsNumInBox",{num:C.lowerLimitPointsNumInBox})),b.deletePolygon(m.id);return}b.setSelectedIDs([s.id]),g(B.id),I(PointCloudView.Top,s,B),n(B),P({newBoxParams:B})},T=()=>{const s=x==null?void 0:x.info,l=o==null?void 0:o.pointCloud2dOperation;if(l.setSelectedIDs(c),!s||!l)return;const u=l.selectedPolygon;I(PointCloudView.Top,u,s)},j=(s,l,u)=>{if(L){let d=sideViewPolygon2PointCloud(s,l,L,i.pointCloudInstance);if(e){const{count:v}=e.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(d).polygonPointList,[d.center.z-d.depth/2,d.center.z+d.depth/2]);d=__spreadProps(__spreadValues({},d),{count:v})}y(d),I(u,s,d)}},k=(s,l)=>{j(s,l,PointCloudView.Side)},q=(s,l)=>{j(s,l,PointCloudView.Back)},R=(s,l)=>{if(U){const u=__spreadProps(__spreadValues({},s),{pointList:s.pointList.map(d=>lbUtils.PointCloudUtils.transferCanvas2World(d,l))});w(u);return}if(L){const u=topViewPolygon2PointCloud(s,l,o.pointCloudInstance,L);Object.assign(L,___default.default.pickBy(u,(d,v)=>["width","height","x","y"])),y(u),I(PointCloudView.Top,s,L)}},I=(s,l,u)=>{const d=p==null?void 0:p.url,v={[PointCloudView.Side]:()=>{synchronizeSideView(u,l,i,d)},[PointCloudView.Back]:()=>{a&&synchronizeBackView(u,l,a,d)},[PointCloudView.Top]:()=>{synchronizeTopView(u,l,o,e)}};Object.keys(v).forEach(O=>{O!==s&&v[O]()}),z(u),e==null||e.highlightOriginPointCloud(u)};return{topViewAddBox:A,topViewSelectedChanged:T,topViewUpdateBox:R,sideViewUpdateBox:k,backViewUpdateBox:q,pointCloudBoxListUpdated:s=>{o.updatePolygonList(s),e==null||e.generateBoxes(s)},initPointCloud3d:()=>{!e||(e.initPerspectiveCamera(),e.initRenderer(),e.render())},updatePointCloudData:()=>__async(void 0,null,function*(){var s,l,u,d,v,O;if(!(p==null?void 0:p.url)||!e)return;actionCreators.SetPointCloudLoading(D,!0),yield e.loadPCDFile(p.url,(s=C==null?void 0:C.radius)!=null?s:DEFAULT_RADIUS),r.forEach(B=>{e==null||e.removeObjectByName(B.id)});let S=[],m=[];p.result?(S=lbUtils.PointCloudUtils.getBoxParamsFromResultList(p.result),m=lbUtils.PointCloudUtils.getPolygonListFromResultList(p.result),S.forEach(B=>{e==null||e.generateBox(B)}),t.setPointCloudResult(S),t.setPolygonList(m)):(t.setPointCloudResult([]),t.setPolygonList([])),h({pointCloudBoxList:S,polygonList:m}),e.updateTopCamera();const b=(u=(l=index.jsonParser(p.result))==null?void 0:l.valid)!=null?u:!0;t.setPointCloudValid(b),(d=t.sideViewInstance)==null||d.clearAllData(),(v=t.backViewInstance)==null||v.clearAllData(),o.updateData(p.url,p.result,{radius:(O=C==null?void 0:C.radius)!=null?O:DEFAULT_RADIUS}),actionCreators.SetPointCloudLoading(D,!1)})}};exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.transferCanvas2World=transferCanvas2World,exports.usePointCloudViews=usePointCloudViews;
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"),_=require("lodash"),ctx=require("../../../store/ctx.js"),StepUtils=require("../../../utils/StepUtils.js"),index=require("../../../utils/index.js"),actionCreators=require("../../../store/annotation/actionCreators.js"),antd=require("antd"),reactI18next=require("react-i18next"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,o,n)=>o in t?__defProp(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,__spreadValues=(t,o)=>{for(var n in o||(o={}))__hasOwnProp.call(o,n)&&__defNormalProp(t,n,o[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(o))__propIsEnum.call(o,n)&&__defNormalProp(t,n,o[n]);return t},__spreadProps=(t,o)=>__defProps(t,__getOwnPropDescs(o)),__async=(t,o,n)=>new Promise((a,e)=>{var s=r=>{try{c(n.next(r))}catch(P){e(P)}},g=r=>{try{c(n.throw(r))}catch(P){e(P)}},c=r=>r.done?a(r.value):Promise.resolve(r.value).then(s,g);c((n=n.apply(t,o)).next())});const DEFAULT_SCOPE=5,DEFAULT_RADIUS=90,PointCloudView={"3D":"3D",Top:"Top",Side:"Side",Back:"Back"},transferCanvas2World=(t,o)=>{const{width:n,height:a}=o,{x:e,y:s}=t;return{x:-s+a/2,y:-(e-n/2)}},topViewPolygon2PointCloud=(t,o,n,a,e)=>{const[s,g,c,r]=t.pointList.map(v=>transferCanvas2World(v,o)),P=lbAnnotation.MathUtils.getLineCenterPoint([s,c]),f=lbAnnotation.MathUtils.getLineLength(s,g),L=lbAnnotation.MathUtils.getLineLength(g,c),O=lbAnnotation.MathUtils.getRadiusFromQuadrangle(t.pointList);let B=0,h=1,C={};if(n){const v=n.getSensesPointZAxisInPolygon([s,g,c,r]);B=(v.maxZ+v.minZ)/2,h=v.maxZ-v.minZ,C={count:v.zCount}}a&&(B=a.center.z,h=a.depth);const b={center:{x:P.x,y:P.y,z:B},width:L,height:f,depth:h,rotation:O,id:t.id},w=__spreadValues(a?__spreadValues(__spreadValues({},a),b):__spreadProps(__spreadValues({},b),{attribute:"",valid:!0}),C);return e&&Object.assign(w,e),w},sideViewPolygon2PointCloud=(t,o,n,a)=>{const[e,s,g]=t.pointList,[c,r,P]=o.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([e,g]),L=lbAnnotation.MathUtils.getLineCenterPoint([c,P]),B={x:{x:f.x-L.x,y:f.y-L.y}.x,y:0,z:f.y-L.y},h=lbAnnotation.MathUtils.getLineLength(e,s),C=lbAnnotation.MathUtils.getLineLength(c,r),b=h-C,w=lbAnnotation.MathUtils.getLineLength(s,g),v=lbAnnotation.MathUtils.getLineLength(r,P),U=w-v,{newBoxParams:S}=a.getNewBoxBySideUpdate(B,U,b,n);return S},backViewPolygon2PointCloud=(t,o,n,a)=>{const[e,s,g]=t.pointList,[c,r,P]=o.pointList,f=lbAnnotation.MathUtils.getLineCenterPoint([e,g]),L=lbAnnotation.MathUtils.getLineCenterPoint([c,P]),B={x:{x:f.x-L.x,y:f.y-L.y}.x,y:0,z:f.y-L.y},h=lbAnnotation.MathUtils.getLineLength(e,s),C=lbAnnotation.MathUtils.getLineLength(c,r),b=h-C,w=lbAnnotation.MathUtils.getLineLength(s,g),v=lbAnnotation.MathUtils.getLineLength(r,P),U=w-v;let{newBoxParams:S}=a.getNewBoxByBackUpdate(B,U,b,n);return S},synchronizeSideView=(t,o,n,a)=>{if(!n)return;const{pointCloud2dOperation:e,pointCloudInstance:s}=n;s.loadPCDFileByBox(a,t,{width:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:g}=s.updateOrthoCamera(t,lbUtils.EPerspectiveView.Left);s.setInitCameraPosition(g);const{polygon2d:c,zoom:r}=s.getBoxSidePolygon2DCoordinate(t);s.camera.zoom=r,s.camera.updateProjectionMatrix(),s.render(),e.initPosition(),e.zoomChangeOnCenter(r),e.setResultAndSelectedID([{id:o.id,valid:t.valid,pointList:c,textAttribute:"",isRect:!0,attribute:t.attribute}],o.id)},synchronizeBackView=(t,o,n,a)=>{if(!n)return;const{pointCloud2dOperation:e,pointCloudInstance:s}=n;s.loadPCDFileByBox(a,t,{height:DEFAULT_SCOPE,depth:DEFAULT_SCOPE});const{cameraPositionVector:g}=s.updateOrthoCamera(t,lbUtils.EPerspectiveView.Back);s.setInitCameraPosition(g);const{polygon2d:c,zoom:r}=s.getBoxBackPolygon2DCoordinate(t);s.camera.zoom=r,s.camera.updateProjectionMatrix(),s.render(),e.initPosition(),e.zoomChangeOnCenter(r),e.setResultAndSelectedID([{id:o.id,valid:t.valid,pointList:c,textAttribute:"",isRect:!0,attribute:t.attribute}],o.id)},synchronizeTopView=(t,o,n,a)=>{var e;if(!n||!a)return;a.generateBox(t,o.id),a.updateCameraByBox(t,lbUtils.EPerspectiveView.Top),a.render();const{pointCloud2dOperation:s,pointCloudInstance:g}=n,{polygon2d:c}=g.getBoxTopPolygon2DCoordinate(t),r=[...s.polygonList],P=r.find(f=>f.id===o.id);P?P.pointList=c:r.push({id:o.id,pointList:c,textAttribute:"",isRect:!0,valid:(e=t.valid)!=null?e:!0}),s.setResultAndSelectedID(r,o.id)},usePointCloudViews=()=>{const t=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:o,sideViewInstance:n,backViewInstance:a,mainViewInstance:e,addPointCloudBox:s,setSelectedIDs:g,selectedIDs:c,pointCloudBoxList:r}=t,{addHistory:P,initHistory:f,pushHistoryUnderUpdatePolygon:L}=useHistory.useHistory(),{selectedPolygon:O}=usePolygon.usePolygon(),{updateSelectedBox:B}=useSingleBox.useSingleBox(),{currentData:h,config:C}=ctx.useSelector(i=>{const{stepList:l,step:p,imgList:u,imgIndex:d}=i.annotation;return{currentData:u[d],config:index.jsonParser(StepUtils.getCurrentStepInfo(p,l).config)}}),b=ctx.useDispatch(),{selectedBox:w}=useSingleBox.useSingleBox(),{t:v}=reactI18next.useTranslation(),U=w==null?void 0:w.info;if(!o||!n||!a)return{topViewAddBox:()=>{},topViewSelectedChanged:()=>{},sideViewUpdateBox:()=>{}};const{pointCloudInstance:S}=o,k=i=>{e==null||e.generateBox(i),e==null||e.controls.update(),e==null||e.render()},A=({newPolygon:i,size:l,imgList:p,trackConfigurable:u,zoom:d})=>{var y;const x={attribute:(y=o.pointCloud2dOperation.defaultAttribute)!=null?y:""};u===!0&&Object.assign(x,{trackID:lbUtils.PointCloudUtils.getNextTrackID({imgList:[],extraBoxList:r})});const m=topViewPolygon2PointCloud(i,l,S,void 0,x),I=o==null?void 0:o.pointCloud2dOperation,D=m;if((C==null?void 0:C.lowerLimitPointsNumInBox)&&typeof m.count=="number"&&m.count<C.lowerLimitPointsNumInBox){antd.message.info(v("LowerLimitPointsNumInBox",{num:C.lowerLimitPointsNumInBox})),I.deletePolygon(m.id);return}I.setSelectedIDs([i.id]),g(D.id);const R=s(D);V(PointCloudView.Top,i,D,d,R),P({newBoxParams:D})},M=(i,l)=>{const p=i!=null?i:w==null?void 0:w.info,u=o==null?void 0:o.pointCloud2dOperation;if(u.setSelectedIDs(c),!p||!u)return;const d=u.selectedPolygon;V(PointCloudView.Top,d,p,void 0,l)},j=(i,l,p)=>{if(U){let u,d;switch(p){case PointCloudView.Back:u=backViewPolygon2PointCloud;break;case PointCloudView.Side:u=sideViewPolygon2PointCloud;break;default:u=sideViewPolygon2PointCloud;break}if(d=u(i,l,U,n.pointCloudInstance),e){const{count:x}=e.getSensesPointZAxisInPolygon(lbAnnotation.getCuboidFromPointCloudBox(d).polygonPointList,[d.center.z-d.depth/2,d.center.z+d.depth/2]);d=__spreadProps(__spreadValues({},d),{count:x})}const y=B(d);return V(p,i,d,void 0,y),y}},T=(i,l)=>{j(i,l,PointCloudView.Side)},z=(i,l)=>{j(i,l,PointCloudView.Back)},q=(i,l)=>{if(O){const p=__spreadProps(__spreadValues({},i),{pointList:i.pointList.map(u=>lbUtils.PointCloudUtils.transferCanvas2World(u,l))});L(p);return}if(U){const p=topViewPolygon2PointCloud(i,l,o.pointCloudInstance,U);Object.assign(U,___default.default.pickBy(p,(d,y)=>["width","height","x","y"]));const u=B(p);V(PointCloudView.Top,i,U,void 0,u)}},V=(i,l,p,u,d)=>__async(void 0,null,function*(){const y=h==null?void 0:h.url;d&&(yield t.syncAllViewPointCloudColor(d));const x={[PointCloudView.Side]:()=>{synchronizeSideView(p,l,n,y)},[PointCloudView.Back]:()=>{a&&synchronizeBackView(p,l,a,y)},[PointCloudView.Top]:()=>{synchronizeTopView(p,l,o,e)}};Object.keys(x).forEach(m=>{m!==i&&x[m]()}),u&&(e==null||e.updateCameraZoom(u)),k(p)});return{topViewAddBox:A,topViewSelectedChanged:M,topViewUpdateBox:q,sideViewUpdateBox:T,backViewUpdateBox:z,pointCloudBoxListUpdated:i=>{o.updatePolygonList(i),e==null||e.generateBoxes(i)},initPointCloud3d:i=>{if(!e)return;const l={left:-i.width/2,right:i.width/2,top:i.height/2,bottom:-i.height/2,near:100,far:-100};e.initOrthographicCamera(l),e.initRenderer(),e.render()},updatePointCloudData:()=>__async(void 0,null,function*(){var i,l,p,u,d,y;if(!(h==null?void 0:h.url)||!e)return;actionCreators.SetPointCloudLoading(b,!0),yield e.loadPCDFile(h.url,(i=C==null?void 0:C.radius)!=null?i:DEFAULT_RADIUS),r.forEach(D=>{e==null||e.removeObjectByName(D.id)});let x=[],m=[];h.result?(x=lbUtils.PointCloudUtils.getBoxParamsFromResultList(h.result),m=lbUtils.PointCloudUtils.getPolygonListFromResultList(h.result),x.forEach(D=>{e==null||e.generateBox(D)}),t.syncAllViewPointCloudColor(x),t.setPointCloudResult(x),t.setPolygonList(m)):(t.setPointCloudResult([]),t.setPolygonList([])),f({pointCloudBoxList:x,polygonList:m}),e.updateTopCamera();const I=(p=(l=index.jsonParser(h.result))==null?void 0:l.valid)!=null?p:!0;t.setPointCloudValid(I),(u=t.sideViewInstance)==null||u.clearAllData(),(d=t.backViewInstance)==null||d.clearAllData(),o.updateData(h.url,h.result,{radius:(y=C==null?void 0:C.radius)!=null?y:DEFAULT_RADIUS}),actionCreators.SetPointCloudLoading(b,!1)})}};exports.synchronizeBackView=synchronizeBackView,exports.synchronizeSideView=synchronizeSideView,exports.synchronizeTopView=synchronizeTopView,exports.topViewPolygon2PointCloud=topViewPolygon2PointCloud,exports.transferCanvas2World=transferCanvas2World,exports.usePointCloudViews=usePointCloudViews;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useHistory=require("./useHistory.js"),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(t,e,o)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,__spreadValues=(t,e)=>{for(var o in e||(e={}))__hasOwnProp.call(e,o)&&__defNormalProp(t,o,e[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))__propIsEnum.call(e,o)&&__defNormalProp(t,o,e[o]);return t};const usePolygon=()=>{const{polygonList:t,setPolygonList:e,selectedID:o}=React.useContext(PointCloudContext.PointCloudContext),{addHistory:l,pushHistoryWithList:i}=useHistory.useHistory(),a=t.find(r=>r.id===o);return{addPolygon:r=>{e(t.concat(r)),l({newPolygon:r})},deletePolygon:r=>{const s=t.filter(n=>n.id!==r).map(n=>__spreadValues({},n));e(s),i({polygonList:s})},selectedPolygon:a}};exports.usePolygon=usePolygon;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),useHistory=require("./useHistory.js"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,e,t)=>e in o?__defProp(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,__spreadValues=(o,e)=>{for(var t in e||(e={}))__hasOwnProp.call(e,t)&&__defNormalProp(o,t,e[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(e))__propIsEnum.call(e,t)&&__defNormalProp(o,t,e[t]);return o},__spreadProps=(o,e)=>__defProps(o,__getOwnPropDescs(e));const usePolygon=()=>{const{polygonList:o,setPolygonList:e,selectedID:t}=React.useContext(PointCloudContext.PointCloudContext),{addHistory:l,pushHistoryWithList:a}=useHistory.useHistory(),i=o.find(r=>r.id===t);return{addPolygon:r=>{e(o.concat(r)),l({newPolygon:r})},deletePolygon:r=>{const s=o.filter(n=>n.id!==r).map(n=>__spreadValues({},n));e(s),a({polygonList:s})},selectedPolygon:i,updateSelectedPolygon:r=>{i&&e(o.map(s=>s.id===t?r:s))},updatePolygonValidByID:r=>{o.find(n=>n.id===r)&&e(o.map(n=>n.id===r?__spreadProps(__spreadValues({},n),{valid:!n.valid}):n))}}};exports.usePolygon=usePolygon;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),usePointCloudViews=require("./usePointCloudViews.js"),useSingleBox=require("./useSingleBox.js"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils");const{ERotateDirection}=lbAnnotation.cAnnotation,useRotate=({currentData:o})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{selectedBox:i,updateSelectedBox:a}=useSingleBox.useSingleBox();return{updateRotate:React.useCallback(l=>{const{topViewInstance:s,mainViewInstance:n}=e;if(!s||!n)return;const{pointCloud2dOperation:r}=s,t=i==null?void 0:i.info;if(!t||!(o==null?void 0:o.url)||!e.backViewInstance)return;a({rotation:lbUtils.PointCloudUtils.restrictAngleRange(t.rotation+Number(Math.PI*l)/180)}),r.rotatePolygon(l,ERotateDirection.Anticlockwise);const u=r.selectedPolygon;n.generateBox(t),n.highlightOriginPointCloud(t),usePointCloudViews.synchronizeSideView(t,u,e.sideViewInstance,o.url),usePointCloudViews.synchronizeBackView(t,u,e.backViewInstance,o.url),n.render()},[e.selectedID,e.pointCloudBoxList,e.setPointCloudResult,e.topViewInstance,o])}};exports.useRotate=useRotate;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),usePointCloudViews=require("./usePointCloudViews.js"),useSingleBox=require("./useSingleBox.js"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils");const{ERotateDirection}=lbAnnotation.cAnnotation,useRotate=({currentData:t})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{selectedBox:i,updateSelectedBox:a}=useSingleBox.useSingleBox();return{updateRotate:React.useCallback(l=>{const{topViewInstance:s,mainViewInstance:n,syncAllViewPointCloudColor:c}=e;if(!s||!n)return;const{pointCloud2dOperation:u}=s,o=i==null?void 0:i.info;if(!o||!(t==null?void 0:t.url)||!e.backViewInstance)return;const d=a({rotation:lbUtils.PointCloudUtils.restrictAngleRange(o.rotation+Number(Math.PI*l)/180)});u.rotatePolygon(l,ERotateDirection.Anticlockwise);const r=u.selectedPolygon;n.generateBox(o),c(d),usePointCloudViews.synchronizeSideView(o,r,e.sideViewInstance,t.url),usePointCloudViews.synchronizeBackView(o,r,e.backViewInstance,t.url),n.render()},[e.selectedID,e.pointCloudBoxList,e.setPointCloudResult,e.topViewInstance,t])}};exports.useRotate=useRotate;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_);const{ESortDirection}=lbAnnotation.cAnnotation,useSingleBox=()=>{const{pointCloudBoxList:e,setPointCloudResult:u,topViewInstance:l,backViewInstance:a,sideViewInstance:c,selectedIDs:C,selectedID:r,mainViewInstance:d,setSelectedIDs:v}=React.useContext(PointCloudContext.PointCloudContext),{pushHistoryWithList:B}=useHistory.useHistory(),i=React.useMemo(()=>{const t=e.findIndex(o=>o.id===r);if(t>-1)return{info:e[t],index:t}},[r,e]),f=React.useCallback(t=>{if(i==null?void 0:i.info){e.splice(i.index,1,___default.default.merge(i.info,t));const o=___default.default.cloneDeep(e);u(o),B({pointCloudBoxList:o})}},[r,e]),b=React.useCallback((t,o)=>{const n=e.findIndex(x=>x.id===o);n>-1&&(e.splice(n,1,___default.default.merge(e[n],t)),u(___default.default.cloneDeep(e)))},[e]),s=React.useCallback(t=>{l==null||l.pointCloud2dOperation.setPolygonValidAndRender(t,!0),c==null||c.pointCloud2dOperation.setPolygonValidAndRender(t,!0),a==null||a.pointCloud2dOperation.setPolygonValidAndRender(t,!0)},[l,c,a]),y=React.useCallback(()=>{if(i==null?void 0:i.info){const{id:t,valid:o=!0}=i.info;f({valid:!o}),s(t)}},[s,i]),I=React.useCallback(t=>{const o=e.find(n=>n.id===t);if(o){const{id:n,valid:x=!0}=o;b({valid:!x},n),s(n)}},[s,e]),p=React.useCallback((t=ESortDirection.ascend)=>{if(!l||C.length>1)return;const{pointCloud2dOperation:o}=l,n=o.switchToNextPolygon(t);n&&v(n)},[l]);return{selectedBox:i,updateSelectedBox:f,changeSelectedBoxValid:y,changeBoxValidByID:I,selectNextBox:p,selectPrevBox:()=>{p(ESortDirection.descend)},deletePointCloudBox:t=>{u(e.filter(o=>o.id!==t)),d==null||d.removeObjectByName(t),d==null||d.render()}}};exports.useSingleBox=useSingleBox;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.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,t)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,__spreadValues=(e,n)=>{for(var t in n||(n={}))__hasOwnProp.call(n,t)&&__defNormalProp(e,t,n[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(n))__propIsEnum.call(n,t)&&__defNormalProp(e,t,n[t]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const{ESortDirection}=lbAnnotation.cAnnotation,useSingleBox=()=>{const{pointCloudBoxList:e,setPointCloudResult:n,topViewInstance:t,backViewInstance:c,sideViewInstance:p,selectedIDs:y,selectedID:f,mainViewInstance:a,setSelectedIDs:C,syncAllViewPointCloudColor:P,polygonList:g}=React.useContext(PointCloudContext.PointCloudContext),{selectedPolygon:d,updateSelectedPolygon:b,updatePolygonValidByID:w}=usePolygon.usePolygon(),{pushHistoryWithList:B}=useHistory.useHistory(),r=React.useMemo(()=>{const o=e.findIndex(l=>l.id===f);if(o>-1)return{info:e[o],index:o}},[f,e]),v=React.useCallback(o=>{if(r==null?void 0:r.info){e.splice(r.index,1,___default.default.merge(r.info,o));const l=___default.default.cloneDeep(e);return n(l),B({pointCloudBoxList:l}),l}return e},[f,e]),O=React.useCallback((o,l)=>{const i=e.findIndex(s=>s.id===l);if(i>-1){e.splice(i,1,___default.default.merge(e[i],o));const s=___default.default.cloneDeep(e);return n(s),s}return e},[e]),u=React.useCallback(o=>{t==null||t.pointCloud2dOperation.setPolygonValidAndRender(o,!0),p==null||p.pointCloud2dOperation.setPolygonValidAndRender(o,!0),c==null||c.pointCloud2dOperation.setPolygonValidAndRender(o,!0)},[t,p,c]),I=React.useCallback(()=>{if(r==null?void 0:r.info){const{id:o,valid:l=!0}=r.info,i=v({valid:!l});P(i),u(o)}d&&(b(__spreadProps(__spreadValues({},d),{valid:!d.valid})),t==null||t.pointCloud2dOperation.setPolygonValidAndRender(d.id,!0))},[u,r,d]),V=React.useCallback(o=>{const l=e.find(i=>i.id===o);if(l){const{id:i,valid:s=!0}=l,D=O({valid:!s},i);return u(i),D}w(o)},[u,e,g]),x=React.useCallback((o=ESortDirection.ascend)=>{if(!t||y.length>1)return;const{pointCloud2dOperation:l}=t,i=l.switchToNextPolygon(o);i&&C(i)},[t]);return{selectedBox:r,updateSelectedBox:v,changeSelectedBoxValid:I,changeValidByID:V,selectNextBox:x,selectPrevBox:()=>{x(ESortDirection.descend)},deletePointCloudBox:o=>{const l=e.filter(i=>i.id!==o);n(l),a==null||a.removeObjectByName(o),a==null||a.render(),P(l)}}};exports.useSingleBox=useSingleBox;
@@ -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"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PointCloudView=({imgList:e,drawLayerSlot:a,checkMode:t})=>e.length===0?null:React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,null),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("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud2DView,null),React__default.default.createElement(PointCloud3DView,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","right")},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:a,checkMode:t}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","right-bottom")},React__default.default.createElement(PointCloudSideView,{checkMode:t}),React__default.default.createElement(PointCloudBackView,{checkMode:t})))))),mapStateToProps=e=>({imgList:e.annotation.imgList});var PointCloudView$1=reactRedux.connect(mapStateToProps,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"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PointCloudView=({imgList:e,drawLayerSlot:a,checkMode:t})=>e.length===0?null:React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:t}),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("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud2DView,null),React__default.default.createElement(PointCloud3DView,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","right")},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:a,checkMode:t}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","right-bottom")},React__default.default.createElement(PointCloudSideView,{checkMode:t}),React__default.default.createElement(PointCloudBackView,{checkMode:t})))))),mapStateToProps=e=>({imgList:e.annotation.imgList});var PointCloudView$1=reactRedux.connect(mapStateToProps,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=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index$1=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");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,s)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,__spreadValues=(e,t)=>{for(var s in t||(t={}))__hasOwnProp.call(t,s)&&__defNormalProp(e,s,t[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(t))__propIsEnum.call(t,s)&&__defNormalProp(e,s,t[s]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,s)=>new Promise((I,u)=>{var A=d=>{try{O(s.next(d))}catch(v){u(v)}},p=d=>{try{O(s.throw(d))}catch(v){u(v)}},O=d=>d.done?I(d.value):Promise.resolve(d.value).then(A,p);O((s=s.apply(e,t)).next())});const getStepConfig=(e,t)=>e.find(s=>s.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,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1},getTotalPage=e=>{const{imgList:t,imgPageSize:s}=e;return Math.ceil(t.length/s)},calcStepProgress=(e,t)=>e.reduce((s,I)=>{if(I){const u=I.result;if(index$1.jsonParser(u)[`step_${t}`])return s+1}return s},0)/e.length,updateToolInstance=(e,t)=>{const{step:s,stepList:I}=e,u=StepUtils.getCurrentStepInfo(s,I),A=ConfigUtils.ConfigUtils.jsonParser(u.config);if(ToolUtils.isVideoTool(u==null?void 0:u.tool)||ToolUtils.isPointCloudTool(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}),d=new lbAnnotation.AnnotationEngine({container:p,toolName:u.tool,size:O,imgNode:t,config:A,style:JSON.parse(styleString)});return{toolInstance:d==null?void 0:d.toolInstance,annotationEngine:d}},LoadFileAndFileData=(e,t)=>(s,I)=>__async(void 0,null,function*(){const{stepList:u,step:A}=I().annotation,p=StepUtils.currentToolIsVideo(A,u),O=StepUtils.currentToolIsPointCloud(A,u);if(actionCreators.SetAnnotationLoading(s,!0),yield s(TryGetFileDataByAPI(e)),p||O){s(AfterVideoLoaded(e));return}s(AfterImageLoaded(e,t))}),TryGetFileDataByAPI=e=>(t,s)=>__async(void 0,null,function*(){const{getFileData:I,imgList:u}=s().annotation;if(I){const A=yield I(u[e],e);t({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:A,index:e}})}}),AfterVideoLoaded=e=>t=>{actionCreators.SetAnnotationLoading(t,!1),t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,t)=>(s,I)=>{var u;const{toolInstance:A,imgList:p}=I().annotation,O=(u=p==null?void 0:p[e])==null?void 0:u.url;lbAnnotation.ImgUtils.load(O).then(d=>{actionCreators.SetAnnotationLoading(s,!1),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:d,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{actionCreators.SetAnnotationLoading(s,!1),A==null||A.setErrorImg(),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},composeResultByToolInstance=({toolInstance:e,imgList:t,imgIndex:s,stepList:I,step:u=1})=>{var A,p,O,d;const v=((A=t[s])==null?void 0:A.result)||"",[b,h,U]=(p=e==null?void 0:e.exportData())!=null?p:[],x=(d=(O=e==null?void 0:e.exportCustomData)==null?void 0:O.call(e))!=null?d:{},B=data.composeResultWithBasicImgInfo(v,h),w=data.composeResult(B,{step:u,stepList:I},{rect:b},x);return t.map((P,F)=>F===s?__spreadValues(__spreadProps(__spreadValues({},P),{result:w}),U):__spreadValues({},P))},annotationReducer=(e=__spreadValues({},initialState),t)=>{var s,I,u,A,p,O,d,v,b,h,U,x,B,w,P,F,q,G,V,k,M,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,i=calcStepProgress(n,o);return __spreadProps(__spreadValues({},e),{stepProgress:i})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:i,stepList:l,toolInstance:a,onSubmit:r,resultList:T}=e;if(!a||!n[o])return e;const c=((s=n[o])==null?void 0:s.result)||"",[,N,f]=(I=a==null?void 0:a.exportData())!=null?I:[],C=(A=(u=a==null?void 0:a.exportCustomData)==null?void 0:u.call(a))!=null?A:{},m=data.composeResultWithBasicImgInfo(c,N),E=data.composeResult(m,{step:i,stepList:l},{rect:T},C),g=e.imgList.map((L,S)=>{if(S===o){const R=AnnotationDataUtils.dataCorrection(E,c,i,l);return __spreadValues(__spreadProps(__spreadValues({},L),{result:R}),f)}return L});if(((p=t.payload)==null?void 0:p.submitType)===index.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:g});r&&r([g[o]],(O=t.payload)==null?void 0:O.submitType,o,g);const D=calcStepProgress(g,i);return __spreadProps(__spreadValues({},e),{stepProgress:D,imgList:g})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:i}=e;return i==null||i(n[o],o,n),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:i,toolInstance:l,basicResultList:a}=e;if(!l)return e;const[r]=(d=l==null?void 0:l.exportData())!=null?d:[];let T=r;if((a==null?void 0:a.length)>0){const c=(v=a[o])==null?void 0:v.id,N=r.map(f=>__spreadProps(__spreadValues({},f),{sourceID:c}));T=___default.default.cloneDeep(i).filter(f=>f.sourceID!==c),T.push(...N)}return __spreadProps(__spreadValues({},e),{resultList:T,imgList:n})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:i,imgIndex:l,stepList:a,annotationEngine:r,resultList:T,basicResultList:c}=e;if(!n||!r)return e;const N=t.payload.basicIndex,f=(b=c[N])==null?void 0:b.id,C=index$1.jsonParser((h=i[l])==null?void 0:h.result),m=(T||[]).filter(R=>R.sourceID===f),E=getStepConfig(a,o),{dataSourceStep:g,tool:D}=E,L=getStepConfig(a,g);let S=[];return g&&D&&(S=(U=C[`step_${g}`])==null?void 0:U.result,(S==null?void 0:S.length)>0?(r==null||r.setBasicInfo(L.tool,S[N]),r==null||r.launchOperation()):(r==null||r.setBasicInfo(L.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),n==null||n.setResult(m),n==null||n.history.initRecord(m,!0),__spreadProps(__spreadValues({},e),{basicIndex:N})}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:i,annotationEngine:l,stepList:a}=e;if(!i)return __spreadProps(__spreadValues({},e),{imgIndex:t.payload.nextIndex});const r=StepUtils.getCurrentStepInfo(o,a),{nextIndex:T,imgNode:c,nextBasicIndex:N,imgError:f}=t.payload,C=N!=null?N:0,m=index$1.jsonParser((x=n[T])==null?void 0:x.result),E=m[`step_${r.step}`],g=!E,D={rotate:(B=m.rotate)!=null?B:0,valid:(w=m.valid)!=null?w:!0};c&&f!==!0?l==null||l.setImgNode(c,D):i==null||i.setValid(D.valid);const L=getStepConfig(a,r.step),{dataSourceStep:S,tool:R}=L,H=getStepConfig(a,S),$=S&&R,y=(F=(P=m[`step_${S}`])==null?void 0:P.result)!=null?F:[],j=AnnotationDataUtils.getInitialResultList(E==null?void 0:E.result,i,L,y,g);if(l==null||l.launchOperation(),$&&((y==null?void 0:y.length)>0?l==null||l.setBasicInfo(H.tool,y[C]):(l==null||l.setBasicInfo(H.tool),l==null||l.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),r.tool!=="check"){const K=(G=(q=y[C])==null?void 0:q.id)!=null?G:"",W=$?j.filter(X=>lbAnnotation.CommonToolUtils.isSameSourceID(X.sourceID,K)):j;i==null||i.history.initRecord(j,!0),i==null||i.setResult(W)}return __spreadProps(__spreadValues({},e),{imgIndex:T,basicIndex:C,basicResultList:y,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(V=t.payload.config)!=null?V:"{}"});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:i,annotationEngine:l}=o;return __spreadProps(__spreadValues({},e),{toolInstance:i,annotationEngine:l})}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.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.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:i}=e,l=[...i];return l[o]=__spreadValues(__spreadValues({},l[o]),n),__spreadProps(__spreadValues({},e),{imgList:l})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||n==null||n.updateRotate(),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(M=n==null?void 0:n.valid)!=null?M:!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:i,step:l}=e;if(!n)return e;if(o===0||o>=i.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const a=i[o-1].result;if(!a)return e;const r=AnnotationDataUtils.copyResultChange(a,l,(z=i[o].result)!=null?z:"");i[o]=__spreadProps(__spreadValues({},i[o]),{result:r});const c=index$1.jsonParser(r)[`step_${l}`],N=(c==null?void 0:c.result)||[];return n==null||n.setResult(N),n==null||n.history.pushHistory(N),__spreadProps(__spreadValues({},e),{imgList:[...i]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:i}=t.payload;if(!o)return e;const l=getStepConfig(n,i);return o==null||o.setToolName(l.tool,l.config),__spreadProps(__spreadValues({},e),{step:i,toolInstance:o==null?void 0:o.toolInstance})}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.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:i,imgList:l}=t.payload,{imgIndex:a,onSubmit:r}=e,T=l.map((c,N)=>lbAnnotation.MathUtils.isInRange(N,i)?__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:n,newID:o,result:c.result})}):c);return r&&r([T[a]],index.ESubmitType.BatchUpdateTrackID,a,T),__spreadProps(__spreadValues({},e),{imgList:T})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:n,newData:o,rangeIndex:i}=t.payload,{imgList:l,imgIndex:a,onSubmit:r}=e,T=l.map((c,N)=>lbAnnotation.MathUtils.isInRange(N,i)?__spreadProps(__spreadValues({},c),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:n,newData:o,result:c.result})}):c);return r&&r([T[a]],index.ESubmitType.BatchUpdateTrackID,a,T),__spreadProps(__spreadValues({},e),{imgList:T})}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=require("../../constant/index.js"),styleString=require("../../constant/styleString.js"),Actions=require("../Actions.js"),index$1=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");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,s)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,__spreadValues=(e,t)=>{for(var s in t||(t={}))__hasOwnProp.call(t,s)&&__defNormalProp(e,s,t[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(t))__propIsEnum.call(t,s)&&__defNormalProp(e,s,t[s]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__async=(e,t,s)=>new Promise((I,u)=>{var A=T=>{try{O(s.next(T))}catch(L){u(L)}},p=T=>{try{O(s.throw(T))}catch(L){u(L)}},O=T=>T.done?I(T.value):Promise.resolve(T.value).then(A,p);O((s=s.apply(e,t)).next())});const getStepConfig=(e,t)=>e.find(s=>s.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,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1},getTotalPage=e=>{const{imgList:t,imgPageSize:s}=e;return Math.ceil(t.length/s)},calcStepProgress=(e,t)=>e.reduce((s,I)=>{if(I){const u=I.result;if(index$1.jsonParser(u)[`step_${t}`])return s+1}return s},0)/e.length,updateToolInstance=(e,t)=>{const{step:s,stepList:I}=e,u=StepUtils.getCurrentStepInfo(s,I),A=ConfigUtils.ConfigUtils.jsonParser(u.config);if(ToolUtils.isVideoTool(u==null?void 0:u.tool)||ToolUtils.isPointCloudTool(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}),T=new lbAnnotation.AnnotationEngine({container:p,toolName:u.tool,size:O,imgNode:t,config:A,style:JSON.parse(styleString)});return{toolInstance:T==null?void 0:T.toolInstance,annotationEngine:T}},LoadFileAndFileData=(e,t)=>(s,I)=>__async(void 0,null,function*(){const{stepList:u,step:A}=I().annotation,p=StepUtils.currentToolIsVideo(A,u),O=StepUtils.currentToolIsPointCloud(A,u);if(actionCreators.SetAnnotationLoading(s,!0),yield s(TryGetFileDataByAPI(e)),p||O){s(AfterVideoLoaded(e));return}s(AfterImageLoaded(e,t))}),TryGetFileDataByAPI=e=>(t,s)=>__async(void 0,null,function*(){const{getFileData:I,imgList:u}=s().annotation;if(I){const A=yield I(u[e],e);t({type:Actions.ANNOTATION_ACTIONS.SET_FILE_DATA,payload:{fileData:A,index:e}})}}),AfterVideoLoaded=e=>t=>{actionCreators.SetAnnotationLoading(t,!1),t({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e}})},AfterImageLoaded=(e,t)=>(s,I)=>{var u;const{toolInstance:A,imgList:p}=I().annotation,O=(u=p==null?void 0:p[e])==null?void 0:u.url;lbAnnotation.ImgUtils.load(O).then(T=>{actionCreators.SetAnnotationLoading(s,!1),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{imgNode:T,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{actionCreators.SetAnnotationLoading(s,!1),A==null||A.setErrorImg(),s({type:Actions.ANNOTATION_ACTIONS.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},composeResultByToolInstance=({toolInstance:e,imgList:t,imgIndex:s,stepList:I,step:u=1})=>{var A,p,O,T;const L=((A=t[s])==null?void 0:A.result)||"",[b,h,U]=(p=e==null?void 0:e.exportData())!=null?p:[],x=(T=(O=e==null?void 0:e.exportCustomData)==null?void 0:O.call(e))!=null?T:{},B=data.composeResultWithBasicImgInfo(L,h),w=data.composeResult(B,{step:u,stepList:I},{rect:b},x);return t.map((P,F)=>F===s?__spreadValues(__spreadProps(__spreadValues({},P),{result:w}),U):__spreadValues({},P))},annotationReducer=(e=__spreadValues({},initialState),t)=>{var s,I,u,A,p,O,T,L,b,h,U,x,B,w,P,F,q,G,V,k,M,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,i=calcStepProgress(n,o);return __spreadProps(__spreadValues({},e),{stepProgress:i})}case Actions.ANNOTATION_ACTIONS.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:i,stepList:l,toolInstance:a,onSubmit:r,resultList:N}=e;if(!a||!n[o])return e;const c=((s=n[o])==null?void 0:s.result)||"",[,d,g]=(I=a==null?void 0:a.exportData())!=null?I:[],f=(A=(u=a==null?void 0:a.exportCustomData)==null?void 0:u.call(a))!=null?A:{},v=data.composeResultWithBasicImgInfo(c,d),E=data.composeResult(v,{step:i,stepList:l},{rect:N},f),S=e.imgList.map((C,m)=>{if(m===o){const R=AnnotationDataUtils.dataCorrection(E,c,i,l);return __spreadValues(__spreadProps(__spreadValues({},C),{result:R}),g)}return C});if(((p=t.payload)==null?void 0:p.submitType)===index.ESubmitType.SyncImgList)return __spreadProps(__spreadValues({},e),{imgList:S});r&&r([S[o]],(O=t.payload)==null?void 0:O.submitType,o,S);const D=calcStepProgress(S,i);return __spreadProps(__spreadValues({},e),{stepProgress:D,imgList:S})}case Actions.ANNOTATION_ACTIONS.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:i}=e;return i==null||i(n[o],o,n),__spreadValues({},e)}case Actions.ANNOTATION_ACTIONS.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:i,toolInstance:l,basicResultList:a}=e;if(!l)return e;const[r]=(T=l==null?void 0:l.exportData())!=null?T:[];let N=r;if((a==null?void 0:a.length)>0){const c=(L=a[o])==null?void 0:L.id,d=r.map(g=>__spreadProps(__spreadValues({},g),{sourceID:c}));N=___default.default.cloneDeep(i).filter(g=>g.sourceID!==c),N.push(...d)}return __spreadProps(__spreadValues({},e),{resultList:N,imgList:n})}case Actions.ANNOTATION_ACTIONS.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:i,imgIndex:l,stepList:a,annotationEngine:r,resultList:N,basicResultList:c}=e;if(!n||!r)return e;const d=t.payload.basicIndex,g=(b=c[d])==null?void 0:b.id,f=index$1.jsonParser((h=i[l])==null?void 0:h.result),v=(N||[]).filter(R=>R.sourceID===g),E=getStepConfig(a,o),{dataSourceStep:S,tool:D}=E,C=getStepConfig(a,S);let m=[];return S&&D&&(m=(U=f[`step_${S}`])==null?void 0:U.result,(m==null?void 0:m.length)>0?(r==null||r.setBasicInfo(C.tool,m[d]),r==null||r.launchOperation()):(r==null||r.setBasicInfo(C.tool),r==null||r.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),n==null||n.setResult(v),n==null||n.history.initRecord(v,!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:i,annotationEngine:l,stepList:a}=e;if(!i)return __spreadProps(__spreadValues({},e),{imgIndex:t.payload.nextIndex});const r=StepUtils.getCurrentStepInfo(o,a),{nextIndex:N,imgNode:c,nextBasicIndex:d,imgError:g}=t.payload,f=d!=null?d:0,v=index$1.jsonParser((x=n[N])==null?void 0:x.result),E=v[`step_${r.step}`],S=!E,D={rotate:(B=v.rotate)!=null?B:0,valid:(w=v.valid)!=null?w:!0};c&&g!==!0?l==null||l.setImgNode(c,D):i==null||i.setValid(D.valid);const C=getStepConfig(a,r.step),{dataSourceStep:m,tool:R}=C,H=getStepConfig(a,m),$=m&&R,y=(F=(P=v[`step_${m}`])==null?void 0:P.result)!=null?F:[],j=AnnotationDataUtils.getInitialResultList(E==null?void 0:E.result,i,C,y,S);if(l==null||l.launchOperation(),$&&((y==null?void 0:y.length)>0?l==null||l.setBasicInfo(H.tool,y[f]):(l==null||l.setBasicInfo(H.tool),l==null||l.forbidOperation(),es.message.info(lbUtils.i18n.t("NoDependency")))),r.tool!=="check"){const K=(G=(q=y[f])==null?void 0:q.id)!=null?G:"",W=$?j.filter(X=>lbAnnotation.CommonToolUtils.isSameSourceID(X.sourceID,K)):j;i==null||i.history.initRecord(j,!0),i==null||i.setResult(W)}return __spreadProps(__spreadValues({},e),{imgIndex:N,basicIndex:f,basicResultList:y,resultList:j})}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG:return __spreadProps(__spreadValues({},e),{config:(V=t.payload.config)!=null?V:"{}"});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:i,annotationEngine:l}=o;return __spreadProps(__spreadValues({},e),{toolInstance:i,annotationEngine:l})}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.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.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:i}=e,l=[...i];return l[o]=__spreadValues(__spreadValues({},l[o]),n),__spreadProps(__spreadValues({},e),{imgList:l})}case Actions.ANNOTATION_ACTIONS.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||n==null||n.updateRotate(),e}case Actions.ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(M=n==null?void 0:n.valid)!=null?M:!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:i,step:l}=e;if(!n)return e;if(o===0||o>=i.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const a=i[o-1].result;if(!a)return e;const r=AnnotationDataUtils.copyResultChange(a,l,(z=i[o].result)!=null?z:"");i[o]=__spreadProps(__spreadValues({},i[o]),{result:r});const c=index$1.jsonParser(r)[`step_${l}`],d=(c==null?void 0:c.result)||[];return n==null||n.setResult(d),n==null||n.history.pushHistory(d),__spreadProps(__spreadValues({},e),{imgList:[...i]})}case Actions.ANNOTATION_ACTIONS.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:i}=t.payload;if(!o)return e;const l=getStepConfig(n,i);return o==null||o.setToolName(l.tool,l.config),__spreadProps(__spreadValues({},e),{step:i,toolInstance:o==null?void 0:o.toolInstance})}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.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:i,imgList:l}=t.payload,{imgIndex:a,onSubmit:r}=e,N=[],c=l.map((d,g)=>{if(lbAnnotation.MathUtils.isInRange(g,i)){const f=__spreadProps(__spreadValues({},d),{result:lbUtils.PointCloudUtils.batchUpdateTrackID({id:n,newID:o,result:d.result})});return N.push({imgIndex:g,newInfo:f}),f}return d});return r&&r([c[a]],index.ESubmitType.BatchUpdateTrackID,a,c,{updateImgList:N}),__spreadProps(__spreadValues({},e),{imgList:c})}case Actions.ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:n,newData:o,rangeIndex:i}=t.payload,{imgList:l,imgIndex:a,onSubmit:r}=e,N=[],c=l.map((d,g)=>{if(lbAnnotation.MathUtils.isInRange(g,i)){const f=__spreadProps(__spreadValues({},d),{result:lbUtils.PointCloudUtils.batchUpdateResultByTrackID({id:n,newData:o,result:d.result})});return N.push({imgIndex:g,newInfo:f}),f}return d});return r&&r([c[a]],index.ESubmitType.BatchUpdateTrackID,a,c,{updateImgList:N}),__spreadProps(__spreadValues({},e),{imgList:c})}default:return e}};exports.LoadFileAndFileData=LoadFileAndFileData,exports.annotationReducer=annotationReducer,exports.composeResultByToolInstance=composeResultByToolInstance,exports.getStepConfig=getStepConfig,exports.getTotalPage=getTotalPage;
@@ -5,6 +5,8 @@ interface IProps {
5
5
  width: number;
6
6
  height: number;
7
7
  };
8
+ backgroundColor?: string;
9
+ isOrthographicCamera?: boolean;
8
10
  }
9
11
  declare const PointCloudAnnotationView: (props: IProps) => JSX.Element;
10
12
  export default PointCloudAnnotationView;
@@ -22,12 +22,13 @@ export interface IPointCloudContext extends IPointCloudContextInstances {
22
22
  addSelectedID: (selectedID: string) => void;
23
23
  selectedAllBoxes: () => void;
24
24
  selectedID: string;
25
- addPointCloudBox: (boxParams: IPointCloudBox) => void;
25
+ addPointCloudBox: (boxParams: IPointCloudBox) => IPointCloudBox[];
26
26
  polygonList: IPolygonData[];
27
27
  setPolygonList: (polygonList: IPolygonData[]) => void;
28
28
  zoom: number;
29
29
  setZoom: (zoom: number) => void;
30
30
  history: ActionsHistory;
31
+ syncAllViewPointCloudColor: (newPointCloudList?: IPointCloudBox[]) => void;
31
32
  }
32
33
  export declare const PointCloudContext: React.Context<IPointCloudContext>;
33
34
  export declare const PointCloudProvider: React.FC<{}>;
@@ -1,6 +1,9 @@
1
1
  import React from 'react';
2
2
  import { IA2MapStateProps } from '@/store/annotation/map';
3
- declare const _default: import("react-redux").ConnectedComponent<React.FC<IA2MapStateProps>, import("react-redux").Omit<IA2MapStateProps & {
3
+ interface IProps extends IA2MapStateProps {
4
+ checkMode?: boolean;
5
+ }
6
+ declare const _default: import("react-redux").ConnectedComponent<React.FC<IProps>, import("react-redux").Omit<IProps & {
4
7
  children?: React.ReactNode;
5
8
  }, "imgList" | "config" | "currentData" | "stepInfo">>;
6
9
  export default _default;
@@ -51,17 +51,18 @@ export declare const usePointCloudViews: () => {
51
51
  initPointCloud3d?: undefined;
52
52
  updatePointCloudData?: undefined;
53
53
  } | {
54
- topViewAddBox: ({ newPolygon, size, imgList, trackConfigurable, }: {
54
+ topViewAddBox: ({ newPolygon, size, imgList, trackConfigurable, zoom, }: {
55
55
  newPolygon: any;
56
56
  size: ISize;
57
57
  imgList: IFileItem[];
58
58
  trackConfigurable?: boolean | undefined;
59
+ zoom: number;
59
60
  }) => void;
60
- topViewSelectedChanged: () => void;
61
+ topViewSelectedChanged: (newSelectedBox?: IPointCloudBox, newPointCloudList?: IPointCloudBox[]) => void;
61
62
  topViewUpdateBox: (polygon: IPolygonData, size: ISize) => void;
62
63
  sideViewUpdateBox: (newPolygon: any, originPolygon: any) => void;
63
64
  backViewUpdateBox: (newPolygon: any, originPolygon: any) => void;
64
65
  pointCloudBoxListUpdated: (newBoxes: IPointCloudBox[]) => void;
65
- initPointCloud3d: () => void;
66
+ initPointCloud3d: (size: ISize) => void;
66
67
  updatePointCloudData: () => Promise<void>;
67
68
  };
@@ -7,4 +7,6 @@ export declare const usePolygon: () => {
7
7
  addPolygon: (polygon: IPolygonData) => void;
8
8
  deletePolygon: (id: string) => void;
9
9
  selectedPolygon: IPolygonData | undefined;
10
+ updateSelectedPolygon: (polygon: IPolygonData) => void;
11
+ updatePolygonValidByID: (id: string) => void;
10
12
  };
@@ -5,9 +5,9 @@ export declare const useSingleBox: () => {
5
5
  info: IPointCloudBox;
6
6
  index: number;
7
7
  } | undefined;
8
- updateSelectedBox: (params: Partial<IPointCloudBox>) => void;
8
+ updateSelectedBox: (params: Partial<IPointCloudBox>) => import("@labelbee/lb-utils").IPointCloudBoxList;
9
9
  changeSelectedBoxValid: () => void;
10
- changeBoxValidByID: (id: string) => void;
10
+ changeValidByID: (id: string) => import("@labelbee/lb-utils").IPointCloudBoxList | undefined;
11
11
  selectNextBox: (sort?: any) => void;
12
12
  selectPrevBox: () => void;
13
13
  deletePointCloudBox: (id: string) => void;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),reactRedux=require("react-redux"),es=require("antd/es"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PageNumber=e=>{var r;const{toolInstance:t}=e,[c,a]=React.useState(0),{t:u}=reactI18next.useTranslation();if(React.useEffect(()=>{t&&t.singleOn("updatePageNumber",()=>{a(l=>l+1)})},[t]),!t)return null;const n=(r=t==null?void 0:t.currentPageResult)==null?void 0:r.length;return n>=0?React__default.default.createElement("span",null,`${u("ItemsOfThisPage")}: ${n}`,React__default.default.createElement(es.Divider,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}})):null},mapStateToProps=e=>{var r;return{toolInstance:(r=e.annotation)==null?void 0:r.toolInstance}};var PageNumber$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PageNumber);module.exports=PageNumber$1;
1
+ "use strict";var React=require("react"),reactRedux=require("react-redux"),es=require("antd/es"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PageNumber=e=>{var n,r;const{toolInstance:t}=e,[i,a]=React.useState(0),{pointCloudBoxList:u}=React.useContext(PointCloudContext.PointCloudContext),{t:l}=reactI18next.useTranslation();if(React.useEffect(()=>{t&&t.singleOn("updatePageNumber",()=>{a(c=>c+1)})},[t]),!t)return null;const o=(r=(n=t==null?void 0:t.currentPageResult)==null?void 0:n.length)!=null?r:u.length;return o>=0?React__default.default.createElement("span",null,`${l("ItemsOfThisPage")}: ${o}`,React__default.default.createElement(es.Divider,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}})):null},mapStateToProps=e=>{var n;return{toolInstance:(n=e.annotation)==null?void 0:n.toolInstance}};var PageNumber$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PageNumber);module.exports=PageNumber$1;
@@ -1 +1 @@
1
- import{PointCloud as f}from"@labelbee/lb-annotation";import{PointCloudUtils as u}from"@labelbee/lb-utils";import v,{useRef as d,useCallback as P,useEffect as a}from"react";const x=m=>{const{src:l,result:o,size:i}=m;let c=d();const e=d(),b=P(r=>{c.current=r},[]);return a(()=>{const r=new f({container:c.current,backgroundColor:"#ccc"});return e.current=r,()=>{var t;(t=e.current.renderer)==null||t.forceContextLoss()}},[]),a(()=>{var r;(r=e.current)==null||r.init()},[i]),a(()=>{var r;e.current&&l&&((r=e.current)==null||r.loadPCDFile(l))},[l]),a(()=>(o&&u.getBoxParamsFromResultList(o).forEach(t=>{var n;(n=e.current)==null||n.generateBox(t,t.id)}),()=>{var r;u.getBoxParamsFromResultList(o).forEach(n=>{var s;(s=e.current)==null||s.removeObjectByName(n.id)}),(r=e.current)==null||r.render()}),[o]),v.createElement("div",{style:i,ref:b})};export{x as default};
1
+ import{PointCloud as g}from"@labelbee/lb-annotation";import{PointCloudUtils as m}from"@labelbee/lb-utils";import p,{useRef as f,useCallback as P,useEffect as l}from"react";function b(a){return{left:-a.width/2,right:a.width/2,top:a.height/2,bottom:-a.height/2,near:100,far:-100}}const C=a=>{const{src:c,result:n,size:i,isOrthographicCamera:u=!1,backgroundColor:h="#ccc"}=a;let s=f();const t=f(),v=P(r=>{s.current=r},[]);return l(()=>{let r={container:s.current,backgroundColor:h,isOrthographicCamera:u};u&&Object.assign(r,{orthographicParams:b(i)});const o=new g(r);return t.current=o,()=>{var e;(e=t.current.renderer)==null||e.forceContextLoss()}},[]),l(()=>{var r,o,e;t.current&&((r=t.current)==null||r.init(),(o=t.current)==null||o.initOrthographicCamera(b(i)),(e=t.current)==null||e.render())},[i]),l(()=>{var r;t.current&&c&&((r=t.current)==null||r.loadPCDFile(c))},[c]),l(()=>(n&&m.getBoxParamsFromResultList(n).forEach(o=>{var e;(e=t.current)==null||e.generateBox(o,o.id)}),()=>{var r;m.getBoxParamsFromResultList(n).forEach(e=>{var d;(d=t.current)==null||d.removeObjectByName(e.id)}),(r=t.current)==null||r.render()}),[n]),p.createElement("div",{style:i,ref:v})};export{C as default};
@@ -1 +1 @@
1
- {"version":3,"file":"pointCloudAnnotationView.js","sources":["../../../src/components/AnnotationView/pointCloudAnnotationView.tsx"],"sourcesContent":["/*\n * @Author: Laoluo luozefeng@sensetime.com\n * @Date: 2022-06-13 19:31:36\n * @LastEditors: Laoluo luozefeng@sensetime.com\n * @LastEditTime: 2022-06-27 19:43:25\n */\n\nimport { PointCloud } from '@labelbee/lb-annotation';\nimport { IPointCloudBox, PointCloudUtils } from '@labelbee/lb-utils';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\ninterface IProps {\n src: string; // 图片路径\n result: string;\n size: {\n width: number;\n height: number;\n };\n}\n\nconst PointCloudAnnotationView = (props: IProps) => {\n const { src, result, size } = props;\n let viewOperation = useRef<any>();\n const instance = useRef<any>();\n\n const refCallback = useCallback((node) => {\n viewOperation.current = node;\n }, []);\n\n useEffect(() => {\n const pointCloud = new PointCloud({\n container: viewOperation.current,\n backgroundColor: '#ccc',\n });\n instance.current = pointCloud;\n return () => {\n instance.current.renderer?.forceContextLoss();\n };\n }, []);\n\n useEffect(() => {\n instance.current?.init();\n }, [size]);\n\n useEffect(() => {\n if (instance.current && src) {\n instance.current?.loadPCDFile(src);\n }\n }, [src]);\n\n useEffect(() => {\n if (result) {\n const boxParamsList = PointCloudUtils.getBoxParamsFromResultList(result);\n\n // Add Init Box\n boxParamsList.forEach((v: IPointCloudBox) => {\n instance.current?.generateBox(v, v.id);\n });\n }\n return () => {\n const boxParamsList = PointCloudUtils.getBoxParamsFromResultList(result);\n boxParamsList.forEach((v: IPointCloudBox) => {\n instance.current?.removeObjectByName(v.id);\n });\n instance.current?.render();\n };\n }, [result]);\n\n return <div style={size} ref={refCallback} />;\n};\n\nexport default PointCloudAnnotationView;\n"],"names":[],"mappings":";;;;AAoBM,MAAA,wBAAA,GAA2B,CAAC,KAAkB,KAAA;AAClD,EAAM,MAAA,CAAE,GAAK,EAAA,MAAA,EAAQ,IAAS,CAAA,GAAA,KAAA,CAAA;AAC9B,EAAA,IAAI,aAAgB,GAAA,MAAA,EAAA,CAAA;AACpB,EAAA,MAAM,QAAW,GAAA,MAAA,EAAA,CAAA;AAEjB,EAAM,MAAA,WAAA,GAAc,WAAY,CAAA,CAAC,IAAS,KAAA;AACxC,IAAA,aAAA,CAAc,OAAU,GAAA,IAAA,CAAA;AAAA,GACvB,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AACd,IAAM,MAAA,UAAA,GAAa,IAAI,UAAW,CAAA;AAAA,MAChC,WAAW,aAAc,CAAA,OAAA;AAAA,MACzB,eAAiB,EAAA,MAAA;AAAA,KAAA,CAAA,CAAA;AAEnB,IAAA,QAAA,CAAS,OAAU,GAAA,UAAA,CAAA;AACnB,IAAA,OAAO,MAAM;AAnCjB,MAAA,IAAA,EAAA,CAAA;AAoCM,MAAS,CAAA,EAAA,GAAA,QAAA,CAAA,OAAA,CAAQ,aAAjB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAE5B,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AAxClB,IAAA,IAAA,EAAA,CAAA;AAyCI,IAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AAAA,GAAA,EACjB,CAAC,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AA5ClB,IAAA,IAAA,EAAA,CAAA;AA6CI,IAAI,IAAA,QAAA,CAAS,WAAW,GAAK,EAAA;AAC3B,MAAS,CAAA,EAAA,GAAA,QAAA,CAAA,OAAA,KAAT,mBAAkB,WAAY,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAE/B,CAAC,GAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAQ,EAAA;AACV,MAAM,MAAA,aAAA,GAAgB,gBAAgB,0BAA2B,CAAA,MAAA,CAAA,CAAA;AAGjE,MAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAsB,KAAA;AAvDnD,QAAA,IAAA,EAAA,CAAA;AAwDQ,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,WAAY,CAAA,CAAA,EAAG,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAGvC,IAAA,OAAO,MAAM;AA3DjB,MAAA,IAAA,EAAA,CAAA;AA4DM,MAAM,MAAA,aAAA,GAAgB,gBAAgB,0BAA2B,CAAA,MAAA,CAAA,CAAA;AACjE,MAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAsB,KAAA;AA7DnD,QAAA,IAAA,GAAA,CAAA;AA8DQ,QAAS,CAAA,GAAA,GAAA,QAAA,CAAA,OAAA,KAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,kBAAA,CAAmB,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAEzC,MAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAEnB,CAAC,MAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,2CAAQ,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,IAAA;AAAA,IAAM,GAAK,EAAA,WAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"pointCloudAnnotationView.js","sources":["../../../src/components/AnnotationView/pointCloudAnnotationView.tsx"],"sourcesContent":["/*\n * @Author: Laoluo luozefeng@sensetime.com\n * @Date: 2022-06-13 19:31:36\n * @LastEditors: Laoluo luozefeng@sensetime.com\n * @LastEditTime: 2022-06-27 19:43:25\n */\n\nimport { PointCloud } from '@labelbee/lb-annotation';\nimport { IPointCloudBox, PointCloudUtils } from '@labelbee/lb-utils';\nimport React, { useCallback, useEffect, useRef } from 'react';\n\ninterface IProps {\n src: string; // 图片路径\n result: string;\n size: {\n width: number;\n height: number;\n };\n backgroundColor?: string;\n\n // Camera Update\n isOrthographicCamera?: boolean;\n}\n\nfunction getDefaultOrthographicParams(size: { width: number; height: number }) {\n return {\n left: -size.width / 2,\n right: size.width / 2,\n top: size.height / 2,\n bottom: -size.height / 2,\n near: 100,\n far: -100,\n };\n}\n\nconst PointCloudAnnotationView = (props: IProps) => {\n const { src, result, size, isOrthographicCamera = false, backgroundColor = '#ccc' } = props;\n let viewOperation = useRef<any>();\n const instance = useRef<any>();\n\n const refCallback = useCallback((node) => {\n viewOperation.current = node;\n }, []);\n\n useEffect(() => {\n let pointCloudProps = {\n container: viewOperation.current,\n backgroundColor,\n isOrthographicCamera,\n };\n\n /**\n * Orthographic Camera Params.\n * */\n if (isOrthographicCamera) {\n Object.assign(pointCloudProps, {\n orthographicParams: getDefaultOrthographicParams(size),\n });\n }\n\n const pointCloud = new PointCloud(pointCloudProps);\n instance.current = pointCloud;\n return () => {\n instance.current.renderer?.forceContextLoss();\n };\n }, []);\n\n useEffect(() => {\n // PointCloud camera init.\n\n if (instance.current) {\n // Init the camera\n instance.current?.init();\n\n // Update range of orthographicCamera.\n instance.current?.initOrthographicCamera(getDefaultOrthographicParams(size));\n instance.current?.render();\n }\n }, [size]);\n\n useEffect(() => {\n if (instance.current && src) {\n instance.current?.loadPCDFile(src);\n }\n }, [src]);\n\n useEffect(() => {\n if (result) {\n const boxParamsList = PointCloudUtils.getBoxParamsFromResultList(result);\n\n // Add Init Box\n boxParamsList.forEach((v: IPointCloudBox) => {\n instance.current?.generateBox(v, v.id);\n });\n }\n return () => {\n const boxParamsList = PointCloudUtils.getBoxParamsFromResultList(result);\n boxParamsList.forEach((v: IPointCloudBox) => {\n instance.current?.removeObjectByName(v.id);\n });\n instance.current?.render();\n };\n }, [result]);\n\n return <div style={size} ref={refCallback} />;\n};\n\nexport default PointCloudAnnotationView;\n"],"names":[],"mappings":";;;;AAwBA,SAAA,4BAAA,CAAsC,IAAyC,EAAA;AAC7E,EAAO,OAAA;AAAA,IACL,IAAA,EAAM,CAAC,IAAA,CAAK,KAAQ,GAAA,CAAA;AAAA,IACpB,KAAA,EAAO,KAAK,KAAQ,GAAA,CAAA;AAAA,IACpB,GAAA,EAAK,KAAK,MAAS,GAAA,CAAA;AAAA,IACnB,MAAA,EAAQ,CAAC,IAAA,CAAK,MAAS,GAAA,CAAA;AAAA,IACvB,IAAM,EAAA,GAAA;AAAA,IACN,GAAK,EAAA,CAAA,GAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIH,MAAA,wBAAA,GAA2B,CAAC,KAAkB,KAAA;AAClD,EAAA,MAAM,CAAE,GAAK,EAAA,MAAA,EAAQ,MAAM,oBAAuB,GAAA,KAAA,EAAO,kBAAkB,MAAW,CAAA,GAAA,KAAA,CAAA;AACtF,EAAA,IAAI,aAAgB,GAAA,MAAA,EAAA,CAAA;AACpB,EAAA,MAAM,QAAW,GAAA,MAAA,EAAA,CAAA;AAEjB,EAAM,MAAA,WAAA,GAAc,WAAY,CAAA,CAAC,IAAS,KAAA;AACxC,IAAA,aAAA,CAAc,OAAU,GAAA,IAAA,CAAA;AAAA,GACvB,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,eAAkB,GAAA;AAAA,MACpB,WAAW,aAAc,CAAA,OAAA;AAAA,MACzB,eAAA;AAAA,MACA,oBAAA;AAAA,KAAA,CAAA;AAMF,IAAA,IAAI,oBAAsB,EAAA;AACxB,MAAA,MAAA,CAAO,OAAO,eAAiB,EAAA;AAAA,QAC7B,oBAAoB,4BAA6B,CAAA,IAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAIrD,IAAM,MAAA,UAAA,GAAa,IAAI,UAAW,CAAA,eAAA,CAAA,CAAA;AAClC,IAAA,QAAA,CAAS,OAAU,GAAA,UAAA,CAAA;AACnB,IAAA,OAAO,MAAM;AA9DjB,MAAA,IAAA,EAAA,CAAA;AA+DM,MAAS,CAAA,EAAA,GAAA,QAAA,CAAA,OAAA,CAAQ,aAAjB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAE5B,EAAA,EAAA,CAAA,CAAA;AAEH,EAAA,SAAA,CAAU,MAAM;AAnElB,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAsEI,IAAA,IAAI,SAAS,OAAS,EAAA;AAEpB,MAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,EAAA,CAAA;AAGlB,MAAS,CAAA,EAAA,GAAA,QAAA,CAAA,OAAA,KAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,sBAAA,CAAuB,4BAA6B,CAAA,IAAA,CAAA,CAAA,CAAA;AACtE,MAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAEnB,CAAC,IAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AAhFlB,IAAA,IAAA,EAAA,CAAA;AAiFI,IAAI,IAAA,QAAA,CAAS,WAAW,GAAK,EAAA;AAC3B,MAAS,CAAA,EAAA,GAAA,QAAA,CAAA,OAAA,KAAT,mBAAkB,WAAY,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAE/B,CAAC,GAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,MAAQ,EAAA;AACV,MAAM,MAAA,aAAA,GAAgB,gBAAgB,0BAA2B,CAAA,MAAA,CAAA,CAAA;AAGjE,MAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAsB,KAAA;AA3FnD,QAAA,IAAA,EAAA,CAAA;AA4FQ,QAAA,CAAA,EAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,WAAY,CAAA,CAAA,EAAG,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAGvC,IAAA,OAAO,MAAM;AA/FjB,MAAA,IAAA,EAAA,CAAA;AAgGM,MAAM,MAAA,aAAA,GAAgB,gBAAgB,0BAA2B,CAAA,MAAA,CAAA,CAAA;AACjE,MAAc,aAAA,CAAA,OAAA,CAAQ,CAAC,CAAsB,KAAA;AAjGnD,QAAA,IAAA,GAAA,CAAA;AAkGQ,QAAS,CAAA,GAAA,GAAA,QAAA,CAAA,OAAA,KAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,kBAAA,CAAmB,CAAE,CAAA,EAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAEzC,MAAA,CAAA,EAAA,GAAA,QAAA,CAAS,YAAT,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAEnB,CAAC,MAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,2CAAQ,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,IAAA;AAAA,IAAM,GAAK,EAAA,WAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import{getClassName as c}from"../../utils/dom.js";import{PointCloud as D}from"@labelbee/lb-annotation";import{PointCloudUtils as I,toolStyleConverter as L,EPerspectiveView as E}from"@labelbee/lb-utils";import y from"classnames";import t,{useContext as d,useState as T,useRef as N,useEffect as v,useMemo as R}from"react";import{PointCloudContainer as k}from"./PointCloudLayout.js";import{PointCloudContext as A}from"./PointCloudContext.js";import{a2MapStateToProps as z}from"../../store/annotation/map.js";import{connect as F}from"react-redux";import{jsonParser as M}from"../../utils/index.js";import{useSingleBox as U}from"./hooks/useSingleBox.js";import{Switch as q}from"antd";import G from"../../hooks/useSize.js";import{usePointCloudViews as H}from"./hooks/usePointCloudViews.js";import{useTranslation as J}from"react-i18next";import{LabelBeeContext as K}from"../../store/ctx.js";var Q=Object.defineProperty,W=Object.defineProperties,X=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,_=(e,o,r)=>o in e?Q(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,$=(e,o)=>{for(var r in o||(o={}))Y.call(o,r)&&_(e,r,o[r]);if(x)for(var r of x(o))Z.call(o,r)&&_(e,r,o[r]);return e},ee=(e,o)=>W(e,X(o));const te="LABELBEE-POINTCLOUD",f=t.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{}}),l=({perspectiveView:e})=>{const{isActive:o,setTarget3DView:r}=d(f),n=p=>y({[c("point-cloud-3d-view",p)]:!0,active:o});return t.createElement("span",{onClick:()=>{r(E[e])},className:n(e.toLocaleLowerCase())})},oe=()=>{const{reset3DView:e}=d(f);return t.createElement("div",{className:c("point-cloud-3d-sidebar")},t.createElement(l,{perspectiveView:"Top"}),t.createElement(l,{perspectiveView:"Front"}),t.createElement(l,{perspectiveView:"Left"}),t.createElement(l,{perspectiveView:"Back"}),t.createElement(l,{perspectiveView:"Right"}),t.createElement(l,{perspectiveView:"LFT"}),t.createElement(l,{perspectiveView:"RBT"}),t.createElement("span",{onClick:()=>{e()},className:c("point-cloud-3d-view","reset")}))},re=({currentData:e,config:o})=>{var r;const n=d(A),[p,b]=T(!0),u=N(null),{initPointCloud3d:C}=H(),h=G(u),{t:w}=J();v(()=>{!n.mainViewInstance||C==null||C()},[h]);const{selectedBox:a}=U(),P=s=>{var i;const m=a==null?void 0:a.info;m&&((i=n.mainViewInstance)==null||i.updateCameraByBox(m,s))},j=()=>{var s;(s=n.mainViewInstance)==null||s.resetCamera()};v(()=>{var s;if(u.current&&(e==null?void 0:e.url)){let i=n.mainViewInstance;if(i||(i=new D({container:u.current,backgroundColor:"#4c4c4c",config:o})),e.result){const m=I.getBoxParamsFromResultList(e.result);m.forEach(g=>{var V;const B=(V=L.getColorFromConfig({attribute:g.attribute},ee($({},o),{attributeConfigurable:!0}),{}))==null?void 0:V.hex;i==null||i.generateBox(g,B)}),n.setPointCloudResult(m),n.setPointCloudValid((s=M(e.result))==null?void 0:s.valid)}n.setMainViewInstance(i)}},[e]),v(()=>{a&&P(E.Top)},[a]);const O=R(()=>({reset3DView:j,setTarget3DView:P,isActive:!!a}),[a]),S=t.createElement("div",null,t.createElement("span",{style:{marginRight:8}},w("ShowArrows")),t.createElement(q,{size:"small",checked:p,onChange:s=>{var i;b(s),(i=n.mainViewInstance)==null||i.setShowDirection(s)}}));return t.createElement(k,{className:c("point-cloud-3d-container"),title:w("3DView"),toolbar:S,style:{height:e.mappingImgList&&((r=e.mappingImgList)==null?void 0:r.length)>0?"55%":"100%"}},t.createElement("div",{className:c("point-cloud-3d-content")},t.createElement(f.Provider,{value:O},t.createElement(oe,null)),t.createElement("div",{className:c("point-cloud-3d-view"),id:te,ref:u})))};var ie=F(z,null,null,{context:K})(re);export{ie as default};
1
+ import{getClassName as u}from"../../utils/dom.js";import{PointCloud as D}from"@labelbee/lb-annotation";import{PointCloudUtils as I,toolStyleConverter as L,EPerspectiveView as E}from"@labelbee/lb-utils";import y from"classnames";import t,{useContext as v,useState as T,useRef as N,useEffect as f,useMemo as R}from"react";import{PointCloudContainer as k}from"./PointCloudLayout.js";import{PointCloudContext as A}from"./PointCloudContext.js";import{a2MapStateToProps as z}from"../../store/annotation/map.js";import{connect as F}from"react-redux";import{jsonParser as M}from"../../utils/index.js";import{useSingleBox as U}from"./hooks/useSingleBox.js";import{Switch as q}from"antd";import G from"../../hooks/useSize.js";import{usePointCloudViews as H}from"./hooks/usePointCloudViews.js";import{useTranslation as J}from"react-i18next";import{LabelBeeContext as K}from"../../store/ctx.js";var Q=Object.defineProperty,W=Object.defineProperties,X=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,_=(e,o,r)=>o in e?Q(e,o,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[o]=r,$=(e,o)=>{for(var r in o||(o={}))Y.call(o,r)&&_(e,r,o[r]);if(x)for(var r of x(o))Z.call(o,r)&&_(e,r,o[r]);return e},ee=(e,o)=>W(e,X(o));const te="LABELBEE-POINTCLOUD",w=t.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{}}),c=({perspectiveView:e})=>{const{isActive:o,setTarget3DView:r}=v(w),n=d=>y({[u("point-cloud-3d-view",d)]:!0,active:o});return t.createElement("span",{onClick:()=>{r(E[e])},className:n(e.toLocaleLowerCase())})},oe=()=>{const{reset3DView:e}=v(w);return t.createElement("div",{className:u("point-cloud-3d-sidebar")},t.createElement(c,{perspectiveView:"Top"}),t.createElement(c,{perspectiveView:"Front"}),t.createElement(c,{perspectiveView:"Left"}),t.createElement(c,{perspectiveView:"Back"}),t.createElement(c,{perspectiveView:"Right"}),t.createElement(c,{perspectiveView:"LFT"}),t.createElement(c,{perspectiveView:"RBT"}),t.createElement("span",{onClick:()=>{e()},className:u("point-cloud-3d-view","reset")}))},re=({currentData:e,config:o})=>{var r;const n=v(A),[d,b]=T(!0),p=N(null),{initPointCloud3d:C}=H(),a=G(p),{t:P}=J();f(()=>{!n.mainViewInstance||C==null||C(a)},[a]);const{selectedBox:m}=U(),g=s=>{var i;const l=m==null?void 0:m.info;l&&((i=n.mainViewInstance)==null||i.updateCameraByBox(l,s))},O=()=>{var s;(s=n.mainViewInstance)==null||s.resetCamera()};f(()=>{var s;if(p.current&&(e==null?void 0:e.url)){let i=n.mainViewInstance;if(!i&&a.width){const l={left:-a.width/2,right:a.width/2,top:a.height/2,bottom:-a.height/2,near:100,far:-100};i=new D({container:p.current,isOrthographicCamera:!0,orthographicParams:l}),n.setMainViewInstance(i)}if(e.result){const l=I.getBoxParamsFromResultList(e.result);l.forEach(h=>{var V;const B=(V=L.getColorFromConfig({attribute:h.attribute},ee($({},o),{attributeConfigurable:!0}),{}))==null?void 0:V.hex;i==null||i.generateBox(h,B)}),n.setPointCloudResult(l),n.setPointCloudValid((s=M(e.result))==null?void 0:s.valid)}}},[e,a]),f(()=>{m&&g(E.Top)},[m]);const j=R(()=>({reset3DView:O,setTarget3DView:g,isActive:!!m}),[m]),S=t.createElement("div",null,t.createElement("span",{style:{marginRight:8}},P("ShowArrows")),t.createElement(q,{size:"small",checked:d,onChange:s=>{var i;b(s),(i=n.mainViewInstance)==null||i.setShowDirection(s)}}));return t.createElement(k,{className:u("point-cloud-3d-container"),title:P("3DView"),toolbar:S,style:{height:e.mappingImgList&&((r=e.mappingImgList)==null?void 0:r.length)>0?"55%":"100%"}},t.createElement("div",{className:u("point-cloud-3d-content")},t.createElement(w.Provider,{value:j},t.createElement(oe,null)),t.createElement("div",{className:u("point-cloud-3d-view"),id:te,ref:p})))};var ie=F(z,null,null,{context:K})(re);export{ie as default};