@labelbee/lb-components 1.24.0-alpha.18 → 1.24.0-alpha.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var React=require("react"),reResizable=require("re-resizable"),useDrag=require("./hooks/useDrag.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r,t)=>r in e?__defProp(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,__spreadValues=(e,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(e,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(e,t,r[t]);return e};const DynamicResizer=({direction:e="vertical",children:r,defaultWidth:t,defaultHeight:l,minTopHeight:s,minBottomHeight:o,minLeftWidth:i,minRightWidth:n,localKey:c,enableEdges:u=["right","bottom"],onResizeStart:f,onResize:m,onResizeStop:p})=>{const a=React.useRef(null),d=useDrag({direction:e,containerRef:a,defaultHeight:l,defaultWidth:t,minTopHeight:s,minBottomHeight:o,minLeftWidth:i,minRightWidth:n,localKey:c,enableEdges:u,onResizeStart:f,onResize:m,onResizeStop:p});return React__default.default.createElement("div",{className:`dynamic-resizer-content ${e}`,ref:a},React__default.default.createElement(reResizable.Resizable,__spreadValues({},d),React__default.default.createElement("div",{className:"resizable-child"},r[0])),React__default.default.createElement("div",{className:"resizable-child-two"},r[1]))};module.exports=DynamicResizer;
1
+ "use strict";var React=require("react"),reResizable=require("re-resizable"),useDrag=require("./hooks/useDrag.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r,t)=>r in e?__defProp(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,__spreadValues=(e,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(e,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(e,t,r[t]);return e};const DynamicResizer=({direction:e="vertical",children:r,defaultWidth:t,defaultHeight:s,minTopHeight:o,minBottomHeight:n,minLeftWidth:i,minRightWidth:c,localKey:u,enableEdges:f=["right","bottom"],disabled:d=!1,onResizeStart:p,onResize:m,onResizeStop:y})=>{const l=React.useRef(null),v=useDrag({direction:e,containerRef:l,defaultHeight:s,defaultWidth:t,minTopHeight:o,minBottomHeight:n,minLeftWidth:i,minRightWidth:c,localKey:u,enableEdges:f,onResizeStart:p,onResize:m,onResizeStop:y}),a=d?{display:"contents"}:void 0;return React__default.default.createElement("div",{style:a,className:`dynamic-resizer-content ${e}`,ref:l},React__default.default.createElement(reResizable.Resizable,__spreadValues({style:a},v),React__default.default.createElement("div",{style:a,className:"resizable-child"},r[0])),React__default.default.createElement("div",{style:a,className:"resizable-child-two"},r[1]))};module.exports=DynamicResizer;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js"),_2DViewWorker=require("../../_virtual/2DViewWorker.js"),ahooks=require("ahooks");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:g,data:o,setIsEnlarge:u,setCurIndex:s,curIndex:c=0,index:f,annotations2d:d})=>g?React__default.default.createElement(index,{title:o==null?void 0:o.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{u(!1),s(void 0)}}),React__default.default.createElement("span",null,o==null?void 0:o.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},c+1,"/",d==null?void 0:d.length)):React__default.default.createElement(index,{title:o==null?void 0:o.calName,onClick:()=>{u(!0),s(f)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:g,thumbnailWidth:o,isEnlargeTopView:u,highlightAttribute:s,loadPCDFileLoading:c,checkMode:f,measureVisible:d})=>{var x;const[a,w]=React.useState([]),{topViewInstance:L,displayPointCloudList:C,polygonList:y,imageSizes:_,selectedIDs:h,windowKeydownListenerHook:v}=React.useContext(PointCloudContext.PointCloudContext),[q,F]=React.useState(""),[m,P]=React.useState(!1),[i,p]=React.useState(void 0),E=React.useCallback(t=>{P(t),lbAnnotation.EventBus.emit("2d-image:enlarge",t)},[]),r=React.useRef();React.useEffect(()=>{var t;if(!c&&L&&(e==null?void 0:e.mappingImgList)&&((t=e==null?void 0:e.mappingImgList)==null?void 0:t.length)>0)return r.current&&r.current.terminate(),r.current=new _2DViewWorker,r.current.onmessage=n=>{var l;const N=n.data;w(N),(l=r.current)==null||l.terminate()},r.current.postMessage({currentData:e,displayPointCloudList:C,selectedID:q,highlightAttribute:s,imageSizes:_,config:g,polygonList:y,selectedIDs:h}),()=>{var n;(n=r.current)==null||n.terminate()}},[C,e==null?void 0:e.mappingImgList,q,s,c,y,_,h]);const I=ahooks.useLatest(t=>{if(!m)return;const n=()=>{t.stopImmediatePropagation()};switch(t.keyCode){case EKeyCode.Esc:{E(!1);break}case EKeyCode.Left:{k();break}case EKeyCode.Right:{b();break}}n()}),k=()=>{i===void 0||!m||Number(i)>0&&p(i-1)},b=()=>{i===void 0||!m||Number(i)<(a==null?void 0:a.length)-1&&p(i+1)};React.useEffect(()=>{const t=l=>I.current(l);return v.preappendEventListener(t)},[v,v.preappendEventListener]);const j=!e||!(e==null?void 0:e.mappingImgList)||!(((x=e==null?void 0:e.mappingImgList)==null?void 0:x.length)>0),S=React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},React__default.default.createElement("img",{src:icon_left_squareOutlined,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>k()}),React__default.default.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("img",{src:icon_right_squareOutlined,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>b()}),React__default.default.createElement("img",{src:icon_esc,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{E(!1),p(void 0)}}),React__default.default.createElement("span",null,"\u952E\u9000\u51FA"));return(a==null?void 0:a.length)>0?React__default.default.createElement(React__default.default.Fragment,null,a.map((t,n)=>{const l=m&&n===i;return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-2d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:l}),title:React__default.default.createElement(ContainerTitle,{showEnlarge:l,isEnlargeTopView:u,data:t,setIsEnlarge:E,setCurIndex:p,curIndex:i,index:n,annotations2d:a}),titleOnSurface:!l,style:{display:j?"none":"flex",width:l?"100%":o},key:n,toolbar:S},(t==null?void 0:t.annotations)&&(t==null?void 0:t.url)&&React__default.default.createElement(PointCloud2DSingleView,{key:t.url,currentData:e,view2dData:t,setSelectedID:F,showEnlarge:l,checkMode:f,measureVisible:d}))})):null};var PointCloud2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DView);module.exports=PointCloud2DView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js"),_2DViewWorker=require("../../_virtual/2DViewWorker.js"),ahooks=require("ahooks");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:g,data:l,setIsEnlarge:u,setCurIndex:s,curIndex:c=0,index:f,annotations2d:d})=>g?React__default.default.createElement(index,{title:l==null?void 0:l.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{u(!1),s(void 0)}}),React__default.default.createElement("span",null,l==null?void 0:l.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},c+1,"/",d==null?void 0:d.length)):React__default.default.createElement(index,{title:l==null?void 0:l.calName,onClick:()=>{u(!0),s(f)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:g,thumbnailWidth:l,isEnlargeTopView:u,highlightAttribute:s,loadPCDFileLoading:c,checkMode:f,measureVisible:d})=>{var x;const[i,b]=React.useState([]),{topViewInstance:w,displayPointCloudList:C,polygonList:y,imageSizes:_,selectedIDs:h,windowKeydownListenerHook:v,setIsLargeStatus:F}=React.useContext(PointCloudContext.PointCloudContext),[q,P]=React.useState(""),[m,I]=React.useState(!1),[a,p]=React.useState(void 0),E=React.useCallback(t=>{F(t),I(t),lbAnnotation.EventBus.emit("2d-image:enlarge",t)},[]),r=React.useRef();React.useEffect(()=>{var t;if(!c&&w&&(e==null?void 0:e.mappingImgList)&&((t=e==null?void 0:e.mappingImgList)==null?void 0:t.length)>0)return r.current&&r.current.terminate(),r.current=new _2DViewWorker,r.current.onmessage=n=>{var o;const R=n.data;b(R),(o=r.current)==null||o.terminate()},r.current.postMessage({currentData:e,displayPointCloudList:C,selectedID:q,highlightAttribute:s,imageSizes:_,config:g,polygonList:y,selectedIDs:h}),()=>{var n;(n=r.current)==null||n.terminate()}},[C,e==null?void 0:e.mappingImgList,q,s,c,y,_,h]);const S=ahooks.useLatest(t=>{if(!m)return;const n=()=>{t.stopImmediatePropagation()};switch(t.keyCode){case EKeyCode.Esc:{E(!1);break}case EKeyCode.Left:{k();break}case EKeyCode.Right:{L();break}}n()}),k=()=>{a===void 0||!m||Number(a)>0&&p(a-1)},L=()=>{a===void 0||!m||Number(a)<(i==null?void 0:i.length)-1&&p(a+1)};React.useEffect(()=>{const t=o=>S.current(o);return v.preappendEventListener(t)},[v,v.preappendEventListener]);const j=!e||!(e==null?void 0:e.mappingImgList)||!(((x=e==null?void 0:e.mappingImgList)==null?void 0:x.length)>0),N=React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},React__default.default.createElement("img",{src:icon_left_squareOutlined,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>k()}),React__default.default.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("img",{src:icon_right_squareOutlined,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>L()}),React__default.default.createElement("img",{src:icon_esc,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{E(!1),p(void 0)}}),React__default.default.createElement("span",null,"\u952E\u9000\u51FA"));return(i==null?void 0:i.length)>0?React__default.default.createElement(React__default.default.Fragment,null,i.map((t,n)=>{const o=m&&n===a;return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-2d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:o}),title:React__default.default.createElement(ContainerTitle,{showEnlarge:o,isEnlargeTopView:u,data:t,setIsEnlarge:E,setCurIndex:p,curIndex:a,index:n,annotations2d:i}),titleOnSurface:!o,style:{display:j?"none":"flex",width:o?"100%":l},key:n,toolbar:N},(t==null?void 0:t.annotations)&&(t==null?void 0:t.url)&&React__default.default.createElement(PointCloud2DSingleView,{key:t.url,currentData:e,view2dData:t,setSelectedID:P,showEnlarge:o,checkMode:f,measureVisible:d}))})):null};var PointCloud2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DView);module.exports=PointCloud2DView$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),useToolStyle=require("../../hooks/useToolStyle.js"),usePointCloudAttribute=require("./hooks/usePointCloudAttribute.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,i,a)=>i in n?__defProp(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,__spreadValues=(n,i)=>{for(var a in i||(i={}))__hasOwnProp.call(i,a)&&__defNormalProp(n,a,i[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(i))__propIsEnum.call(i,a)&&__defNormalProp(n,a,i[a]);return n};const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:n})=>{const{isActive:i,setTarget3DView:a}=React.useContext(PointCloud3DContext),m=d=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",d)]:!0,active:i});return React__default.default.createElement("span",{onClick:()=>{a(lbUtils.EPerspectiveView[n])},className:m(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:i,followTopView:a}=React.useContext(PointCloud3DContext),{t:m}=reactI18next.useTranslation(),d=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),e=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:m("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{a()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","reset")}));return n?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},e,d):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},d,e)},PointCloud3D=({currentData:n,config:i,highlightAttribute:a,setResourceLoading:m})=>{var d;const e=React.useContext(PointCloudContext.PointCloudContext),[b,y]=React.useState(!0),[f,V]=React.useState(!1),v=React.useRef(null),{initPointCloud3d:P,generateRects:B}=usePointCloudViews.usePointCloudViews(),p=useSize(v),{t:g}=reactI18next.useTranslation(),{value:x}=useToolStyle.useToolStyleContext(),{hiddenText:I}=x||{},{updatePointCloudAttribute:L}=usePointCloudAttribute.usePointCloudAttribute(m,i),{updateSelectedBox:N}=useSingleBox.useSingleBox({generateRects:B});React.useEffect(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(I,e.pointCloudBoxList)},[x]),React.useEffect(()=>{!e.mainViewInstance||P==null||P(p)},[p]);const{selectedBox:c}=useSingleBox.useSingleBox(),{selectedSphere:w}=useSphere.useSphere(),[q,h]=React.useState(!0),E=t=>{var o,l;const s=c==null?void 0:c.info;if(s){const r=__spreadValues({},s.center);r.x=r.x-.01,r.z=1e3;const u=t===lbUtils.EPerspectiveView.Top;(o=e.mainViewInstance)==null||o.updateCameraByBox(s,t,u?r:void 0)}w&&((l=e.mainViewInstance)==null||l.updateCameraBySphere(w,t))},j=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},D=()=>{var t,o;const l=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((o=e.mainViewInstance)==null||o.applyCameraTarget(l))};React.useEffect(()=>{if(v.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&p.width&&(t=new lbAnnotation.PointCloud({container:v.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(p),config:i,hiddenText:I}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:h}),e.setMainViewInstance(t))}},[p,n]),React.useEffect(()=>{var t,o;if(v.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let l=e.mainViewInstance;const s=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result),r=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),u=r.find(C=>C.id===e.selectedID);u&&((t=e.topViewInstance)==null||t.updatePolygonList(r,void 0),L(u.attribute),N(u),e.setSelectedIDs(u.id)),e.setPointCloudValid((o=index.jsonParser(n.result))==null?void 0:o.valid),e.setPointCloudResult(r),e.setRectList(s),l.generateBoxes(r)}},[n.result,e.mainViewInstance]),React.useEffect(()=>{var t,o,l,s,r,u,C;const T=(t=c==null?void 0:c.info)==null?void 0:t.id;if(!q){h(!0);return}if(T!==void 0){E(lbUtils.EPerspectiveView.Top);const k=(s=(l=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:l.camera.zoom)!=null?s:1;(r=e.mainViewInstance)==null||r.updateCameraZoom(k)}(u=e.mainViewInstance)==null||u.setHighlightColor(T),(C=e.mainViewInstance)==null||C.render()},[(d=c==null?void 0:c.info)==null?void 0:d.id]),React.useEffect(()=>{var t,o,l,s;if(w){E(lbUtils.EPerspectiveView.Top);const r=(l=(o=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?l:1;(s=e.mainViewInstance)==null||s.updateCameraZoom(r)}},[w]),React.useEffect(()=>(window.addEventListener("keydown",_),()=>{window.removeEventListener("keydown",_)}),[]);const _=t=>{if(t.keyCode===EKeyCode.Esc){V(!1);return}},S=React.useMemo(()=>({reset3DView:j,setTarget3DView:E,isActive:!!c,followTopView:D}),[c,e.mainViewInstance]);React.useEffect(()=>{var t,o,l;const s=e.pointCloudBoxList.filter(r=>r.attribute===a);(s==null?void 0:s.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(o=e.mainViewInstance)==null||o.highlightBoxes(s)),s.length===0&&((l=e.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[a,e.mainViewInstance]);const R=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:t=>{var o;(o=e.mainViewInstance)==null||o.updatePointSize({customSize:t})}}),React__default.default.createElement("span",{style:{marginRight:8}},g("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:b,onChange:t=>{var o;y(t),(o=e.mainViewInstance)==null||o.setShowDirection(t)}}),f&&React__default.default.createElement(PointCloud3DContext.Provider,{value:S},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:f})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:f}),title:f?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{V(!1)}}),g("3DView")):React__default.default.createElement(index$2,{title:g("3DView"),onClick:()=>{V(!0)}}),toolbar:R},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!f&&React__default.default.createElement(PointCloud3DContext.Provider,{value:S},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:v})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
1
+ "use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),useToolStyle=require("../../hooks/useToolStyle.js"),usePointCloudAttribute=require("./hooks/usePointCloudAttribute.js");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,i,a)=>i in n?__defProp(n,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[i]=a,__spreadValues=(n,i)=>{for(var a in i||(i={}))__hasOwnProp.call(i,a)&&__defNormalProp(n,a,i[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(i))__propIsEnum.call(i,a)&&__defNormalProp(n,a,i[a]);return n};const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:n})=>{const{isActive:i,setTarget3DView:a}=React.useContext(PointCloud3DContext),m=d=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",d)]:!0,active:i});return React__default.default.createElement("span",{onClick:()=>{a(lbUtils.EPerspectiveView[n])},className:m(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:i,followTopView:a}=React.useContext(PointCloud3DContext),{t:m}=reactI18next.useTranslation(),d=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),e=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:m("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{a()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","reset")}));return n?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},e,d):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},d,e)},PointCloud3D=({currentData:n,config:i,highlightAttribute:a,setResourceLoading:m})=>{var d;const e=React.useContext(PointCloudContext.PointCloudContext),{setIsLargeStatus:P}=e,[y,B]=React.useState(!0),[f,V]=React.useState(!1),v=React.useRef(null),{initPointCloud3d:x,generateRects:L}=usePointCloudViews.usePointCloudViews(),p=useSize(v),{t:g}=reactI18next.useTranslation(),{value:I}=useToolStyle.useToolStyleContext(),{hiddenText:h}=I||{},{updatePointCloudAttribute:N}=usePointCloudAttribute.usePointCloudAttribute(m,i),{updateSelectedBox:q}=useSingleBox.useSingleBox({generateRects:L});React.useEffect(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(h,e.pointCloudBoxList)},[I]),React.useEffect(()=>{!e.mainViewInstance||x==null||x(p)},[p]);const{selectedBox:c}=useSingleBox.useSingleBox(),{selectedSphere:w}=useSphere.useSphere(),[j,_]=React.useState(!0),E=t=>{var o,l;const s=c==null?void 0:c.info;if(s){const r=__spreadValues({},s.center);r.x=r.x-.01,r.z=1e3;const u=t===lbUtils.EPerspectiveView.Top;(o=e.mainViewInstance)==null||o.updateCameraByBox(s,t,u?r:void 0)}w&&((l=e.mainViewInstance)==null||l.updateCameraBySphere(w,t))},D=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},R=()=>{var t,o;const l=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;l&&((o=e.mainViewInstance)==null||o.applyCameraTarget(l))};React.useEffect(()=>{if(v.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&p.width&&(t=new lbAnnotation.PointCloud({container:v.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(p),config:i,hiddenText:h}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:_}),e.setMainViewInstance(t))}},[p,n]),React.useEffect(()=>{var t,o;if(v.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let l=e.mainViewInstance;const s=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result),r=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result),u=r.find(C=>C.id===e.selectedID);u&&((t=e.topViewInstance)==null||t.updatePolygonList(r,void 0),N(u.attribute),q(u),e.setSelectedIDs(u.id)),e.setPointCloudValid((o=index.jsonParser(n.result))==null?void 0:o.valid),e.setPointCloudResult(r),e.setRectList(s),l.generateBoxes(r)}},[n.result,e.mainViewInstance]),React.useEffect(()=>{var t,o,l,s,r,u,C;const b=(t=c==null?void 0:c.info)==null?void 0:t.id;if(!j){_(!0);return}if(b!==void 0){E(lbUtils.EPerspectiveView.Top);const z=(s=(l=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:l.camera.zoom)!=null?s:1;(r=e.mainViewInstance)==null||r.updateCameraZoom(z)}(u=e.mainViewInstance)==null||u.setHighlightColor(b),(C=e.mainViewInstance)==null||C.render()},[(d=c==null?void 0:c.info)==null?void 0:d.id]),React.useEffect(()=>{var t,o,l,s;if(w){E(lbUtils.EPerspectiveView.Top);const r=(l=(o=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?l:1;(s=e.mainViewInstance)==null||s.updateCameraZoom(r)}},[w]),React.useEffect(()=>(window.addEventListener("keydown",S),()=>{window.removeEventListener("keydown",S)}),[]);const S=t=>{if(t.keyCode===EKeyCode.Esc){V(!1);return}},T=React.useMemo(()=>({reset3DView:D,setTarget3DView:E,isActive:!!c,followTopView:R}),[c,e.mainViewInstance]);React.useEffect(()=>{var t,o,l;const s=e.pointCloudBoxList.filter(r=>r.attribute===a);(s==null?void 0:s.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(o=e.mainViewInstance)==null||o.highlightBoxes(s)),s.length===0&&((l=e.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[a,e.mainViewInstance]);const k=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:t=>{var o;(o=e.mainViewInstance)==null||o.updatePointSize({customSize:t})}}),React__default.default.createElement("span",{style:{marginRight:8}},g("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:y,onChange:t=>{var o;B(t),(o=e.mainViewInstance)==null||o.setShowDirection(t)}}),f&&React__default.default.createElement(PointCloud3DContext.Provider,{value:T},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:f})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:f}),title:f?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{P(!1),V(!1)}}),g("3DView")):React__default.default.createElement(index$2,{title:g("3DView"),onClick:()=>{P(!0),V(!0)}}),toolbar:k},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!f&&React__default.default.createElement(PointCloud3DContext.Provider,{value:T},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:v})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),actionCreators=require("../../store/annotation/actionCreators.js"),index=require("../../store/annotatedBox/index.js"),_=require("lodash"),map=require("./utils/map.js"),useTimeoutFunc=require("./hooks/useTimeoutFunc.js"),useWindowKeydownListener=require("./hooks/useWindowKeydownListener.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,i,d)=>i in r?__defProp(r,i,{enumerable:!0,configurable:!0,writable:!0,value:d}):r[i]=d,__spreadValues=(r,i)=>{for(var d in i||(i={}))__hasOwnProp.call(i,d)&&__defNormalProp(r,d,i[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(i))__propIsEnum.call(i,d)&&__defNormalProp(r,d,i[d]);return r},__spreadProps=(r,i)=>__defProps(r,__getOwnPropDescs(i)),__async=(r,i,d)=>new Promise((x,D)=>{var A=u=>{try{I(d.next(u))}catch(R){D(R)}},O=u=>{try{I(d.throw(u))}catch(R){D(R)}},I=u=>u.done?x(u.value):Promise.resolve(u.value).then(A,O);I((d=d.apply(r,i)).next())});const pickRectObject=r=>___default.default.pick(r,["id","attribute","width","height","x","y","imageName"]),PointCloudContext=React__default.default.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:lbAnnotation.EToolName.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:lbUtils.EPointCloudPattern.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:r=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:r=>!1,removeRectBySpecifyId:(r,i,d)=>!1,removeRectByPointCloudBoxId:r=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:useWindowKeydownListener.getEmptyUseWindowKeydownListener()}),PointCloudProvider=({children:r})=>{const[i,d]=React.useState([]),[x,D]=React.useState([]),[A,O]=React.useState([]),[I,u]=React.useState([]),[R,Re]=React.useState([]),[v,N]=React.useState([]),[B,j]=React.useState([]),[U,xe]=React.useState(!0),[Z,Le]=React.useState(2),[J,De]=React.useState(!0),[Q,Ae]=React.useState(1),[f,X]=React.useState(),[Y,$]=React.useState(),[ee,te]=React.useState(),[g,oe]=React.useState(),[ne,Be]=React.useState(""),[F,_e]=React.useState(lbAnnotation.EToolName.Rect),q=React.useRef(new lbAnnotation.ActionsHistory).current,[p,T]=React.useState([]),[ie,Ve]=React.useState(""),[z,Ne]=React.useState(lbUtils.EPointCloudPattern.Detection),[L,se]=React.useState(void 0),[W,He]=React.useState([]),[G,Me]=React.useState([]),[re,ke]=React.useState(!1),h=index(),[le,Ee]=React.useState({}),Oe=ctx.useDispatch(),je=o=>{const{imgNode:n,path:t}=o;t&&n&&Ee(a=>__spreadProps(__spreadValues({},a),{[t]:{width:n.width,height:n.height}}))},ae=React.useMemo(()=>v.length===1?v[0]:"",[v]),de=useWindowKeydownListener.default(),H=React.useCallback((o,n,t="extId")=>{const a=t||"id",l=new Set(n);return u(c=>{let S=!1;const P=c.filter(k=>{const K=k[a],E=l.has(K)?k.imageName!==o:!0;return E||(S=!0),E});return S?P:c}),!0},[]),ce=React.useCallback(o=>{const n=i.map(t=>t.id);return H(o,n,"extId")},[i,H]),ue=React.useCallback(o=>{if(!o)return!1;const n=i.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:a,attribute:l,trackID:c}=t,S=t.rects.find(P=>P.imageName===o);if(S){const P=___default.default.pick(S,["width","height","x","y","imageName"]);return __spreadProps(__spreadValues({},P),{id:lbAnnotation.uuid(),attribute:l,order:c,extId:a,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(u(t=>{const a=new Set(t.filter(c=>o===c.imageName).map(c=>c.extId)),l=n.filter(c=>a.has(c.extId)===!1);return l.length?[...t,...l]:t}),!0):!1},[i]),ge=React.useMemo(()=>i.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var a;return(a=t.rects)==null||a.forEach(l=>{const{imageName:c}=l;if(!c){console.warn("Missing image name"),console.trace(l,t);return}map.addMapIndirectWeakSetItem(n,c,t.id,t)}),n},new Map),[i]),fe=React.useCallback(o=>{u(n=>o(n,pickRectObject))},[pickRectObject]),pe=React.useMemo(()=>I.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(map.addMapIndirectWeakSetItem(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,I),o)},new Map),[I]),{fn:Fe}=useTimeoutFunc.default(o=>{N(n=>{const t=o,a=new Set(t);let l=!1;const c=n.filter(S=>{const P=a.has(S);return P||(l=!0),P});return l?c:n})},200),he=React.useCallback(o=>{const n=o.map(t=>t.id);d(o),Fe(n)},[]),M=React.useMemo(()=>{const o=i.find(e=>e.id===ae),n=e=>{const s=i.concat(e);return he(s),s},t=e=>{const s=x.concat(e);return D(s),s},a=e=>{xe(e!==!1)},l=e=>{e===void 0&&N([]),typeof e=="string"&&N([e]),Array.isArray(e)&&N(Array.from(new Set(e)))},c=e=>{v.includes(e)?l(v.filter(s=>s!==e)):l([...v,e])},S=e=>{const s=pickRectObject(e);u(m=>[...m,s])},P=(e,s=!1)=>{const m=pickRectObject(e);u(C=>C.map(w=>w.id===e.id?s?__spreadValues(__spreadValues({},w),m):m:w))},k=e=>{u(s=>s.filter(m=>!e.find(C=>C.id===m.id)))},K=e=>{B.includes(e)?j([]):j([e])},E=()=>{if(F===lbAnnotation.EToolName.Rect){const e=i.map(s=>s.id);l(e),f==null||f.pointCloud2dOperation.setSelectedIDs(e)}},Te=e=>{l(i.filter(s=>s.attribute===e).map(s=>s.id))},me=i.filter(e=>!p.includes(e.attribute)),ve=x.filter(e=>!p.includes(e.attribute)),Pe=R.filter(e=>e.attribute&&!p.includes(e.attribute)),ze=e=>{if(p.includes(e))T(p.filter(s=>s!==e));else{const s=p.concat(e);T(s)}},We=(e=me,s=A,m=ve,C=Pe,w=W)=>{var V;g==null||g.clearAllBox(),g==null||g.clearAllSphere(),f==null||f.updatePolygonList(e,s),f==null||f.updatePointList(m),f==null||f.updateLineList(C),g==null||g.generateBoxes(e),g==null||g.generateSpheres(m),(V=L==null?void 0:L.store)==null||V.updateCurrentSegment(w),Ie(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,e)},Ge=()=>{X(void 0),$(void 0),te(void 0),oe(void 0)},Ie=(e,s,m)=>__async(void 0,null,function*(){var C,w,V;if(!g)return;const Se=g.pointCloudObject;if(!Se)return;let Ce=[],we=[];try{if(s&&q.record.length){const{record:y,recordIndex:b}=q;let ye=b;b>0&&(e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleToggleValid||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleRotate||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single&&s.length===((C=y[b])==null?void 0:C.pointCloudBoxList.length))&&(ye=b-1);let Ke=(w=y[ye])==null?void 0:w.pointCloudBoxList;const be=ToolPointCloudBoxRenderHelper.calcResetAreasAndBoxIds(e,s,Ke);Ce=be.modifiedBoxIds,we=be.resetAreas}}catch(y){console.error("call calcResetAreasAndBoxIds error",y)}try{const y=yield g.getHighlightIndexByMappingImgList({mappingImgList:m!=null?m:G,points:Se.geometry.attributes.position.array}),b=yield g==null?void 0:g.highlightOriginPointCloud(s,y,{modifiedBoxIds:Ce,resetAreas:we});return b&&((V=f==null?void 0:f.pointCloudInstance)==null||V.updateColor(b)),b}catch(y){console.error("call highlightOriginPointCloud error",y)}});return{selectedID:ae,pointCloudBoxList:i,pointCloudSphereList:x,displayPointCloudList:me,displaySphereList:ve,displayLineList:Pe,selectedIDs:v,setPointCloudResult:he,setSelectedIDs:l,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:D,valid:U,selectedPointCloudBox:o,setPointCloudValid:a,addSelectedID:c,addHighlightID:K,selectedAllBoxes:E,topViewInstance:f,setTopViewInstance:X,sideViewInstance:Y,setSideViewInstance:$,backViewInstance:ee,setBackViewInstance:te,mainViewInstance:g,setMainViewInstance:oe,polygonList:A,setPolygonList:O,rectList:I,setRectList:u,addRectIn2DView:S,removeRectIn2DView:k,updateRectIn2DView:P,lineList:R,setLineList:Re,zoom:Q,setZoom:Ae,history:q,toggleAttributesVisible:ze,hideAttributes:p,setHideAttributes:T,reRender:We,attrPanelLayout:ie,setAttrPanelLayout:Ve,syncAllViewPointCloudColor:Ie,defaultAttribute:ne,setDefaultAttribute:Be,pointCloudPattern:F,setPointCloudPattern:_e,selectSpecAttr:Te,globalPattern:z,setGlobalPattern:e=>{z!==e&&(Oe(actionCreators.ChangeSave),Ne(e),e===lbUtils.EPointCloudPattern.Detection&&se(void 0))},ptSegmentInstance:L,setPtSegmentInstance:se,segmentation:W,setSegmentation:He,clearAllDetectionInstance:Ge,highlight2DDataList:G,setHighlight2DDataList:Me,highlight2DLoading:re,setHighlight2DLoading:ke,cuboidBoxIn2DView:J,setCuboidBoxIn2DView:De,imageSizes:le,cacheImageNodeSize:je,highlightIDs:B,setHighlightIDs:j,removeRectByPointCloudBoxId:ce,removeRectBySpecifyId:H,addRectFromPointCloudBoxByImageName:ue,rectRotateSensitivity:Z,setRectRotateSensitivity:Le,imageNamePointCloudBoxMap:ge,linkageImageNameRectMap:pe,updateRectListByReducer:fe,windowKeydownListenerHook:de}},[U,v,i,x,A,R,I,f,Y,ee,g,Q,p,ie,ne,F,z,L,W,G,re,J,le,B,ce,H,ue,Z,ge,pe,fe,de]);React.useEffect(()=>{var o,n,t;(o=h==null?void 0:h.setPointCloudBoxList)==null||o.call(h,i),(n=h==null?void 0:h.setHighlightIDs)==null||n.call(h,B),(t=h==null?void 0:h.setSelectedIDs)==null||t.call(h,v)},[i,v,B]),React.useEffect(()=>{var o;(o=h==null?void 0:h.setPtCtx)==null||o.call(h,M)},[M]);const qe=()=>{const o=i.filter(l=>p.includes(l.attribute)),{setSelectedIDs:n,reRender:t}=M,a=o.map(l=>l.id);a.length>0&&n(v.filter(l=>!a.includes(l))),t()};return React.useEffect(()=>{var o,n,t,a;qe(),(n=(o=f==null?void 0:f.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,p),(a=(t=L==null?void 0:L.store)==null?void 0:t.setHiddenAttributes)==null||a.call(t,p)},[p]),React__default.default.createElement(PointCloudContext.Provider,{value:M},r)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),actionCreators=require("../../store/annotation/actionCreators.js"),index=require("../../store/annotatedBox/index.js"),_=require("lodash"),map=require("./utils/map.js"),useTimeoutFunc=require("./hooks/useTimeoutFunc.js"),useWindowKeydownListener=require("./hooks/useWindowKeydownListener.js");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,i,d)=>i in r?__defProp(r,i,{enumerable:!0,configurable:!0,writable:!0,value:d}):r[i]=d,__spreadValues=(r,i)=>{for(var d in i||(i={}))__hasOwnProp.call(i,d)&&__defNormalProp(r,d,i[d]);if(__getOwnPropSymbols)for(var d of __getOwnPropSymbols(i))__propIsEnum.call(i,d)&&__defNormalProp(r,d,i[d]);return r},__spreadProps=(r,i)=>__defProps(r,__getOwnPropDescs(i)),__async=(r,i,d)=>new Promise((x,D)=>{var A=u=>{try{P(d.next(u))}catch(R){D(R)}},O=u=>{try{P(d.throw(u))}catch(R){D(R)}},P=u=>u.done?x(u.value):Promise.resolve(u.value).then(A,O);P((d=d.apply(r,i)).next())});const pickRectObject=r=>___default.default.pick(r,["id","attribute","width","height","x","y","imageName"]),PointCloudContext=React__default.default.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:lbAnnotation.EToolName.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:lbUtils.EPointCloudPattern.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:r=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:r=>!1,removeRectBySpecifyId:(r,i,d)=>!1,removeRectByPointCloudBoxId:r=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:useWindowKeydownListener.getEmptyUseWindowKeydownListener(),isLargeStatus:!1,setIsLargeStatus:()=>{}}),PointCloudProvider=({children:r})=>{const[i,d]=React.useState([]),[x,D]=React.useState([]),[A,O]=React.useState([]),[P,u]=React.useState([]),[R,Le]=React.useState([]),[v,N]=React.useState([]),[B,j]=React.useState([]),[U,De]=React.useState(!0),[Z,Ae]=React.useState(2),[J,Be]=React.useState(!0),[Q,_e]=React.useState(1),[f,X]=React.useState(),[Y,$]=React.useState(),[ee,te]=React.useState(),[g,oe]=React.useState(),[ne,Ve]=React.useState(""),[F,Ne]=React.useState(lbAnnotation.EToolName.Rect),q=React.useRef(new lbAnnotation.ActionsHistory).current,[p,T]=React.useState([]),[ie,He]=React.useState(""),[z,Me]=React.useState(lbUtils.EPointCloudPattern.Detection),[L,se]=React.useState(void 0),[W,ke]=React.useState([]),[G,Ee]=React.useState([]),[re,Oe]=React.useState(!1),[ae,le]=React.useState(!1),h=index(),[de,je]=React.useState({}),Fe=ctx.useDispatch(),qe=o=>{const{imgNode:n,path:t}=o;t&&n&&je(l=>__spreadProps(__spreadValues({},l),{[t]:{width:n.width,height:n.height}}))},ce=React.useMemo(()=>v.length===1?v[0]:"",[v]),ue=useWindowKeydownListener.default(),H=React.useCallback((o,n,t="extId")=>{const l=t||"id",a=new Set(n);return u(c=>{let S=!1;const I=c.filter(k=>{const K=k[l],E=a.has(K)?k.imageName!==o:!0;return E||(S=!0),E});return S?I:c}),!0},[]),ge=React.useCallback(o=>{const n=i.map(t=>t.id);return H(o,n,"extId")},[i,H]),fe=React.useCallback(o=>{if(!o)return!1;const n=i.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:l,attribute:a,trackID:c}=t,S=t.rects.find(I=>I.imageName===o);if(S){const I=___default.default.pick(S,["width","height","x","y","imageName"]);return __spreadProps(__spreadValues({},I),{id:lbAnnotation.uuid(),attribute:a,order:c,extId:l,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(u(t=>{const l=new Set(t.filter(c=>o===c.imageName).map(c=>c.extId)),a=n.filter(c=>l.has(c.extId)===!1);return a.length?[...t,...a]:t}),!0):!1},[i]),pe=React.useMemo(()=>i.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var l;return(l=t.rects)==null||l.forEach(a=>{const{imageName:c}=a;if(!c){console.warn("Missing image name"),console.trace(a,t);return}map.addMapIndirectWeakSetItem(n,c,t.id,t)}),n},new Map),[i]),he=React.useCallback(o=>{u(n=>o(n,pickRectObject))},[pickRectObject]),me=React.useMemo(()=>P.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(map.addMapIndirectWeakSetItem(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,P),o)},new Map),[P]),{fn:Te}=useTimeoutFunc.default(o=>{N(n=>{const t=o,l=new Set(t);let a=!1;const c=n.filter(S=>{const I=l.has(S);return I||(a=!0),I});return a?c:n})},200),ve=React.useCallback(o=>{const n=o.map(t=>t.id);d(o),Te(n)},[]),M=React.useMemo(()=>{const o=i.find(e=>e.id===ce),n=e=>{const s=i.concat(e);return ve(s),s},t=e=>{const s=x.concat(e);return D(s),s},l=e=>{De(e!==!1)},a=e=>{e===void 0&&N([]),typeof e=="string"&&N([e]),Array.isArray(e)&&N(Array.from(new Set(e)))},c=e=>{v.includes(e)?a(v.filter(s=>s!==e)):a([...v,e])},S=e=>{const s=pickRectObject(e);u(m=>[...m,s])},I=(e,s=!1)=>{const m=pickRectObject(e);u(C=>C.map(w=>w.id===e.id?s?__spreadValues(__spreadValues({},w),m):m:w))},k=e=>{u(s=>s.filter(m=>!e.find(C=>C.id===m.id)))},K=e=>{B.includes(e)?j([]):j([e])},E=()=>{if(F===lbAnnotation.EToolName.Rect){const e=i.map(s=>s.id);a(e),f==null||f.pointCloud2dOperation.setSelectedIDs(e)}},We=e=>{a(i.filter(s=>s.attribute===e).map(s=>s.id))},Ie=i.filter(e=>!p.includes(e.attribute)),Pe=x.filter(e=>!p.includes(e.attribute)),Se=R.filter(e=>e.attribute&&!p.includes(e.attribute)),Ge=e=>{if(p.includes(e))T(p.filter(s=>s!==e));else{const s=p.concat(e);T(s)}},Ke=(e=Ie,s=A,m=Pe,C=Se,w=W)=>{var V;g==null||g.clearAllBox(),g==null||g.clearAllSphere(),f==null||f.updatePolygonList(e,s),f==null||f.updatePointList(m),f==null||f.updateLineList(C),g==null||g.generateBoxes(e),g==null||g.generateSpheres(m),(V=L==null?void 0:L.store)==null||V.updateCurrentSegment(w),Ce(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,e)},Ue=()=>{X(void 0),$(void 0),te(void 0),oe(void 0)},Ce=(e,s,m)=>__async(void 0,null,function*(){var C,w,V;if(!g)return;const we=g.pointCloudObject;if(!we)return;let ye=[],be=[];try{if(s&&q.record.length){const{record:y,recordIndex:b}=q;let Re=b;b>0&&(e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleToggleValid||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.SingleRotate||e===ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single&&s.length===((C=y[b])==null?void 0:C.pointCloudBoxList.length))&&(Re=b-1);let Ze=(w=y[Re])==null?void 0:w.pointCloudBoxList;const xe=ToolPointCloudBoxRenderHelper.calcResetAreasAndBoxIds(e,s,Ze);ye=xe.modifiedBoxIds,be=xe.resetAreas}}catch(y){console.error("call calcResetAreasAndBoxIds error",y)}try{const y=yield g.getHighlightIndexByMappingImgList({mappingImgList:m!=null?m:G,points:we.geometry.attributes.position.array}),b=yield g==null?void 0:g.highlightOriginPointCloud(s,y,{modifiedBoxIds:ye,resetAreas:be});return b&&((V=f==null?void 0:f.pointCloudInstance)==null||V.updateColor(b)),b}catch(y){console.error("call highlightOriginPointCloud error",y)}});return{selectedID:ce,pointCloudBoxList:i,pointCloudSphereList:x,displayPointCloudList:Ie,displaySphereList:Pe,displayLineList:Se,selectedIDs:v,setPointCloudResult:ve,setSelectedIDs:a,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:D,valid:U,selectedPointCloudBox:o,setPointCloudValid:l,addSelectedID:c,addHighlightID:K,selectedAllBoxes:E,topViewInstance:f,setTopViewInstance:X,sideViewInstance:Y,setSideViewInstance:$,backViewInstance:ee,setBackViewInstance:te,mainViewInstance:g,setMainViewInstance:oe,polygonList:A,setPolygonList:O,rectList:P,setRectList:u,addRectIn2DView:S,removeRectIn2DView:k,updateRectIn2DView:I,lineList:R,setLineList:Le,zoom:Q,setZoom:_e,history:q,toggleAttributesVisible:Ge,hideAttributes:p,setHideAttributes:T,reRender:Ke,attrPanelLayout:ie,setAttrPanelLayout:He,syncAllViewPointCloudColor:Ce,defaultAttribute:ne,setDefaultAttribute:Ve,pointCloudPattern:F,setPointCloudPattern:Ne,selectSpecAttr:We,globalPattern:z,setGlobalPattern:e=>{z!==e&&(Fe(actionCreators.ChangeSave),Me(e),e===lbUtils.EPointCloudPattern.Detection&&se(void 0))},ptSegmentInstance:L,setPtSegmentInstance:se,segmentation:W,setSegmentation:ke,clearAllDetectionInstance:Ue,highlight2DDataList:G,setHighlight2DDataList:Ee,highlight2DLoading:re,setHighlight2DLoading:Oe,cuboidBoxIn2DView:J,setCuboidBoxIn2DView:Be,imageSizes:de,cacheImageNodeSize:qe,highlightIDs:B,setHighlightIDs:j,removeRectByPointCloudBoxId:ge,removeRectBySpecifyId:H,addRectFromPointCloudBoxByImageName:fe,rectRotateSensitivity:Z,setRectRotateSensitivity:Ae,imageNamePointCloudBoxMap:pe,linkageImageNameRectMap:me,updateRectListByReducer:he,windowKeydownListenerHook:ue,isLargeStatus:ae,setIsLargeStatus:le}},[U,v,i,x,A,R,P,f,Y,ee,g,Q,p,ie,ne,F,z,L,W,G,re,J,de,B,ge,H,fe,Z,pe,me,he,ue,ae,le]);React.useEffect(()=>{var o,n,t;(o=h==null?void 0:h.setPointCloudBoxList)==null||o.call(h,i),(n=h==null?void 0:h.setHighlightIDs)==null||n.call(h,B),(t=h==null?void 0:h.setSelectedIDs)==null||t.call(h,v)},[i,v,B]),React.useEffect(()=>{var o;(o=h==null?void 0:h.setPtCtx)==null||o.call(h,M)},[M]);const ze=()=>{const o=i.filter(a=>p.includes(a.attribute)),{setSelectedIDs:n,reRender:t}=M,l=o.map(a=>a.id);l.length>0&&n(v.filter(a=>!l.includes(a))),t()};return React.useEffect(()=>{var o,n,t,l;ze(),(n=(o=f==null?void 0:f.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,p),(l=(t=L==null?void 0:L.store)==null?void 0:t.setHiddenAttributes)==null||l.call(t,p)},[p]),React__default.default.createElement(PointCloudContext.Provider,{value:M},r)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),index$3=require("../../views/MainView/toolFooter/index.js"),index$4=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useSphere=require("./hooks/useSphere.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),ToolUtils=require("../../utils/ToolUtils.js"),_=require("lodash"),index$2=require("./components/PointCloudSizeSlider/index.js"),useHistory=require("./hooks/useHistory.js"),index$1=require("./components/TitleButton/index.js");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,s,l)=>s in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[s]=l,__spreadValues=(o,s)=>{for(var l in s||(s={}))__hasOwnProp.call(s,l)&&__defNormalProp(o,l,s[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(s))__propIsEnum.call(s,l)&&__defNormalProp(o,l,s[l]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(o,s,l=1)=>{const{width:C,height:p}=s,w={x:o.x+C*l/2,y:o.y+p*l/2},x={x:s.width/2,y:s.height/2};return{offsetX:(x.x-w.x)/l,offsetY:-(x.y-w.y)/l}},TopViewToolbar=({currentData:o})=>{var s,l;const{zoom:C,zoomIn:p,zoomOut:w,initialPosition:x}=useZoom.useZoom(),{selectNextBox:L,selectPrevBox:b}=useSingleBox.useSingleBox(),{switchToNextSphere:S}=useSphere.useSphere(),{updateRotate:V}=useRotate.useRotate({currentData:o}),{updateRotateEdge:O}=useRotateEdge.useRotateEdge({currentData:o}),g=React__default.default.useContext(PointCloudContext.PointCloudContext),{topViewInstance:y}=g,f=(l=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:l.getCurrentToolName(),e=()=>{V(-Number(g.rectRotateSensitivity))},u=()=>{V(g.rectRotateSensitivity)},v=()=>{O(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:T=>{var I;(I=y==null?void 0:y.pointCloudInstance)==null||I.updatePointSize({customSize:T})}}),React__default.default.createElement("span",{onClick:u,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:e,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:v,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.descend);return}b(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.ascend);return}L(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:x,zoomIn:p,zoomOut:w,zoom:C}))},ZAxisSlider=({setZAxisLimit:o,zAxisLimit:s,checkMode:l})=>l?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:C=>{o(C)}})),PointCloudTopView=({currentData:o,imgList:s,stepInfo:l,drawLayerSlot:C,checkMode:p,intelligentFit:w,setIsEnlargeTopView:x,isEnlargeTopView:L,onExitZoom:b,highlightAttribute:S})=>{var V,O;const[g,y]=React.useState({zoom:1,currentPos:{x:0,y:0}}),f=React.useRef(null),e=React__default.default.useContext(PointCloudContext.PointCloudContext),u=useSize(f),v=index.jsonParser(l.config),{setZoom:T,syncTopviewToolZoom:I}=useZoom.useZoom(),{hideAttributes:k}=e,{addPolygon:A,deletePolygon:U}=usePolygon.usePolygon(),{deletePointCloudSphere:Z}=useSphere.useSphere(),{deletePointCloudBox:z,changeValidByID:H}=useSingleBox.useSingleBox(),[N,F]=React.useState(10),{t:B}=reactI18next.useTranslation(),m=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:W}=useHistory.useHistory(),[$,q]=React.useState(!0);React.useLayoutEffect(()=>{if(!e.topViewInstance&&f.current&&(o==null?void 0:o.url)&&(o==null?void 0:o.result)){const n={width:f.current.clientWidth,height:f.current.clientHeight},a=new lbAnnotation.PointCloudAnnotation({container:f.current,size:n,pcdPath:o.url,config:__spreadProps(__spreadValues({},v),{pointCloudPattern:e.pointCloudPattern}),checkMode:p,toolName:ToolUtils.getPointCloudToolList(),proxyMode:p});e.setTopViewInstance(a)}},[o]),React.useEffect(()=>{if(!u||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:n}=e.topViewInstance;n.singleOn("dataUpdated",(t,i)=>{const d=___default.default.cloneDeep(t).map(r=>__spreadProps(__spreadValues({},r),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(r.pointList,u)}));e.setSelectedIDs(i),e.setLineList(d),W({lineList:d})}),n.singleOn("pointCreated",(t,i)=>{m.topViewAddSphere({newPoint:t,size:u,trackConfigurable:v.trackConfigurable,zoom:i})}),n.singleOn("pointDeleted",t=>{Z(t)}),n.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),n.singleOn("updatePointByDrag",(t,i)=>{var d;(d=m.topViewUpdatePoint)==null||d.call(m,t,u)}),n.singleOn("polygonCreated",(t,i)=>{if(n.pattern===EPolygonPattern.Normal||!(o==null?void 0:o.url)){const d=__spreadProps(__spreadValues({},t),{pointList:t.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,u))});A(d),e.setSelectedIDs(k.includes(t.attribute)?"":t.id);return}q(!1),m.topViewAddBox({polygon:t,size:u,imgList:s,trackConfigurable:v.trackConfigurable,zoom:i,intelligentFit:w})}),n.singleOn("deletedObject",({id:t})=>{z(t),U(t)}),n.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),n.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),n.singleOn("setSelectedIDs",t=>{q(!1),e.setSelectedIDs(t)}),n.singleOn("updatePolygonByDrag",t=>{var i;(i=m.topViewUpdateBox)==null||i.call(m,t,u)});const a=t=>{var i;const d=H(t);d&&e.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,d),e.polygonList.find(r=>r.id===t)&&((i=e.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(t,!0))};return n.on("validUpdate",a),()=>{n.unbind("validUpdate",a)}},[e,u,o,m,e.polygonList,e.lineList,(V=e.topViewInstance)==null?void 0:V.toolInstance]),React.useEffect(()=>{var n,a;if(!(u==null?void 0:u.width)||!e.topViewInstance)return;const t=(a=(n=v==null?void 0:v.attributeList)==null?void 0:n[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(u),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:i,toolInstance:d}}=e;d.singleOn("renderZoom",(r,c)=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(c,u,r);if(i.camera.zoom=r,c){const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R)}i.camera.updateProjectionMatrix(),i.render(),T(r),I(c,r,u),y({zoom:r,currentPos:c})}),d.singleOn("dragMove",({currentPos:r,zoom:c})=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(r,u,c);i.camera.zoom=c;const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R),i.render(),I(r,c,u),y({zoom:c,currentPos:r})})},[u,e.topViewInstance,(O=e.topViewInstance)==null?void 0:O.toolInstance]),React.useEffect(()=>{var n,a;(a=(n=e.topViewInstance)==null?void 0:n.pointCloudInstance)==null||a.applyZAxisPoints(N)},[N]),React.useEffect(()=>{var n,a,t,i;m.topViewSelectedChanged({}),(i=(t=(a=(n=e.topViewInstance)==null?void 0:n.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||i.call(t,e.selectedIDs)},[e.selectedIDs]),React.useEffect(()=>{const{topViewInstance:n,selectedID:a,selectedPointCloudBox:t,zoom:i}=e;if(!n||!a||!t||!$){q(!0);return}const{center:d}=t,{pointCloudInstance:r,toolInstance:c}=n,h=c.polygonList.find(K=>K.id===e.selectedID);if(!h){q(!0);return}const E=lbAnnotation.MathUtils.getRectCenterPoint(h.pointList),P=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(c.size,E,i);c.setCurrentPos(P),c.render();const{x:j,y:R,z:M}=r.initCameraPosition;r.camera.position.set(d.x,d.y,M),r.render(),I(P,i,u),y({zoom:i,currentPos:P})},[e.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",D),()=>{window.removeEventListener("keydown",D)}),[]);const D=n=>{const{keyCode:a}=n;a===EKeyCode.Esc&&b()};return React.useEffect(()=>{var n,a,t;(t=(a=(n=e.topViewInstance)==null?void 0:n.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,S)},[e.topViewInstance,S]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:L?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{b()}}),React__default.default.createElement("span",null,B("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:B("TopView"),onClick:()=>{x(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:o})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:f},C==null?void 0:C(g)),!L&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v}),React__default.default.createElement(ZAxisSlider,{checkMode:p,zAxisLimit:N,setZAxisLimit:F}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),index$3=require("../../views/MainView/toolFooter/index.js"),index$4=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useSphere=require("./hooks/useSphere.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),ToolUtils=require("../../utils/ToolUtils.js"),_=require("lodash"),index$2=require("./components/PointCloudSizeSlider/index.js"),useHistory=require("./hooks/useHistory.js"),index$1=require("./components/TitleButton/index.js");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(o,s,l)=>s in o?__defProp(o,s,{enumerable:!0,configurable:!0,writable:!0,value:l}):o[s]=l,__spreadValues=(o,s)=>{for(var l in s||(s={}))__hasOwnProp.call(s,l)&&__defNormalProp(o,l,s[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(s))__propIsEnum.call(s,l)&&__defNormalProp(o,l,s[l]);return o},__spreadProps=(o,s)=>__defProps(o,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(o,s,l=1)=>{const{width:C,height:p}=s,w={x:o.x+C*l/2,y:o.y+p*l/2},x={x:s.width/2,y:s.height/2};return{offsetX:(x.x-w.x)/l,offsetY:-(x.y-w.y)/l}},TopViewToolbar=({currentData:o})=>{var s,l;const{zoom:C,zoomIn:p,zoomOut:w,initialPosition:x}=useZoom.useZoom(),{selectNextBox:L,selectPrevBox:b}=useSingleBox.useSingleBox(),{switchToNextSphere:S}=useSphere.useSphere(),{updateRotate:V}=useRotate.useRotate({currentData:o}),{updateRotateEdge:O}=useRotateEdge.useRotateEdge({currentData:o}),g=React__default.default.useContext(PointCloudContext.PointCloudContext),{topViewInstance:y}=g,f=(l=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:l.getCurrentToolName(),e=()=>{V(-Number(g.rectRotateSensitivity))},u=()=>{V(g.rectRotateSensitivity)},v=()=>{O(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:T=>{var I;(I=y==null?void 0:y.pointCloudInstance)==null||I.updatePointSize({customSize:T})}}),React__default.default.createElement("span",{onClick:u,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:e,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:v,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.descend);return}b(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(f===EToolName.Point){S(ESortDirection.ascend);return}L(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:x,zoomIn:p,zoomOut:w,zoom:C}))},ZAxisSlider=({setZAxisLimit:o,zAxisLimit:s,checkMode:l})=>l?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:C=>{o(C)}})),PointCloudTopView=({currentData:o,imgList:s,stepInfo:l,drawLayerSlot:C,checkMode:p,intelligentFit:w,setIsEnlargeTopView:x,isEnlargeTopView:L,onExitZoom:b,highlightAttribute:S})=>{var V,O;const[g,y]=React.useState({zoom:1,currentPos:{x:0,y:0}}),f=React.useRef(null),e=React__default.default.useContext(PointCloudContext.PointCloudContext),u=useSize(f),v=index.jsonParser(l.config),{setZoom:T,syncTopviewToolZoom:I}=useZoom.useZoom(),{hideAttributes:k,setIsLargeStatus:A,clearAllDetectionInstance:Y}=e,{addPolygon:U,deletePolygon:Z}=usePolygon.usePolygon(),{deletePointCloudSphere:z}=useSphere.useSphere(),{deletePointCloudBox:H,changeValidByID:F}=useSingleBox.useSingleBox(),[N,W]=React.useState(10),{t:D}=reactI18next.useTranslation(),m=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:$}=useHistory.useHistory(),[M,q]=React.useState(!0);React.useLayoutEffect(()=>{if(!e.topViewInstance&&f.current&&(o==null?void 0:o.url)&&(o==null?void 0:o.result)){const n={width:f.current.clientWidth,height:f.current.clientHeight},a=new lbAnnotation.PointCloudAnnotation({container:f.current,size:n,pcdPath:o.url,config:__spreadProps(__spreadValues({},v),{pointCloudPattern:e.pointCloudPattern}),checkMode:p,toolName:ToolUtils.getPointCloudToolList(),proxyMode:p});e.setTopViewInstance(a)}},[o]),React.useEffect(()=>{if(!u||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:n}=e.topViewInstance;n.singleOn("dataUpdated",(t,i)=>{const d=___default.default.cloneDeep(t).map(r=>__spreadProps(__spreadValues({},r),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(r.pointList,u)}));e.setSelectedIDs(i),e.setLineList(d),$({lineList:d})}),n.singleOn("pointCreated",(t,i)=>{m.topViewAddSphere({newPoint:t,size:u,trackConfigurable:v.trackConfigurable,zoom:i})}),n.singleOn("pointDeleted",t=>{z(t)}),n.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),n.singleOn("updatePointByDrag",(t,i)=>{var d;(d=m.topViewUpdatePoint)==null||d.call(m,t,u)}),n.singleOn("polygonCreated",(t,i)=>{if(n.pattern===EPolygonPattern.Normal||!(o==null?void 0:o.url)){const d=__spreadProps(__spreadValues({},t),{pointList:t.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,u))});U(d),e.setSelectedIDs(k.includes(t.attribute)?"":t.id);return}q(!1),m.topViewAddBox({polygon:t,size:u,imgList:s,trackConfigurable:v.trackConfigurable,zoom:i,intelligentFit:w})}),n.singleOn("deletedObject",({id:t})=>{H(t),Z(t)}),n.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),n.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),n.singleOn("setSelectedIDs",t=>{q(!1),e.setSelectedIDs(t)}),n.singleOn("updatePolygonByDrag",t=>{var i;(i=m.topViewUpdateBox)==null||i.call(m,t,u)});const a=t=>{var i;const d=F(t);d&&e.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,d),e.polygonList.find(r=>r.id===t)&&((i=e.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(t,!0))};return n.on("validUpdate",a),()=>{n.unbind("validUpdate",a)}},[e,u,o,m,e.polygonList,e.lineList,(V=e.topViewInstance)==null?void 0:V.toolInstance]),React.useEffect(()=>{var n,a;if(!(u==null?void 0:u.width)||!e.topViewInstance)return;const t=(a=(n=v==null?void 0:v.attributeList)==null?void 0:n[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(u),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:i,toolInstance:d}}=e;d.singleOn("renderZoom",(r,c)=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(c,u,r);if(i.camera.zoom=r,c){const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R)}i.camera.updateProjectionMatrix(),i.render(),T(r),I(c,r,u),y({zoom:r,currentPos:c})}),d.singleOn("dragMove",({currentPos:r,zoom:c})=>{const{offsetX:h,offsetY:E}=TransferCanvas2WorldOffset(r,u,c);i.camera.zoom=c;const{x:P,y:j,z:R}=i.initCameraPosition;i.camera.position.set(P+E,j-h,R),i.render(),I(r,c,u),y({zoom:c,currentPos:r})})},[u,e.topViewInstance,(O=e.topViewInstance)==null?void 0:O.toolInstance]),React.useEffect(()=>{var n,a;(a=(n=e.topViewInstance)==null?void 0:n.pointCloudInstance)==null||a.applyZAxisPoints(N)},[N]),React.useEffect(()=>{var n,a,t,i;m.topViewSelectedChanged({}),(i=(t=(a=(n=e.topViewInstance)==null?void 0:n.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||i.call(t,e.selectedIDs)},[e.selectedIDs]),React.useEffect(()=>{const{topViewInstance:n,selectedID:a,selectedPointCloudBox:t,zoom:i}=e;if(!n||!a||!t||!M){q(!0);return}const{center:d}=t,{pointCloudInstance:r,toolInstance:c}=n,h=c.polygonList.find(X=>X.id===e.selectedID);if(!h){q(!0);return}const E=lbAnnotation.MathUtils.getRectCenterPoint(h.pointList),P=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(c.size,E,i);c.setCurrentPos(P),c.render();const{x:j,y:R,z:K}=r.initCameraPosition;r.camera.position.set(d.x,d.y,K),r.render(),I(P,i,u),y({zoom:i,currentPos:P})},[e.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",B),()=>{window.removeEventListener("keydown",B)}),[]);const B=n=>{const{keyCode:a}=n;a===EKeyCode.Esc&&b()};return React.useEffect(()=>{var n,a,t;(t=(a=(n=e.topViewInstance)==null?void 0:n.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,S)},[e.topViewInstance,S]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:L?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{b()}}),React__default.default.createElement("span",null,D("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:D("TopView"),onClick:()=>{A(!0),x(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:o})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:f},C==null?void 0:C(g)),!L&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v}),React__default.default.createElement(ZAxisSlider,{checkMode:p,zAxisLimit:N,setZAxisLimit:W}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js"),DynamicResizer=require("../DynamicResizer/DynamicResizer.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=i=>{const{currentData:s,imgList:L,drawLayerSlot:m,checkMode:l,intelligentFit:h,imgIndex:x,config:S,measureVisible:q,setResourceLoading:C,stepInfo:t}=i,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:f,setGlobalPattern:w,selectedIDs:v}=e,b=ctx.useDispatch(),g=React.useRef(null),p=React.useRef(null),[j,D]=React.useState(0),[a,P]=React.useState(!1),V=(v==null?void 0:v.length)>0&&a,N=index.jsonParser(s.result),{toolInstanceRef:r,clearToolInstance:y}=annotation.useCustomToolInstance({basicInfo:N});if(React.useEffect(()=>{r.current.setPointCloudGlobalPattern=n=>{n!==f&&(w(n),e.clearAllDetectionInstance(),y())}},[f]),React.useEffect(()=>{var n;if(actionCreators.SetLoadPCDFileLoading(b,!0),s){const{boxParamsList:o,polygonList:u,lineList:d,sphereParamsList:c,segmentation:R,rectList:I}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((n=s==null?void 0:s.result)!=null?n:"");e.setPointCloudResult(o),e.setPolygonList(u),e.setLineList(d),e.setPointCloudSphereList(c),e.setRectList(I),e.setSegmentation(R)}},[x]),React.useEffect(()=>{var n;if(g.current){const o=((n=g.current)==null?void 0:n.offsetHeight)-233;D(o)}},[p.current]),React.useEffect(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var n,o,u,d,c;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(o=e.lineList)!=null?o:[],resultPoint:(u=e.pointCloudSphereList)!=null?u:[],resultRect:(d=e.rectList)!=null?d:[],segmentation:(c=e.segmentation)!=null?c:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),L.length===0)return null;if(f===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:l,toolInstanceRef:r}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:l}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:S}),m==null?void 0:m({direct:!0}));let E=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:l}),React__default.default.createElement(PointCloudSideView,{checkMode:l}));return a&&(E=React__default.default.createElement(index$2,{selectAndEnlarge:V,checkMode:l})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:l,toolInstanceRef:r,setResourceLoading:C}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:n=>n.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content"),ref:p},React__default.default.createElement(DynamicResizer,{direction:"horizontal",localKey:"leftAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%"},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,{setResourceLoading:C}),E),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:a}),ref:g},React__default.default.createElement(DynamicResizer,{localKey:"rightAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultHeight:300,minTopHeight:j,minBottomHeight:160},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:m,checkMode:l,intelligentFit:h,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:a}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right-bottom")]:!a,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:a})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:a,thumbnailWidth:a?300:455,checkMode:l,measureVisible:q})))))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js"),DynamicResizer=require("../DynamicResizer/DynamicResizer.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=i=>{const{currentData:s,imgList:h,drawLayerSlot:f,checkMode:l,intelligentFit:x,imgIndex:S,config:b,measureVisible:q,setResourceLoading:v,stepInfo:t}=i,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:g,setGlobalPattern:w,selectedIDs:p,isLargeStatus:u,setIsLargeStatus:j}=e,D=ctx.useDispatch(),C=React.useRef(null),P=React.useRef(null),[V,N]=React.useState(0),[a,L]=React.useState(!1),y=(p==null?void 0:p.length)>0&&a,R=index.jsonParser(s.result),{toolInstanceRef:r,clearToolInstance:I}=annotation.useCustomToolInstance({basicInfo:R});if(React.useEffect(()=>{r.current.setPointCloudGlobalPattern=n=>{n!==g&&(w(n),e.clearAllDetectionInstance(),I())}},[g]),React.useEffect(()=>{var n;if(actionCreators.SetLoadPCDFileLoading(D,!0),s){const{boxParamsList:o,polygonList:d,lineList:c,sphereParamsList:m,segmentation:A,rectList:_}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((n=s==null?void 0:s.result)!=null?n:"");e.setPointCloudResult(o),e.setPolygonList(d),e.setLineList(c),e.setPointCloudSphereList(m),e.setRectList(_),e.setSegmentation(A)}},[S]),React.useEffect(()=>{var n;if(C.current){const o=((n=C.current)==null?void 0:n.offsetHeight)-233;N(o)}},[P.current]),React.useEffect(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var n,o,d,c,m;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(o=e.lineList)!=null?o:[],resultPoint:(d=e.pointCloudSphereList)!=null?d:[],resultRect:(c=e.rectList)!=null?c:[],segmentation:(m=e.segmentation)!=null?m:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),h.length===0)return null;if(g===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:l,toolInstanceRef:r}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:l}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:b}),f==null?void 0:f({direct:!0}));let E=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:l}),React__default.default.createElement(PointCloudSideView,{checkMode:l}));return a&&(E=React__default.default.createElement(index$2,{selectAndEnlarge:y,checkMode:l})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:l,toolInstanceRef:r,setResourceLoading:v}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:n=>n.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content"),ref:P},React__default.default.createElement(DynamicResizer,{direction:"horizontal",localKey:"leftAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%",disabled:u},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container",u?"left-large":"left-noLarge")},React__default.default.createElement(PointCloud3DView,{setResourceLoading:v}),E),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:a}),ref:C},React__default.default.createElement(DynamicResizer,{localKey:"rightAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultHeight:300,minTopHeight:V,minBottomHeight:160,disabled:u},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:f,checkMode:l,intelligentFit:x,setIsEnlargeTopView:L,onExitZoom:()=>{j(!1),L(!1)},isEnlargeTopView:a}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container",u?"right-bottom-large":"right-bottom-noLarge")]:!a,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:a})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:a,thumbnailWidth:a?300:455,checkMode:l,measureVisible:q})))))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
package/dist/index.css CHANGED
@@ -2714,8 +2714,13 @@
2714
2714
  .bee-point-cloud-wrapper .bee-point-cloud-container__zoom .bee-point-cloud-highlight-view {
2715
2715
  display: none;
2716
2716
  }
2717
- .bee-point-cloud-wrapper .bee-point-cloud-container__left {
2717
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large {
2718
+ width: 455px;
2719
+ }
2720
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge {
2718
2721
  width: 100%;
2722
+ }
2723
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge {
2719
2724
  display: flex;
2720
2725
  flex-direction: column;
2721
2726
  border-right: 1px solid #fff;
@@ -2723,23 +2728,23 @@
2723
2728
  overflow: hidden;
2724
2729
  flex-shrink: 0;
2725
2730
  }
2726
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container {
2731
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container {
2727
2732
  background: #444;
2728
2733
  display: flex;
2729
2734
  flex-direction: column;
2730
2735
  overflow: hidden;
2731
2736
  flex: 1;
2732
2737
  }
2733
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-content {
2738
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-content, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-content {
2734
2739
  display: flex;
2735
2740
  flex: 1;
2736
2741
  overflow: hidden;
2737
2742
  }
2738
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view {
2743
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view {
2739
2744
  flex: 1;
2740
2745
  overflow: hidden;
2741
2746
  }
2742
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar {
2747
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar {
2743
2748
  transition: width 0.5s;
2744
2749
  padding-left: 16px;
2745
2750
  height: 100%;
@@ -2751,10 +2756,10 @@
2751
2756
  justify-content: flex-start;
2752
2757
  overflow-y: scroll;
2753
2758
  }
2754
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar {
2759
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar {
2755
2760
  display: none;
2756
2761
  }
2757
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2762
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2758
2763
  display: inline-block;
2759
2764
  height: 36px;
2760
2765
  width: 36px;
@@ -2766,16 +2771,16 @@
2766
2771
  background-color: #444;
2767
2772
  border-radius: 4px;
2768
2773
  }
2769
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset {
2774
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset {
2770
2775
  background-image: url("../dist/assets/icons/25ef334b.svg");
2771
2776
  margin: 16px 0;
2772
2777
  }
2773
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2778
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2774
2779
  margin: 16px 0 0 0;
2775
2780
  background-size: 36px;
2776
2781
  background-image: url("../dist/assets/icons/aa147cfc.png");
2777
2782
  }
2778
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2783
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2779
2784
  display: inline-block;
2780
2785
  height: 36px;
2781
2786
  width: 36px;
@@ -2785,60 +2790,60 @@
2785
2790
  background-image: url("../dist/assets/icons/c5b4262e.png");
2786
2791
  margin-bottom: 8px;
2787
2792
  }
2788
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active {
2793
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active {
2789
2794
  background-image: url("../dist/assets/icons/e4f0b7fe.png");
2790
2795
  }
2791
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top {
2796
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top {
2792
2797
  background-position: 0 0;
2793
2798
  }
2794
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front {
2799
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front {
2795
2800
  background-position-y: -44px;
2796
2801
  }
2797
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left {
2802
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left {
2798
2803
  background-position-y: -88px;
2799
2804
  }
2800
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back {
2805
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back {
2801
2806
  background-position-y: -132px;
2802
2807
  }
2803
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right {
2808
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right {
2804
2809
  background-position-y: -176px;
2805
2810
  }
2806
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom {
2811
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom {
2807
2812
  background-position-y: -220px;
2808
2813
  }
2809
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft {
2814
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft {
2810
2815
  background-position-y: -264px;
2811
2816
  }
2812
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2817
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2813
2818
  background-position-y: -308px;
2814
2819
  margin-bottom: 0px;
2815
2820
  }
2816
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom {
2821
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom {
2817
2822
  padding-left: 16px;
2818
2823
  height: 100%;
2819
2824
  background-color: #4c4c4c;
2820
2825
  box-sizing: content-box;
2821
2826
  display: flex;
2822
2827
  }
2823
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset {
2828
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset {
2824
2829
  margin: 0px 4px;
2825
2830
  }
2826
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop {
2831
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop {
2827
2832
  margin: 0px 4px;
2828
2833
  }
2829
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt {
2834
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt {
2830
2835
  background-color: #444;
2831
2836
  border-radius: 4px;
2832
2837
  margin: 0px 4px;
2833
2838
  }
2834
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom-float {
2839
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom-float, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom-float {
2835
2840
  position: fixed;
2836
2841
  bottom: 0px;
2837
2842
  right: 0px;
2838
2843
  z-index: 1003;
2839
2844
  border: 1px solid #fff;
2840
2845
  }
2841
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader {
2846
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader {
2842
2847
  line-height: 24px;
2843
2848
  font-size: 12px;
2844
2849
  width: 100%;
@@ -2847,13 +2852,13 @@
2847
2852
  text-align: center;
2848
2853
  cursor: grabbing;
2849
2854
  }
2850
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom {
2855
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom {
2851
2856
  flex: 1;
2852
2857
  flex-direction: column;
2853
2858
  display: flex;
2854
2859
  overflow: hidden;
2855
2860
  }
2856
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page {
2861
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page {
2857
2862
  position: absolute;
2858
2863
  left: 0;
2859
2864
  top: 0;
@@ -2869,11 +2874,12 @@
2869
2874
  height: 100%;
2870
2875
  width: 100%;
2871
2876
  }
2872
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text {
2877
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text {
2873
2878
  margin-top: 8px;
2874
2879
  }
2875
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2876
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view {
2880
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2881
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2882
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view {
2877
2883
  position: relative;
2878
2884
  flex: 1;
2879
2885
  display: flex;
@@ -2881,12 +2887,14 @@
2881
2887
  flex-direction: column;
2882
2888
  border-top: 1px solid white;
2883
2889
  }
2884
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2885
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content {
2890
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2891
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2892
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content {
2886
2893
  height: 100%;
2887
2894
  }
2888
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2889
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance {
2895
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2896
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2897
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance {
2890
2898
  position: relative;
2891
2899
  width: 100%;
2892
2900
  height: 100%;
@@ -2948,18 +2956,23 @@
2948
2956
  border-right: 1px solid #fff;
2949
2957
  border-bottom: 1px solid #fff;
2950
2958
  }
2951
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom {
2959
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large {
2960
+ flex: 1;
2961
+ }
2962
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge {
2952
2963
  height: 100%;
2964
+ }
2965
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge {
2953
2966
  display: flex;
2954
2967
  overflow: auto;
2955
2968
  }
2956
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom .bee-point-cloud-2d-container {
2969
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large .bee-point-cloud-2d-container, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge .bee-point-cloud-2d-container {
2957
2970
  flex-direction: column;
2958
2971
  display: flex;
2959
2972
  overflow: hidden;
2960
2973
  flex-shrink: 0;
2961
2974
  }
2962
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom .bee-point-cloud-2d-image {
2975
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large .bee-point-cloud-2d-image, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge .bee-point-cloud-2d-image {
2963
2976
  flex: 1;
2964
2977
  height: 100%;
2965
2978
  background-color: #4c4c4c;
@@ -11,6 +11,7 @@ interface Common {
11
11
  minRightWidth?: number | string;
12
12
  localKey?: string;
13
13
  enableEdges?: EdgeDirection[];
14
+ disabled?: boolean;
14
15
  onResizeStart?: () => void;
15
16
  onResize?: () => void;
16
17
  onResizeStop?: () => void;
@@ -102,6 +102,8 @@ export interface IPointCloudContext extends IPointCloudContextInstances, IPointC
102
102
  linkageImageNameRectMap: MapIndirectWeakSet<IPointCloudBoxRect>;
103
103
  updateRectListByReducer: UpdateRectListByReducer;
104
104
  windowKeydownListenerHook: WindowKeydownListenerHooker;
105
+ isLargeStatus: boolean;
106
+ setIsLargeStatus: (isLargeStatus: boolean) => void;
105
107
  }
106
108
  export declare const PointCloudContext: React.Context<IPointCloudContext>;
107
109
  export declare const PointCloudProvider: React.FC<PropsWithChildren<{}>>;
@@ -1 +1 @@
1
- import a,{useRef as O}from"react";import{Resizable as P}from"re-resizable";import b from"./hooks/useDrag.js";var z=Object.defineProperty,s=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,w=Object.prototype.propertyIsEnumerable,l=(t,e,r)=>e in t?z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,E=(t,e)=>{for(var r in e||(e={}))g.call(e,r)&&l(t,r,e[r]);if(s)for(var r of s(e))w.call(e,r)&&l(t,r,e[r]);return t};const R=({direction:t="vertical",children:e,defaultWidth:r,defaultHeight:i,minTopHeight:n,minBottomHeight:c,minLeftWidth:m,minRightWidth:p,localKey:f,enableEdges:u=["right","bottom"],onResizeStart:_,onResize:d,onResizeStop:v})=>{const o=O(null),y=b({direction:t,containerRef:o,defaultHeight:i,defaultWidth:r,minTopHeight:n,minBottomHeight:c,minLeftWidth:m,minRightWidth:p,localKey:f,enableEdges:u,onResizeStart:_,onResize:d,onResizeStop:v});return a.createElement("div",{className:`dynamic-resizer-content ${t}`,ref:o},a.createElement(P,E({},y),a.createElement("div",{className:"resizable-child"},e[0])),a.createElement("div",{className:"resizable-child-two"},e[1]))};export{R as default};
1
+ import s,{useRef as b}from"react";import{Resizable as z}from"re-resizable";import g from"./hooks/useDrag.js";var h=Object.defineProperty,l=Object.getOwnPropertySymbols,w=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,n=(t,e,r)=>e in t?h(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,R=(t,e)=>{for(var r in e||(e={}))w.call(e,r)&&n(t,r,e[r]);if(l)for(var r of l(e))E.call(e,r)&&n(t,r,e[r]);return t};const N=({direction:t="vertical",children:e,defaultWidth:r,defaultHeight:i,minTopHeight:c,minBottomHeight:m,minLeftWidth:p,minRightWidth:f,localKey:u,enableEdges:y=["right","bottom"],disabled:d=!1,onResizeStart:_,onResize:v,onResizeStop:O})=>{const o=b(null),P=g({direction:t,containerRef:o,defaultHeight:i,defaultWidth:r,minTopHeight:c,minBottomHeight:m,minLeftWidth:p,minRightWidth:f,localKey:u,enableEdges:y,onResizeStart:_,onResize:v,onResizeStop:O}),a=d?{display:"contents"}:void 0;return s.createElement("div",{style:a,className:`dynamic-resizer-content ${t}`,ref:o},s.createElement(z,R({style:a},P),s.createElement("div",{style:a,className:"resizable-child"},e[0])),s.createElement("div",{style:a,className:"resizable-child-two"},e[1]))};export{N as default};
@@ -1 +1 @@
1
- import{getClassName as _}from"../../utils/dom.js";import t,{useState as f,useContext as z,useCallback as $,useRef as q,useEffect as j}from"react";import{PointCloudContainer as D}from"./PointCloudLayout.js";import{PointCloudContext as M}from"./PointCloudContext.js";import{connect as W}from"react-redux";import{cKeyCode as H,EventBus as G}from"@labelbee/lb-annotation";import{LabelBeeContext as J}from"../../store/ctx.js";import{a2MapStateToProps as Q}from"../../store/annotation/map.js";import U from"./PointCloud2DSingleView.js";import S from"./components/TitleButton/index.js";import{LeftOutlined as X}from"@ant-design/icons";import Y from"classnames";import Z from"../../assets/annotation/common/icon_esc.svg.js";import ee from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import te from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";import ne from"../../_virtual/2DViewWorker.js";import{useLatest as oe}from"ahooks";const C=H.default,ie=({showEnlarge:n,isEnlargeTopView:v,data:l,setIsEnlarge:c,setCurIndex:m,curIndex:u=0,index:E,annotations2d:p})=>v?t.createElement(S,{title:l==null?void 0:l.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):n?t.createElement("div",{style:{display:"flex",alignItems:"center"}},t.createElement(X,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{c(!1),m(void 0)}}),t.createElement("span",null,l==null?void 0:l.calName),t.createElement("span",{style:{marginLeft:"8px"}},u+1,"/",p==null?void 0:p.length)):t.createElement(S,{title:l==null?void 0:l.calName,onClick:()=>{c(!0),m(E)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),le=({currentData:n,config:v,thumbnailWidth:l,isEnlargeTopView:c,highlightAttribute:m,loadPCDFileLoading:u,checkMode:E,measureVisible:p})=>{var h;const[a,N]=f([]),{topViewInstance:R,displayPointCloudList:k,polygonList:w,imageSizes:F,selectedIDs:b,windowKeydownListenerHook:x}=z(M),[L,A]=f(""),[d,V]=f(!1),[r,g]=f(void 0),y=$(e=>{V(e),G.emit("2d-image:enlarge",e)},[]),s=q();j(()=>{var e;if(!u&&R&&(n==null?void 0:n.mappingImgList)&&((e=n==null?void 0:n.mappingImgList)==null?void 0:e.length)>0)return s.current&&s.current.terminate(),s.current=new ne,s.current.onmessage=o=>{var i;const O=o.data;N(O),(i=s.current)==null||i.terminate()},s.current.postMessage({currentData:n,displayPointCloudList:k,selectedID:L,highlightAttribute:m,imageSizes:F,config:v,polygonList:w,selectedIDs:b}),()=>{var o;(o=s.current)==null||o.terminate()}},[k,n==null?void 0:n.mappingImgList,L,m,u,w,F,b]);const T=oe(e=>{if(!d)return;const o=()=>{e.stopImmediatePropagation()};switch(e.keyCode){case C.Esc:{y(!1);break}case C.Left:{I();break}case C.Right:{P();break}}o()}),I=()=>{r===void 0||!d||Number(r)>0&&g(r-1)},P=()=>{r===void 0||!d||Number(r)<(a==null?void 0:a.length)-1&&g(r+1)};j(()=>{const e=i=>T.current(i);return x.preappendEventListener(e)},[x,x.preappendEventListener]);const B=!n||!(n==null?void 0:n.mappingImgList)||!(((h=n==null?void 0:n.mappingImgList)==null?void 0:h.length)>0),K=t.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},t.createElement("img",{src:ee,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>I()}),t.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),t.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),t.createElement("img",{src:te,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>P()}),t.createElement("img",{src:Z,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{y(!1),g(void 0)}}),t.createElement("span",null,"\u952E\u9000\u51FA"));return(a==null?void 0:a.length)>0?t.createElement(t.Fragment,null,a.map((e,o)=>{const i=d&&o===r;return t.createElement(D,{className:Y({[_("point-cloud-2d-container")]:!0,[_("point-cloud-container","zoom")]:i}),title:t.createElement(ie,{showEnlarge:i,isEnlargeTopView:c,data:e,setIsEnlarge:y,setCurIndex:g,curIndex:r,index:o,annotations2d:a}),titleOnSurface:!i,style:{display:B?"none":"flex",width:i?"100%":l},key:o,toolbar:K},(e==null?void 0:e.annotations)&&(e==null?void 0:e.url)&&t.createElement(U,{key:e.url,currentData:n,view2dData:e,setSelectedID:A,showEnlarge:i,checkMode:E,measureVisible:p}))})):null};var re=W(Q,null,null,{context:J})(le);export{re as default};
1
+ import{getClassName as _}from"../../utils/dom.js";import t,{useState as f,useContext as $,useCallback as q,useRef as D,useEffect as j}from"react";import{PointCloudContainer as M}from"./PointCloudLayout.js";import{PointCloudContext as W}from"./PointCloudContext.js";import{connect as H}from"react-redux";import{cKeyCode as G,EventBus as J}from"@labelbee/lb-annotation";import{LabelBeeContext as Q}from"../../store/ctx.js";import{a2MapStateToProps as U}from"../../store/annotation/map.js";import X from"./PointCloud2DSingleView.js";import S from"./components/TitleButton/index.js";import{LeftOutlined as Y}from"@ant-design/icons";import Z from"classnames";import ee from"../../assets/annotation/common/icon_esc.svg.js";import te from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import ne from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";import oe from"../../_virtual/2DViewWorker.js";import{useLatest as ie}from"ahooks";const C=G.default,le=({showEnlarge:n,isEnlargeTopView:v,data:l,setIsEnlarge:u,setCurIndex:m,curIndex:c=0,index:E,annotations2d:p})=>v?t.createElement(S,{title:l==null?void 0:l.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):n?t.createElement("div",{style:{display:"flex",alignItems:"center"}},t.createElement(Y,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{u(!1),m(void 0)}}),t.createElement("span",null,l==null?void 0:l.calName),t.createElement("span",{style:{marginLeft:"8px"}},c+1,"/",p==null?void 0:p.length)):t.createElement(S,{title:l==null?void 0:l.calName,onClick:()=>{u(!0),m(E)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),se=({currentData:n,config:v,thumbnailWidth:l,isEnlargeTopView:u,highlightAttribute:m,loadPCDFileLoading:c,checkMode:E,measureVisible:p})=>{var h;const[a,N]=f([]),{topViewInstance:R,displayPointCloudList:k,polygonList:w,imageSizes:F,selectedIDs:L,windowKeydownListenerHook:x,setIsLargeStatus:A}=$(W),[b,V]=f(""),[d,T]=f(!1),[s,g]=f(void 0),y=q(e=>{A(e),T(e),J.emit("2d-image:enlarge",e)},[]),r=D();j(()=>{var e;if(!c&&R&&(n==null?void 0:n.mappingImgList)&&((e=n==null?void 0:n.mappingImgList)==null?void 0:e.length)>0)return r.current&&r.current.terminate(),r.current=new oe,r.current.onmessage=o=>{var i;const z=o.data;N(z),(i=r.current)==null||i.terminate()},r.current.postMessage({currentData:n,displayPointCloudList:k,selectedID:b,highlightAttribute:m,imageSizes:F,config:v,polygonList:w,selectedIDs:L}),()=>{var o;(o=r.current)==null||o.terminate()}},[k,n==null?void 0:n.mappingImgList,b,m,c,w,F,L]);const B=ie(e=>{if(!d)return;const o=()=>{e.stopImmediatePropagation()};switch(e.keyCode){case C.Esc:{y(!1);break}case C.Left:{I();break}case C.Right:{P();break}}o()}),I=()=>{s===void 0||!d||Number(s)>0&&g(s-1)},P=()=>{s===void 0||!d||Number(s)<(a==null?void 0:a.length)-1&&g(s+1)};j(()=>{const e=i=>B.current(i);return x.preappendEventListener(e)},[x,x.preappendEventListener]);const K=!n||!(n==null?void 0:n.mappingImgList)||!(((h=n==null?void 0:n.mappingImgList)==null?void 0:h.length)>0),O=t.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},t.createElement("img",{src:te,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>I()}),t.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),t.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),t.createElement("img",{src:ne,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>P()}),t.createElement("img",{src:ee,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{y(!1),g(void 0)}}),t.createElement("span",null,"\u952E\u9000\u51FA"));return(a==null?void 0:a.length)>0?t.createElement(t.Fragment,null,a.map((e,o)=>{const i=d&&o===s;return t.createElement(M,{className:Z({[_("point-cloud-2d-container")]:!0,[_("point-cloud-container","zoom")]:i}),title:t.createElement(le,{showEnlarge:i,isEnlargeTopView:u,data:e,setIsEnlarge:y,setCurIndex:g,curIndex:s,index:o,annotations2d:a}),titleOnSurface:!i,style:{display:K?"none":"flex",width:i?"100%":l},key:o,toolbar:O},(e==null?void 0:e.annotations)&&(e==null?void 0:e.url)&&t.createElement(X,{key:e.url,currentData:n,view2dData:e,setSelectedID:V,showEnlarge:i,checkMode:E,measureVisible:p}))})):null};var re=H(U,null,null,{context:Q})(se);export{re as default};
@@ -1 +1 @@
1
- import{getClassName as u}from"../../utils/dom.js";import{cKeyCode as $,PointCloud as ee}from"@labelbee/lb-annotation";import{PointCloudUtils as T,EPerspectiveView as E}from"@labelbee/lb-utils";import R from"classnames";import o,{useContext as b,useState as y,useRef as te,useEffect as p,useMemo as oe}from"react";import{PointCloudContainer as ne}from"./PointCloudLayout.js";import{PointCloudContext as ie}from"./PointCloudContext.js";import{a2MapStateToProps as le}from"../../store/annotation/map.js";import{connect as re}from"react-redux";import{jsonParser as se}from"../../utils/index.js";import{useSingleBox as O}from"./hooks/useSingleBox.js";import{useSphere as ae}from"./hooks/useSphere.js";import{Switch as ce,Tooltip as de}from"antd";import ue from"../../hooks/useSize.js";import{usePointCloudViews as me}from"./hooks/usePointCloudViews.js";import{useTranslation as A}from"react-i18next";import{LabelBeeContext as pe}from"../../store/ctx.js";import we from"./components/PointCloudSizeSlider/index.js";import ve from"./components/TitleButton/index.js";import{LeftOutlined as fe}from"@ant-design/icons";import{useToolStyleContext as Ce}from"../../hooks/useToolStyle.js";import{usePointCloudAttribute as Ve}from"./hooks/usePointCloudAttribute.js";var ge=Object.defineProperty,F=Object.getOwnPropertySymbols,Ie=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,H=(n,l,r)=>l in n?ge(n,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[l]=r,Ee=(n,l)=>{for(var r in l||(l={}))Ie.call(l,r)&&H(n,r,l[r]);if(F)for(var r of F(l))Pe.call(l,r)&&H(n,r,l[r]);return n};const he=$.default,xe="LABELBEE-POINTCLOUD",h=o.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),v=({perspectiveView:n})=>{const{isActive:l,setTarget3DView:r}=b(h),f=w=>R({[u("point-cloud-3d-view",w)]:!0,active:l});return o.createElement("span",{onClick:()=>{r(E[n])},className:f(n.toLocaleLowerCase())})},U=({isEnlarge:n})=>{const{reset3DView:l,followTopView:r}=b(h),{t:f}=A(),w=o.createElement(o.Fragment,null,o.createElement(v,{perspectiveView:"Top"}),o.createElement(v,{perspectiveView:"Front"}),o.createElement(v,{perspectiveView:"Left"}),o.createElement(v,{perspectiveView:"Back"}),o.createElement(v,{perspectiveView:"Right"}),o.createElement(v,{perspectiveView:"LFT"}),o.createElement(v,{perspectiveView:"RBT"})),e=o.createElement(o.Fragment,null,o.createElement(de,{title:f("CameraFollowTopView")},o.createElement("span",{onClick:()=>{r()},className:u("point-cloud-3d-view","followTop")})),o.createElement("span",{onClick:()=>{l()},className:u("point-cloud-3d-view","reset")}));return n?o.createElement("div",{className:u("point-cloud-3d-sidebarZoom")},e,w):o.createElement("div",{className:u("point-cloud-3d-sidebar")},w,e)},_e=({currentData:n,config:l,highlightAttribute:r,setResourceLoading:f})=>{var w;const e=b(ie),[K,M]=y(!0),[C,x]=y(!1),V=te(null),{initPointCloud3d:B,generateRects:Z}=me(),g=ue(V),{t:_}=A(),{value:L}=Ce(),{hiddenText:j}=L||{},{updatePointCloudAttribute:q}=Ve(f,l),{updateSelectedBox:G}=O({generateRects:Z});p(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(j,e.pointCloudBoxList)},[L]),p(()=>{!e.mainViewInstance||B==null||B(g)},[g]);const{selectedBox:m}=O(),{selectedSphere:I}=ae(),[J,D]=y(!0),S=t=>{var i,s;const a=m==null?void 0:m.info;if(a){const c=Ee({},a.center);c.x=c.x-.01,c.z=1e3;const d=t===E.Top;(i=e.mainViewInstance)==null||i.updateCameraByBox(a,t,d?c:void 0)}I&&((s=e.mainViewInstance)==null||s.updateCameraBySphere(I,t))},Q=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},W=()=>{var t,i;const s=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;s&&((i=e.mainViewInstance)==null||i.applyCameraTarget(s))};p(()=>{if(V.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&g.width&&(t=new ee({container:V.current,isOrthographicCamera:!0,orthographicParams:T.getDefaultOrthographicParams(g),config:l,hiddenText:j}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:D}),e.setMainViewInstance(t))}},[g,n]),p(()=>{var t,i;if(V.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let s=e.mainViewInstance;const a=T.getRectParamsFromResultList(n.result),c=T.getBoxParamsFromResultList(n.result),d=c.find(P=>P.id===e.selectedID);d&&((t=e.topViewInstance)==null||t.updatePolygonList(c,void 0),q(d.attribute),G(d),e.setSelectedIDs(d.id)),e.setPointCloudValid((i=se(n.result))==null?void 0:i.valid),e.setPointCloudResult(c),e.setRectList(a),s.generateBoxes(c)}},[n.result,e.mainViewInstance]),p(()=>{var t,i,s,a,c,d,P;const N=(t=m==null?void 0:m.info)==null?void 0:t.id;if(!J){D(!0);return}if(N!==void 0){S(E.Top);const Y=(a=(s=(i=e.topViewInstance)==null?void 0:i.pointCloudInstance)==null?void 0:s.camera.zoom)!=null?a:1;(c=e.mainViewInstance)==null||c.updateCameraZoom(Y)}(d=e.mainViewInstance)==null||d.setHighlightColor(N),(P=e.mainViewInstance)==null||P.render()},[(w=m==null?void 0:m.info)==null?void 0:w.id]),p(()=>{var t,i,s,a;if(I){S(E.Top);const c=(s=(i=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?s:1;(a=e.mainViewInstance)==null||a.updateCameraZoom(c)}},[I]),p(()=>(window.addEventListener("keydown",z),()=>{window.removeEventListener("keydown",z)}),[]);const z=t=>{if(t.keyCode===he.Esc){x(!1);return}},k=oe(()=>({reset3DView:Q,setTarget3DView:S,isActive:!!m,followTopView:W}),[m,e.mainViewInstance]);p(()=>{var t,i,s;const a=e.pointCloudBoxList.filter(c=>c.attribute===r);(a==null?void 0:a.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(i=e.mainViewInstance)==null||i.highlightBoxes(a)),a.length===0&&((s=e.mainViewInstance)==null||s.clearHighlightBoxesAndRender())},[r,e.mainViewInstance]);const X=o.createElement(o.Fragment,null,o.createElement(we,{onChange:t=>{var i;(i=e.mainViewInstance)==null||i.updatePointSize({customSize:t})}}),o.createElement("span",{style:{marginRight:8}},_("ShowArrows")),o.createElement(ce,{size:"small",checked:K,onChange:t=>{var i;M(t),(i=e.mainViewInstance)==null||i.setShowDirection(t)}}),C&&o.createElement(h.Provider,{value:k},o.createElement(U,{isEnlarge:C})));return o.createElement(ne,{className:R({[u("point-cloud-3d-container")]:!0,[u("point-cloud-container","zoom")]:C}),title:C?o.createElement("div",{style:{display:"flex",alignItems:"center"}},o.createElement(fe,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{x(!1)}}),_("3DView")):o.createElement(ve,{title:_("3DView"),onClick:()=>{x(!0)}}),toolbar:X},o.createElement("div",{className:u("point-cloud-3d-content")},!C&&o.createElement(h.Provider,{value:k},o.createElement(U,null)),o.createElement("div",{className:u("point-cloud-3d-view"),id:xe,ref:V})))};var Se=re(le,null,null,{context:pe})(_e);export{Se as default};
1
+ import{getClassName as u}from"../../utils/dom.js";import{cKeyCode as ee,PointCloud as te}from"@labelbee/lb-annotation";import{PointCloudUtils as T,EPerspectiveView as E}from"@labelbee/lb-utils";import O from"classnames";import o,{useContext as b,useState as y,useRef as oe,useEffect as p,useMemo as ne}from"react";import{PointCloudContainer as ie}from"./PointCloudLayout.js";import{PointCloudContext as le}from"./PointCloudContext.js";import{a2MapStateToProps as se}from"../../store/annotation/map.js";import{connect as re}from"react-redux";import{jsonParser as ae}from"../../utils/index.js";import{useSingleBox as A}from"./hooks/useSingleBox.js";import{useSphere as ce}from"./hooks/useSphere.js";import{Switch as de,Tooltip as ue}from"antd";import me from"../../hooks/useSize.js";import{usePointCloudViews as pe}from"./hooks/usePointCloudViews.js";import{useTranslation as F}from"react-i18next";import{LabelBeeContext as we}from"../../store/ctx.js";import ve from"./components/PointCloudSizeSlider/index.js";import fe from"./components/TitleButton/index.js";import{LeftOutlined as Ce}from"@ant-design/icons";import{useToolStyleContext as Ve}from"../../hooks/useToolStyle.js";import{usePointCloudAttribute as ge}from"./hooks/usePointCloudAttribute.js";var Ie=Object.defineProperty,H=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Ee=Object.prototype.propertyIsEnumerable,U=(n,l,s)=>l in n?Ie(n,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):n[l]=s,he=(n,l)=>{for(var s in l||(l={}))Pe.call(l,s)&&U(n,s,l[s]);if(H)for(var s of H(l))Ee.call(l,s)&&U(n,s,l[s]);return n};const xe=ee.default,_e="LABELBEE-POINTCLOUD",h=o.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),v=({perspectiveView:n})=>{const{isActive:l,setTarget3DView:s}=b(h),f=w=>O({[u("point-cloud-3d-view",w)]:!0,active:l});return o.createElement("span",{onClick:()=>{s(E[n])},className:f(n.toLocaleLowerCase())})},K=({isEnlarge:n})=>{const{reset3DView:l,followTopView:s}=b(h),{t:f}=F(),w=o.createElement(o.Fragment,null,o.createElement(v,{perspectiveView:"Top"}),o.createElement(v,{perspectiveView:"Front"}),o.createElement(v,{perspectiveView:"Left"}),o.createElement(v,{perspectiveView:"Back"}),o.createElement(v,{perspectiveView:"Right"}),o.createElement(v,{perspectiveView:"LFT"}),o.createElement(v,{perspectiveView:"RBT"})),e=o.createElement(o.Fragment,null,o.createElement(ue,{title:f("CameraFollowTopView")},o.createElement("span",{onClick:()=>{s()},className:u("point-cloud-3d-view","followTop")})),o.createElement("span",{onClick:()=>{l()},className:u("point-cloud-3d-view","reset")}));return n?o.createElement("div",{className:u("point-cloud-3d-sidebarZoom")},e,w):o.createElement("div",{className:u("point-cloud-3d-sidebar")},w,e)},Se=({currentData:n,config:l,highlightAttribute:s,setResourceLoading:f})=>{var w;const e=b(le),{setIsLargeStatus:B}=e,[M,Z]=y(!0),[C,x]=y(!1),V=oe(null),{initPointCloud3d:L,generateRects:q}=pe(),g=me(V),{t:_}=F(),{value:j}=Ve(),{hiddenText:D}=j||{},{updatePointCloudAttribute:G}=ge(f,l),{updateSelectedBox:J}=A({generateRects:q});p(()=>{let t=e.mainViewInstance;t&&t.updateHiddenTextAndRender(D,e.pointCloudBoxList)},[j]),p(()=>{!e.mainViewInstance||L==null||L(g)},[g]);const{selectedBox:m}=A(),{selectedSphere:I}=ce(),[Q,z]=y(!0),S=t=>{var i,r;const a=m==null?void 0:m.info;if(a){const c=he({},a.center);c.x=c.x-.01,c.z=1e3;const d=t===E.Top;(i=e.mainViewInstance)==null||i.updateCameraByBox(a,t,d?c:void 0)}I&&((r=e.mainViewInstance)==null||r.updateCameraBySphere(I,t))},W=()=>{var t;(t=e.mainViewInstance)==null||t.resetCamera()},X=()=>{var t,i;const r=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance.camera;r&&((i=e.mainViewInstance)==null||i.applyCameraTarget(r))};p(()=>{if(V.current&&(n==null?void 0:n.url)){let t=e.mainViewInstance;!t&&g.width&&(t=new te({container:V.current,isOrthographicCamera:!0,orthographicParams:T.getDefaultOrthographicParams(g),config:l,hiddenText:D}),t.setHandlerPipe({setSelectedIDs:e.setSelectedIDs,setNeedUpdateCenter:z}),e.setMainViewInstance(t))}},[g,n]),p(()=>{var t,i;if(V.current&&(n==null?void 0:n.url)&&n.result&&e.mainViewInstance){let r=e.mainViewInstance;const a=T.getRectParamsFromResultList(n.result),c=T.getBoxParamsFromResultList(n.result),d=c.find(P=>P.id===e.selectedID);d&&((t=e.topViewInstance)==null||t.updatePolygonList(c,void 0),G(d.attribute),J(d),e.setSelectedIDs(d.id)),e.setPointCloudValid((i=ae(n.result))==null?void 0:i.valid),e.setPointCloudResult(c),e.setRectList(a),r.generateBoxes(c)}},[n.result,e.mainViewInstance]),p(()=>{var t,i,r,a,c,d,P;const R=(t=m==null?void 0:m.info)==null?void 0:t.id;if(!Q){z(!0);return}if(R!==void 0){S(E.Top);const $=(a=(r=(i=e.topViewInstance)==null?void 0:i.pointCloudInstance)==null?void 0:r.camera.zoom)!=null?a:1;(c=e.mainViewInstance)==null||c.updateCameraZoom($)}(d=e.mainViewInstance)==null||d.setHighlightColor(R),(P=e.mainViewInstance)==null||P.render()},[(w=m==null?void 0:m.info)==null?void 0:w.id]),p(()=>{var t,i,r,a;if(I){S(E.Top);const c=(r=(i=(t=e.topViewInstance)==null?void 0:t.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?r:1;(a=e.mainViewInstance)==null||a.updateCameraZoom(c)}},[I]),p(()=>(window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k)}),[]);const k=t=>{if(t.keyCode===xe.Esc){x(!1);return}},N=ne(()=>({reset3DView:W,setTarget3DView:S,isActive:!!m,followTopView:X}),[m,e.mainViewInstance]);p(()=>{var t,i,r;const a=e.pointCloudBoxList.filter(c=>c.attribute===s);(a==null?void 0:a.length)>0&&((t=e.mainViewInstance)==null||t.clearHighlightBoxes(),(i=e.mainViewInstance)==null||i.highlightBoxes(a)),a.length===0&&((r=e.mainViewInstance)==null||r.clearHighlightBoxesAndRender())},[s,e.mainViewInstance]);const Y=o.createElement(o.Fragment,null,o.createElement(ve,{onChange:t=>{var i;(i=e.mainViewInstance)==null||i.updatePointSize({customSize:t})}}),o.createElement("span",{style:{marginRight:8}},_("ShowArrows")),o.createElement(de,{size:"small",checked:M,onChange:t=>{var i;Z(t),(i=e.mainViewInstance)==null||i.setShowDirection(t)}}),C&&o.createElement(h.Provider,{value:N},o.createElement(K,{isEnlarge:C})));return o.createElement(ie,{className:O({[u("point-cloud-3d-container")]:!0,[u("point-cloud-container","zoom")]:C}),title:C?o.createElement("div",{style:{display:"flex",alignItems:"center"}},o.createElement(Ce,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{B(!1),x(!1)}}),_("3DView")):o.createElement(fe,{title:_("3DView"),onClick:()=>{B(!0),x(!0)}}),toolbar:Y},o.createElement("div",{className:u("point-cloud-3d-content")},!C&&o.createElement(h.Provider,{value:N},o.createElement(K,null)),o.createElement("div",{className:u("point-cloud-3d-view"),id:_e,ref:V})))};var Te=re(se,null,null,{context:we})(Se);export{Te as default};
@@ -1 +1 @@
1
- import{EPointCloudPattern as Y}from"@labelbee/lb-utils";import Ne,{useState as r,useRef as dt,useMemo as F,useCallback as N,useEffect as $}from"react";import{EPointCloudBoxRenderTrigger as E,calcResetAreasAndBoxIds as ct}from"../../utils/ToolPointCloudBoxRenderHelper.js";import{ActionsHistory as He,EToolName as ee,uuid as ut}from"@labelbee/lb-annotation";import{useDispatch as gt}from"../../store/ctx.js";import{ChangeSave as pt}from"../../store/annotation/actionCreators.js";import ft from"../../store/annotatedBox/index.js";import Oe from"lodash";import{addMapIndirectWeakSetItem as Me}from"./utils/map.js";import mt from"./hooks/useTimeoutFunc.js";import ht,{getEmptyUseWindowKeydownListener as It}from"./hooks/useWindowKeydownListener.js";var vt=Object.defineProperty,Pt=Object.defineProperties,wt=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,yt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,ke=(d,i,c)=>i in d?vt(d,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[i]=c,z=(d,i)=>{for(var c in i||(i={}))yt.call(i,c)&&ke(d,c,i[c]);if(je)for(var c of je(i))Ct.call(i,c)&&ke(d,c,i[c]);return d},Fe=(d,i)=>Pt(d,wt(i)),Rt=(d,i,c)=>new Promise((x,A)=>{var B=g=>{try{w(c.next(g))}catch(L){A(L)}},K=g=>{try{w(c.throw(g))}catch(L){A(L)}},w=g=>g.done?x(g.value):Promise.resolve(g.value).then(B,K);w((c=c.apply(d,i)).next())});const G=d=>Oe.pick(d,["id","attribute","width","height","x","y","imageName"]),Ee=Ne.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new He,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:ee.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:Y.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:d=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:d=>!1,removeRectBySpecifyId:(d,i,c)=>!1,removeRectByPointCloudBoxId:d=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:It()}),St=({children:d})=>{const[i,c]=r([]),[x,A]=r([]),[B,K]=r([]),[w,g]=r([]),[L,ze]=r([]),[v,H]=r([]),[_,T]=r([]),[te,Ge]=r(!0),[oe,Ke]=r(2),[ne,Te]=r(!0),[ie,We]=r(1),[f,se]=r(),[re,le]=r(),[ae,de]=r(),[p,ce]=r(),[ue,Ze]=r(""),[W,Ue]=r(ee.Rect),Z=dt(new He).current,[m,U]=r([]),[ge,qe]=r(""),[q,Je]=r(Y.Detection),[D,pe]=r(void 0),[J,Qe]=r([]),[Q,Xe]=r([]),[fe,Ye]=r(!1),h=ft(),[me,$e]=r({}),et=gt(),tt=o=>{const{imgNode:n,path:t}=o;t&&n&&$e(a=>Fe(z({},a),{[t]:{width:n.width,height:n.height}}))},he=F(()=>v.length===1?v[0]:"",[v]),Ie=ht(),O=N((o,n,t="extId")=>{const a=t||"id",l=new Set(n);return g(u=>{let y=!1;const P=u.filter(j=>{const X=j[a],k=l.has(X)?j.imageName!==o:!0;return k||(y=!0),k});return y?P:u}),!0},[]),ve=N(o=>{const n=i.map(t=>t.id);return O(o,n,"extId")},[i,O]),Pe=N(o=>{if(!o)return!1;const n=i.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:a,attribute:l,trackID:u}=t,y=t.rects.find(P=>P.imageName===o);if(y){const P=Oe.pick(y,["width","height","x","y","imageName"]);return Fe(z({},P),{id:ut(),attribute:l,order:u,extId:a,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(g(t=>{const a=new Set(t.filter(u=>o===u.imageName).map(u=>u.extId)),l=n.filter(u=>a.has(u.extId)===!1);return l.length?[...t,...l]:t}),!0):!1},[i]),we=F(()=>i.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var a;return(a=t.rects)==null||a.forEach(l=>{const{imageName:u}=l;if(!u){console.warn("Missing image name"),console.trace(l,t);return}Me(n,u,t.id,t)}),n},new Map),[i]),ye=N(o=>{g(n=>o(n,G))},[G]),Ce=F(()=>w.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(Me(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,w),o)},new Map),[w]),{fn:ot}=mt(o=>{H(n=>{const t=o,a=new Set(t);let l=!1;const u=n.filter(y=>{const P=a.has(y);return P||(l=!0),P});return l?u:n})},200),Re=N(o=>{const n=o.map(t=>t.id);c(o),ot(n)},[]),M=F(()=>{const o=i.find(e=>e.id===he),n=e=>{const s=i.concat(e);return Re(s),s},t=e=>{const s=x.concat(e);return A(s),s},a=e=>{Ge(e!==!1)},l=e=>{e===void 0&&H([]),typeof e=="string"&&H([e]),Array.isArray(e)&&H(Array.from(new Set(e)))},u=e=>{v.includes(e)?l(v.filter(s=>s!==e)):l([...v,e])},y=e=>{const s=G(e);g(I=>[...I,s])},P=(e,s=!1)=>{const I=G(e);g(C=>C.map(R=>R.id===e.id?s?z(z({},R),I):I:R))},j=e=>{g(s=>s.filter(I=>!e.find(C=>C.id===I.id)))},X=e=>{_.includes(e)?T([]):T([e])},k=()=>{if(W===ee.Rect){const e=i.map(s=>s.id);l(e),f==null||f.pointCloud2dOperation.setSelectedIDs(e)}},it=e=>{l(i.filter(s=>s.attribute===e).map(s=>s.id))},Se=i.filter(e=>!m.includes(e.attribute)),be=x.filter(e=>!m.includes(e.attribute)),Le=L.filter(e=>e.attribute&&!m.includes(e.attribute)),st=e=>{if(m.includes(e))U(m.filter(s=>s!==e));else{const s=m.concat(e);U(s)}},rt=(e=Se,s=B,I=be,C=Le,R=J)=>{var V;p==null||p.clearAllBox(),p==null||p.clearAllSphere(),f==null||f.updatePolygonList(e,s),f==null||f.updatePointList(I),f==null||f.updateLineList(C),p==null||p.generateBoxes(e),p==null||p.generateSpheres(I),(V=D==null?void 0:D.store)==null||V.updateCurrentSegment(R),xe(E.Default,e)},lt=()=>{se(void 0),le(void 0),de(void 0),ce(void 0)},xe=(e,s,I)=>Rt(void 0,null,function*(){var C,R,V;if(!p)return;const De=p.pointCloudObject;if(!De)return;let Ae=[],Be=[];try{if(s&&Z.record.length){const{record:S,recordIndex:b}=Z;let _e=b;b>0&&(e===E.SingleToggleValid||e===E.SingleRotate||e===E.Single&&s.length===((C=S[b])==null?void 0:C.pointCloudBoxList.length))&&(_e=b-1);let at=(R=S[_e])==null?void 0:R.pointCloudBoxList;const Ve=ct(e,s,at);Ae=Ve.modifiedBoxIds,Be=Ve.resetAreas}}catch(S){console.error("call calcResetAreasAndBoxIds error",S)}try{const S=yield p.getHighlightIndexByMappingImgList({mappingImgList:I!=null?I:Q,points:De.geometry.attributes.position.array}),b=yield p==null?void 0:p.highlightOriginPointCloud(s,S,{modifiedBoxIds:Ae,resetAreas:Be});return b&&((V=f==null?void 0:f.pointCloudInstance)==null||V.updateColor(b)),b}catch(S){console.error("call highlightOriginPointCloud error",S)}});return{selectedID:he,pointCloudBoxList:i,pointCloudSphereList:x,displayPointCloudList:Se,displaySphereList:be,displayLineList:Le,selectedIDs:v,setPointCloudResult:Re,setSelectedIDs:l,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:A,valid:te,selectedPointCloudBox:o,setPointCloudValid:a,addSelectedID:u,addHighlightID:X,selectedAllBoxes:k,topViewInstance:f,setTopViewInstance:se,sideViewInstance:re,setSideViewInstance:le,backViewInstance:ae,setBackViewInstance:de,mainViewInstance:p,setMainViewInstance:ce,polygonList:B,setPolygonList:K,rectList:w,setRectList:g,addRectIn2DView:y,removeRectIn2DView:j,updateRectIn2DView:P,lineList:L,setLineList:ze,zoom:ie,setZoom:We,history:Z,toggleAttributesVisible:st,hideAttributes:m,setHideAttributes:U,reRender:rt,attrPanelLayout:ge,setAttrPanelLayout:qe,syncAllViewPointCloudColor:xe,defaultAttribute:ue,setDefaultAttribute:Ze,pointCloudPattern:W,setPointCloudPattern:Ue,selectSpecAttr:it,globalPattern:q,setGlobalPattern:e=>{q!==e&&(et(pt),Je(e),e===Y.Detection&&pe(void 0))},ptSegmentInstance:D,setPtSegmentInstance:pe,segmentation:J,setSegmentation:Qe,clearAllDetectionInstance:lt,highlight2DDataList:Q,setHighlight2DDataList:Xe,highlight2DLoading:fe,setHighlight2DLoading:Ye,cuboidBoxIn2DView:ne,setCuboidBoxIn2DView:Te,imageSizes:me,cacheImageNodeSize:tt,highlightIDs:_,setHighlightIDs:T,removeRectByPointCloudBoxId:ve,removeRectBySpecifyId:O,addRectFromPointCloudBoxByImageName:Pe,rectRotateSensitivity:oe,setRectRotateSensitivity:Ke,imageNamePointCloudBoxMap:we,linkageImageNameRectMap:Ce,updateRectListByReducer:ye,windowKeydownListenerHook:Ie}},[te,v,i,x,B,L,w,f,re,ae,p,ie,m,ge,ue,W,q,D,J,Q,fe,ne,me,_,ve,O,Pe,oe,we,Ce,ye,Ie]);$(()=>{var o,n,t;(o=h==null?void 0:h.setPointCloudBoxList)==null||o.call(h,i),(n=h==null?void 0:h.setHighlightIDs)==null||n.call(h,_),(t=h==null?void 0:h.setSelectedIDs)==null||t.call(h,v)},[i,v,_]),$(()=>{var o;(o=h==null?void 0:h.setPtCtx)==null||o.call(h,M)},[M]);const nt=()=>{const o=i.filter(l=>m.includes(l.attribute)),{setSelectedIDs:n,reRender:t}=M,a=o.map(l=>l.id);a.length>0&&n(v.filter(l=>!a.includes(l))),t()};return $(()=>{var o,n,t,a;nt(),(n=(o=f==null?void 0:f.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,m),(a=(t=D==null?void 0:D.store)==null?void 0:t.setHiddenAttributes)==null||a.call(t,m)},[m]),Ne.createElement(Ee.Provider,{value:M},d)};export{Ee as PointCloudContext,St as PointCloudProvider};
1
+ import{EPointCloudPattern as Y}from"@labelbee/lb-utils";import Oe,{useState as r,useRef as ut,useMemo as F,useCallback as N,useEffect as $}from"react";import{EPointCloudBoxRenderTrigger as E,calcResetAreasAndBoxIds as gt}from"../../utils/ToolPointCloudBoxRenderHelper.js";import{ActionsHistory as Me,EToolName as ee,uuid as ft}from"@labelbee/lb-annotation";import{useDispatch as pt}from"../../store/ctx.js";import{ChangeSave as mt}from"../../store/annotation/actionCreators.js";import ht from"../../store/annotatedBox/index.js";import je from"lodash";import{addMapIndirectWeakSetItem as ke}from"./utils/map.js";import It from"./hooks/useTimeoutFunc.js";import vt,{getEmptyUseWindowKeydownListener as Pt}from"./hooks/useWindowKeydownListener.js";var wt=Object.defineProperty,yt=Object.defineProperties,St=Object.getOwnPropertyDescriptors,Fe=Object.getOwnPropertySymbols,Lt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable,Ee=(d,i,c)=>i in d?wt(d,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[i]=c,z=(d,i)=>{for(var c in i||(i={}))Lt.call(i,c)&&Ee(d,c,i[c]);if(Fe)for(var c of Fe(i))Ct.call(i,c)&&Ee(d,c,i[c]);return d},ze=(d,i)=>yt(d,St(i)),Rt=(d,i,c)=>new Promise((x,A)=>{var B=g=>{try{w(c.next(g))}catch(b){A(b)}},K=g=>{try{w(c.throw(g))}catch(b){A(b)}},w=g=>g.done?x(g.value):Promise.resolve(g.value).then(B,K);w((c=c.apply(d,i)).next())});const G=d=>je.pick(d,["id","attribute","width","height","x","y","imageName"]),Ge=Oe.createContext({rectList:[],pointCloudBoxList:[],pointCloudSphereList:[],displayPointCloudList:[],displaySphereList:[],displayLineList:[],polygonList:[],lineList:[],selectedID:"",selectedIDs:[],highlightIDs:[],setHighlightIDs:()=>{},valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudSphereList:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},addHighlightID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],addPointCloudSphere:()=>[],setPolygonList:()=>{},setRectList:()=>{},addRectIn2DView:()=>{},removeRectIn2DView:()=>{},updateRectIn2DView:()=>{},setLineList:()=>{},zoom:1,setZoom:()=>{},history:new Me,hideAttributes:[],setHideAttributes:()=>{},toggleAttributesVisible:()=>{},reRender:()=>{},setAttrPanelLayout:()=>{},attrPanelLayout:"",syncAllViewPointCloudColor:()=>Promise.resolve(),defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:ee.Rect,setPointCloudPattern:()=>{},selectSpecAttr:()=>{},globalPattern:Y.Detection,setGlobalPattern:()=>{},setPtSegmentInstance:()=>{},segmentation:[],setSegmentation:()=>{},clearAllDetectionInstance:()=>{},highlight2DDataList:[],setHighlight2DDataList:()=>{},highlight2DLoading:!1,setHighlight2DLoading:()=>{},cuboidBoxIn2DView:!0,setCuboidBoxIn2DView:d=>{},imageSizes:{},cacheImageNodeSize:()=>{},addRectFromPointCloudBoxByImageName:d=>!1,removeRectBySpecifyId:(d,i,c)=>!1,removeRectByPointCloudBoxId:d=>!1,rectRotateSensitivity:2,setRectRotateSensitivity:()=>{},imageNamePointCloudBoxMap:new Map,linkageImageNameRectMap:new Map,updateRectListByReducer:()=>{},windowKeydownListenerHook:Pt(),isLargeStatus:!1,setIsLargeStatus:()=>{}}),bt=({children:d})=>{const[i,c]=r([]),[x,A]=r([]),[B,K]=r([]),[w,g]=r([]),[b,Ke]=r([]),[v,H]=r([]),[_,T]=r([]),[te,Te]=r(!0),[oe,We]=r(2),[ne,Ze]=r(!0),[ie,Ue]=r(1),[p,se]=r(),[re,le]=r(),[ae,de]=r(),[f,ce]=r(),[ue,qe]=r(""),[W,Je]=r(ee.Rect),Z=ut(new Me).current,[m,U]=r([]),[ge,Qe]=r(""),[q,Xe]=r(Y.Detection),[D,fe]=r(void 0),[J,Ye]=r([]),[Q,$e]=r([]),[pe,et]=r(!1),[me,he]=r(!1),h=ht(),[Ie,tt]=r({}),ot=pt(),nt=o=>{const{imgNode:n,path:t}=o;t&&n&&tt(a=>ze(z({},a),{[t]:{width:n.width,height:n.height}}))},ve=F(()=>v.length===1?v[0]:"",[v]),Pe=vt(),O=N((o,n,t="extId")=>{const a=t||"id",l=new Set(n);return g(u=>{let y=!1;const P=u.filter(j=>{const X=j[a],k=l.has(X)?j.imageName!==o:!0;return k||(y=!0),k});return y?P:u}),!0},[]),we=N(o=>{const n=i.map(t=>t.id);return O(o,n,"extId")},[i,O]),ye=N(o=>{if(!o)return!1;const n=i.filter(t=>Array.isArray(t.rects)).map(t=>{const{id:a,attribute:l,trackID:u}=t,y=t.rects.find(P=>P.imageName===o);if(y){const P=je.pick(y,["width","height","x","y","imageName"]);return ze(z({},P),{id:ft(),attribute:l,order:u,extId:a,lineDash:[]})}return null}).filter(t=>t!==null);return n.length?(g(t=>{const a=new Set(t.filter(u=>o===u.imageName).map(u=>u.extId)),l=n.filter(u=>a.has(u.extId)===!1);return l.length?[...t,...l]:t}),!0):!1},[i]),Se=F(()=>i.filter(n=>Array.isArray(n.rects)&&n.rects.length>0).reduce((n,t)=>{var a;return(a=t.rects)==null||a.forEach(l=>{const{imageName:u}=l;if(!u){console.warn("Missing image name"),console.trace(l,t);return}ke(n,u,t.id,t)}),n},new Map),[i]),Le=N(o=>{g(n=>o(n,G))},[G]),Ce=F(()=>w.filter(o=>o.extId!==void 0&&o.id!==void 0).reduce((o,n)=>{const t=n.imageName;return t?(ke(o,t,n.extId,n),o):(console.warn("missing image name"),console.log(n,w),o)},new Map),[w]),{fn:it}=It(o=>{H(n=>{const t=o,a=new Set(t);let l=!1;const u=n.filter(y=>{const P=a.has(y);return P||(l=!0),P});return l?u:n})},200),Re=N(o=>{const n=o.map(t=>t.id);c(o),it(n)},[]),M=F(()=>{const o=i.find(e=>e.id===ve),n=e=>{const s=i.concat(e);return Re(s),s},t=e=>{const s=x.concat(e);return A(s),s},a=e=>{Te(e!==!1)},l=e=>{e===void 0&&H([]),typeof e=="string"&&H([e]),Array.isArray(e)&&H(Array.from(new Set(e)))},u=e=>{v.includes(e)?l(v.filter(s=>s!==e)):l([...v,e])},y=e=>{const s=G(e);g(I=>[...I,s])},P=(e,s=!1)=>{const I=G(e);g(S=>S.map(L=>L.id===e.id?s?z(z({},L),I):I:L))},j=e=>{g(s=>s.filter(I=>!e.find(S=>S.id===I.id)))},X=e=>{_.includes(e)?T([]):T([e])},k=()=>{if(W===ee.Rect){const e=i.map(s=>s.id);l(e),p==null||p.pointCloud2dOperation.setSelectedIDs(e)}},rt=e=>{l(i.filter(s=>s.attribute===e).map(s=>s.id))},be=i.filter(e=>!m.includes(e.attribute)),xe=x.filter(e=>!m.includes(e.attribute)),De=b.filter(e=>e.attribute&&!m.includes(e.attribute)),lt=e=>{if(m.includes(e))U(m.filter(s=>s!==e));else{const s=m.concat(e);U(s)}},at=(e=be,s=B,I=xe,S=De,L=J)=>{var V;f==null||f.clearAllBox(),f==null||f.clearAllSphere(),p==null||p.updatePolygonList(e,s),p==null||p.updatePointList(I),p==null||p.updateLineList(S),f==null||f.generateBoxes(e),f==null||f.generateSpheres(I),(V=D==null?void 0:D.store)==null||V.updateCurrentSegment(L),Ae(E.Default,e)},dt=()=>{se(void 0),le(void 0),de(void 0),ce(void 0)},Ae=(e,s,I)=>Rt(void 0,null,function*(){var S,L,V;if(!f)return;const Be=f.pointCloudObject;if(!Be)return;let _e=[],Ve=[];try{if(s&&Z.record.length){const{record:C,recordIndex:R}=Z;let Ne=R;R>0&&(e===E.SingleToggleValid||e===E.SingleRotate||e===E.Single&&s.length===((S=C[R])==null?void 0:S.pointCloudBoxList.length))&&(Ne=R-1);let ct=(L=C[Ne])==null?void 0:L.pointCloudBoxList;const He=gt(e,s,ct);_e=He.modifiedBoxIds,Ve=He.resetAreas}}catch(C){console.error("call calcResetAreasAndBoxIds error",C)}try{const C=yield f.getHighlightIndexByMappingImgList({mappingImgList:I!=null?I:Q,points:Be.geometry.attributes.position.array}),R=yield f==null?void 0:f.highlightOriginPointCloud(s,C,{modifiedBoxIds:_e,resetAreas:Ve});return R&&((V=p==null?void 0:p.pointCloudInstance)==null||V.updateColor(R)),R}catch(C){console.error("call highlightOriginPointCloud error",C)}});return{selectedID:ve,pointCloudBoxList:i,pointCloudSphereList:x,displayPointCloudList:be,displaySphereList:xe,displayLineList:De,selectedIDs:v,setPointCloudResult:Re,setSelectedIDs:l,addPointCloudBox:n,addPointCloudSphere:t,setPointCloudSphereList:A,valid:te,selectedPointCloudBox:o,setPointCloudValid:a,addSelectedID:u,addHighlightID:X,selectedAllBoxes:k,topViewInstance:p,setTopViewInstance:se,sideViewInstance:re,setSideViewInstance:le,backViewInstance:ae,setBackViewInstance:de,mainViewInstance:f,setMainViewInstance:ce,polygonList:B,setPolygonList:K,rectList:w,setRectList:g,addRectIn2DView:y,removeRectIn2DView:j,updateRectIn2DView:P,lineList:b,setLineList:Ke,zoom:ie,setZoom:Ue,history:Z,toggleAttributesVisible:lt,hideAttributes:m,setHideAttributes:U,reRender:at,attrPanelLayout:ge,setAttrPanelLayout:Qe,syncAllViewPointCloudColor:Ae,defaultAttribute:ue,setDefaultAttribute:qe,pointCloudPattern:W,setPointCloudPattern:Je,selectSpecAttr:rt,globalPattern:q,setGlobalPattern:e=>{q!==e&&(ot(mt),Xe(e),e===Y.Detection&&fe(void 0))},ptSegmentInstance:D,setPtSegmentInstance:fe,segmentation:J,setSegmentation:Ye,clearAllDetectionInstance:dt,highlight2DDataList:Q,setHighlight2DDataList:$e,highlight2DLoading:pe,setHighlight2DLoading:et,cuboidBoxIn2DView:ne,setCuboidBoxIn2DView:Ze,imageSizes:Ie,cacheImageNodeSize:nt,highlightIDs:_,setHighlightIDs:T,removeRectByPointCloudBoxId:we,removeRectBySpecifyId:O,addRectFromPointCloudBoxByImageName:ye,rectRotateSensitivity:oe,setRectRotateSensitivity:We,imageNamePointCloudBoxMap:Se,linkageImageNameRectMap:Ce,updateRectListByReducer:Le,windowKeydownListenerHook:Pe,isLargeStatus:me,setIsLargeStatus:he}},[te,v,i,x,B,b,w,p,re,ae,f,ie,m,ge,ue,W,q,D,J,Q,pe,ne,Ie,_,we,O,ye,oe,Se,Ce,Le,Pe,me,he]);$(()=>{var o,n,t;(o=h==null?void 0:h.setPointCloudBoxList)==null||o.call(h,i),(n=h==null?void 0:h.setHighlightIDs)==null||n.call(h,_),(t=h==null?void 0:h.setSelectedIDs)==null||t.call(h,v)},[i,v,_]),$(()=>{var o;(o=h==null?void 0:h.setPtCtx)==null||o.call(h,M)},[M]);const st=()=>{const o=i.filter(l=>m.includes(l.attribute)),{setSelectedIDs:n,reRender:t}=M,a=o.map(l=>l.id);a.length>0&&n(v.filter(l=>!a.includes(l))),t()};return $(()=>{var o,n,t,a;st(),(n=(o=p==null?void 0:p.toolInstance)==null?void 0:o.setHiddenAttributes)==null||n.call(o,m),(a=(t=D==null?void 0:D.store)==null?void 0:t.setHiddenAttributes)==null||a.call(t,m)},[m]),Oe.createElement(Ge.Provider,{value:M},d)};export{Ge as PointCloudContext,bt as PointCloudProvider};
@@ -1 +1 @@
1
- import{getClassName as _}from"../../utils/dom.js";import{FooterDivider as F}from"../../views/MainView/toolFooter/index.js";import{ZoomController as me}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as fe,UpSquareOutlined as Ce,DownSquareOutlined as ve}from"@ant-design/icons";import{cKeyCode as we,PointCloudAnnotation as Pe,MathUtils as W,cTool as ge,cAnnotation as ye}from"@labelbee/lb-annotation";import{PointCloudUtils as K}from"@labelbee/lb-utils";import{EPointCloudBoxRenderTrigger as Ie}from"../../utils/ToolPointCloudBoxRenderHelper.js";import s,{useState as A,useRef as xe,useLayoutEffect as he,useEffect as y}from"react";import{PointCloudContext as M}from"./PointCloudContext.js";import{useRotate as Ve}from"./hooks/useRotate.js";import{useRotateEdge as Se}from"./hooks/useRotateEdge.js";import{useSingleBox as X}from"./hooks/useSingleBox.js";import{PointCloudContainer as _e}from"./PointCloudLayout.js";import{BoxInfos as Y,PointCloudValidity as Ee}from"./PointCloudInfos.js";import{usePolygon as Le}from"./hooks/usePolygon.js";import{useSphere as q}from"./hooks/useSphere.js";import{useZoom as $}from"./hooks/useZoom.js";import{Slider as be}from"antd";import{a2MapStateToProps as Oe}from"../../store/annotation/map.js";import{connect as je}from"react-redux";import{usePointCloudViews as Te}from"./hooks/usePointCloudViews.js";import Re from"../../hooks/useSize.js";import{useTranslation as ke}from"react-i18next";import{LabelBeeContext as De}from"../../store/ctx.js";import{jsonParser as Be}from"../../utils/index.js";import Ne from"../../utils/ToolUtils.js";import Ae from"lodash";import Ue from"./components/PointCloudSizeSlider/index.js";import{useHistory as ze}from"./hooks/useHistory.js";import Ze from"./components/TitleButton/index.js";var He=Object.defineProperty,Fe=Object.defineProperties,We=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,Ke=Object.prototype.hasOwnProperty,Me=Object.prototype.propertyIsEnumerable,J=(i,l,r)=>l in i?He(i,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[l]=r,U=(i,l)=>{for(var r in l||(l={}))Ke.call(l,r)&&J(i,r,l[r]);if(G)for(var r of G(l))Me.call(l,r)&&J(i,r,l[r]);return i},z=(i,l)=>Fe(i,We(l));const{EPolygonPattern:Xe,EToolName:Q}=ge,{ESortDirection:ee}=ye,Ye=we.default,te=(i,l,r=1)=>{const{width:v,height:m}=l,I={x:i.x+v*r/2,y:i.y+m*r/2},x={x:l.width/2,y:l.height/2};return{offsetX:(x.x-I.x)/r,offsetY:-(x.y-I.y)/r}},qe=({currentData:i})=>{var l,r;const{zoom:v,zoomIn:m,zoomOut:I,initialPosition:x}=$(),{selectNextBox:O,selectPrevBox:j}=X(),{switchToNextSphere:E}=q(),{updateRotate:L}=Ve({currentData:i}),{updateRotateEdge:T}=Se({currentData:i}),P=s.useContext(M),{topViewInstance:h}=P,f=(r=(l=P==null?void 0:P.topViewInstance)==null?void 0:l.toolScheduler)==null?void 0:r.getCurrentToolName(),e=()=>{L(-Number(P.rectRotateSensitivity))},d=()=>{L(P.rectRotateSensitivity)},C=()=>{T(-90)};return s.createElement(s.Fragment,null,s.createElement(Ue,{onChange:B=>{var V;(V=h==null?void 0:h.pointCloudInstance)==null||V.updatePointSize({customSize:B})}}),s.createElement("span",{onClick:d,className:_("point-cloud","rotate-reserve")}),s.createElement("span",{onClick:e,className:_("point-cloud","rotate")}),s.createElement("span",{onClick:C,className:_("point-cloud","rotate-90")}),s.createElement(F,null),s.createElement(Ce,{onClick:()=>{if(f===Q.Point){E(ee.descend);return}j(!0)},className:_("point-cloud","prev")}),s.createElement(ve,{onClick:()=>{if(f===Q.Point){E(ee.ascend);return}O(!0)},className:_("point-cloud","next")}),s.createElement(F,null),s.createElement(me,{initialPosition:x,zoomIn:m,zoomOut:I,zoom:v}))},$e=({setZAxisLimit:i,zAxisLimit:l,checkMode:r})=>r?null:s.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},s.createElement(be,{vertical:!0,step:.5,max:10,min:.5,defaultValue:l,onAfterChange:v=>{i(v)}})),Ge=({currentData:i,imgList:l,stepInfo:r,drawLayerSlot:v,checkMode:m,intelligentFit:I,setIsEnlargeTopView:x,isEnlargeTopView:O,onExitZoom:j,highlightAttribute:E})=>{var L,T;const[P,h]=A({zoom:1,currentPos:{x:0,y:0}}),f=xe(null),e=s.useContext(M),d=Re(f),C=Be(r.config),{setZoom:B,syncTopviewToolZoom:V}=$(),{hideAttributes:oe}=e,{addPolygon:ne,deletePolygon:ie}=Le(),{deletePointCloudSphere:se}=q(),{deletePointCloudBox:le,changeValidByID:re}=X(),[N,ae]=A(10),{t:Z}=ke(),w=Te(),{pushHistoryWithList:ce}=ze(),[de,R]=A(!0);he(()=>{if(!e.topViewInstance&&f.current&&(i==null?void 0:i.url)&&(i==null?void 0:i.result)){const o={width:f.current.clientWidth,height:f.current.clientHeight},a=new Pe({container:f.current,size:o,pcdPath:i.url,config:z(U({},C),{pointCloudPattern:e.pointCloudPattern}),checkMode:m,toolName:Ne.getPointCloudToolList(),proxyMode:m});e.setTopViewInstance(a)}},[i]),y(()=>{if(!d||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:o}=e.topViewInstance;o.singleOn("dataUpdated",(t,n)=>{const u=Ae.cloneDeep(t).map(c=>z(U({},c),{pointList:K.pointListTransferCanvas2World(c.pointList,d)}));e.setSelectedIDs(n),e.setLineList(u),ce({lineList:u})}),o.singleOn("pointCreated",(t,n)=>{w.topViewAddSphere({newPoint:t,size:d,trackConfigurable:C.trackConfigurable,zoom:n})}),o.singleOn("pointDeleted",t=>{se(t)}),o.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),o.singleOn("updatePointByDrag",(t,n)=>{var u;(u=w.topViewUpdatePoint)==null||u.call(w,t,d)}),o.singleOn("polygonCreated",(t,n)=>{if(o.pattern===Xe.Normal||!(i==null?void 0:i.url)){const u=z(U({},t),{pointList:t.pointList.map(c=>K.transferCanvas2World(c,d))});ne(u),e.setSelectedIDs(oe.includes(t.attribute)?"":t.id);return}R(!1),w.topViewAddBox({polygon:t,size:d,imgList:l,trackConfigurable:C.trackConfigurable,zoom:n,intelligentFit:I})}),o.singleOn("deletedObject",({id:t})=>{le(t),ie(t)}),o.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),o.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),o.singleOn("setSelectedIDs",t=>{R(!1),e.setSelectedIDs(t)}),o.singleOn("updatePolygonByDrag",t=>{var n;(n=w.topViewUpdateBox)==null||n.call(w,t,d)});const a=t=>{var n;const u=re(t);u&&e.syncAllViewPointCloudColor(Ie.Default,u),e.polygonList.find(c=>c.id===t)&&((n=e.topViewInstance)==null||n.toolInstance.setPolygonValidAndRender(t,!0))};return o.on("validUpdate",a),()=>{o.unbind("validUpdate",a)}},[e,d,i,w,e.polygonList,e.lineList,(L=e.topViewInstance)==null?void 0:L.toolInstance]),y(()=>{var o,a;if(!(d==null?void 0:d.width)||!e.topViewInstance)return;const t=(a=(o=C==null?void 0:C.attributeList)==null?void 0:o[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(d),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:n,toolInstance:u}}=e;u.singleOn("renderZoom",(c,p)=>{const{offsetX:S,offsetY:b}=te(p,d,c);if(n.camera.zoom=c,p){const{x:g,y:k,z:D}=n.initCameraPosition;n.camera.position.set(g+b,k-S,D)}n.camera.updateProjectionMatrix(),n.render(),B(c),V(p,c,d),h({zoom:c,currentPos:p})}),u.singleOn("dragMove",({currentPos:c,zoom:p})=>{const{offsetX:S,offsetY:b}=te(c,d,p);n.camera.zoom=p;const{x:g,y:k,z:D}=n.initCameraPosition;n.camera.position.set(g+b,k-S,D),n.render(),V(c,p,d),h({zoom:p,currentPos:c})})},[d,e.topViewInstance,(T=e.topViewInstance)==null?void 0:T.toolInstance]),y(()=>{var o,a;(a=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null||a.applyZAxisPoints(N)},[N]),y(()=>{var o,a,t,n;w.topViewSelectedChanged({}),(n=(t=(a=(o=e.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||n.call(t,e.selectedIDs)},[e.selectedIDs]),y(()=>{const{topViewInstance:o,selectedID:a,selectedPointCloudBox:t,zoom:n}=e;if(!o||!a||!t||!de){R(!0);return}const{center:u}=t,{pointCloudInstance:c,toolInstance:p}=o,S=p.polygonList.find(pe=>pe.id===e.selectedID);if(!S){R(!0);return}const b=W.getRectCenterPoint(S.pointList),g=W.getCurrentPosFromRectCenter(p.size,b,n);p.setCurrentPos(g),p.render();const{x:k,y:D,z:ue}=c.initCameraPosition;c.camera.position.set(u.x,u.y,ue),c.render(),V(g,n,d),h({zoom:n,currentPos:g})},[e.selectedID]),y(()=>(window.addEventListener("keydown",H),()=>{window.removeEventListener("keydown",H)}),[]);const H=o=>{const{keyCode:a}=o;a===Ye.Esc&&j()};return y(()=>{var o,a,t;(t=(a=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,E)},[e.topViewInstance,E]),s.createElement(_e,{className:_("point-cloud-container","top-view"),title:O?s.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},s.createElement(fe,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{j()}}),s.createElement("span",null,Z("TopView")),s.createElement(Y,{checkMode:m,config:C,style:{display:"flex",position:"initial",margin:"0px 20px"}})):s.createElement(Ze,{title:Z("TopView"),onClick:()=>{x(!0)}}),toolbar:s.createElement(qe,{currentData:i})},s.createElement("div",{style:{position:"relative",flex:1}},s.createElement("div",{style:{width:"100%",height:"100%"},ref:f},v==null?void 0:v(P)),!O&&s.createElement(Y,{checkMode:m,config:C}),s.createElement($e,{checkMode:m,zAxisLimit:N,setZAxisLimit:ae}),s.createElement(Ee,null)))};var Je=je(Oe,null,null,{context:De})(Ge);export{Je as default};
1
+ import{getClassName as _}from"../../utils/dom.js";import{FooterDivider as F}from"../../views/MainView/toolFooter/index.js";import{ZoomController as fe}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as Ce,UpSquareOutlined as ve,DownSquareOutlined as we}from"@ant-design/icons";import{cKeyCode as Pe,PointCloudAnnotation as ge,MathUtils as W,cTool as Ie,cAnnotation as ye}from"@labelbee/lb-annotation";import{PointCloudUtils as K}from"@labelbee/lb-utils";import{EPointCloudBoxRenderTrigger as xe}from"../../utils/ToolPointCloudBoxRenderHelper.js";import s,{useState as N,useRef as he,useLayoutEffect as Ve,useEffect as I}from"react";import{PointCloudContext as M}from"./PointCloudContext.js";import{useRotate as Se}from"./hooks/useRotate.js";import{useRotateEdge as _e}from"./hooks/useRotateEdge.js";import{useSingleBox as X}from"./hooks/useSingleBox.js";import{PointCloudContainer as Ee}from"./PointCloudLayout.js";import{BoxInfos as Y,PointCloudValidity as Le}from"./PointCloudInfos.js";import{usePolygon as be}from"./hooks/usePolygon.js";import{useSphere as q}from"./hooks/useSphere.js";import{useZoom as $}from"./hooks/useZoom.js";import{Slider as Oe}from"antd";import{a2MapStateToProps as je}from"../../store/annotation/map.js";import{connect as Te}from"react-redux";import{usePointCloudViews as Re}from"./hooks/usePointCloudViews.js";import ke from"../../hooks/useSize.js";import{useTranslation as De}from"react-i18next";import{LabelBeeContext as Ae}from"../../store/ctx.js";import{jsonParser as Be}from"../../utils/index.js";import Ne from"../../utils/ToolUtils.js";import Ue from"lodash";import ze from"./components/PointCloudSizeSlider/index.js";import{useHistory as Ze}from"./hooks/useHistory.js";import He from"./components/TitleButton/index.js";var Fe=Object.defineProperty,We=Object.defineProperties,Ke=Object.getOwnPropertyDescriptors,G=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,J=(i,l,r)=>l in i?Fe(i,l,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[l]=r,U=(i,l)=>{for(var r in l||(l={}))Me.call(l,r)&&J(i,r,l[r]);if(G)for(var r of G(l))Xe.call(l,r)&&J(i,r,l[r]);return i},z=(i,l)=>We(i,Ke(l));const{EPolygonPattern:Ye,EToolName:Q}=Ie,{ESortDirection:ee}=ye,qe=Pe.default,te=(i,l,r=1)=>{const{width:v,height:m}=l,y={x:i.x+v*r/2,y:i.y+m*r/2},x={x:l.width/2,y:l.height/2};return{offsetX:(x.x-y.x)/r,offsetY:-(x.y-y.y)/r}},$e=({currentData:i})=>{var l,r;const{zoom:v,zoomIn:m,zoomOut:y,initialPosition:x}=$(),{selectNextBox:O,selectPrevBox:j}=X(),{switchToNextSphere:E}=q(),{updateRotate:L}=Se({currentData:i}),{updateRotateEdge:T}=_e({currentData:i}),P=s.useContext(M),{topViewInstance:h}=P,f=(r=(l=P==null?void 0:P.topViewInstance)==null?void 0:l.toolScheduler)==null?void 0:r.getCurrentToolName(),e=()=>{L(-Number(P.rectRotateSensitivity))},d=()=>{L(P.rectRotateSensitivity)},C=()=>{T(-90)};return s.createElement(s.Fragment,null,s.createElement(ze,{onChange:A=>{var V;(V=h==null?void 0:h.pointCloudInstance)==null||V.updatePointSize({customSize:A})}}),s.createElement("span",{onClick:d,className:_("point-cloud","rotate-reserve")}),s.createElement("span",{onClick:e,className:_("point-cloud","rotate")}),s.createElement("span",{onClick:C,className:_("point-cloud","rotate-90")}),s.createElement(F,null),s.createElement(ve,{onClick:()=>{if(f===Q.Point){E(ee.descend);return}j(!0)},className:_("point-cloud","prev")}),s.createElement(we,{onClick:()=>{if(f===Q.Point){E(ee.ascend);return}O(!0)},className:_("point-cloud","next")}),s.createElement(F,null),s.createElement(fe,{initialPosition:x,zoomIn:m,zoomOut:y,zoom:v}))},Ge=({setZAxisLimit:i,zAxisLimit:l,checkMode:r})=>r?null:s.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},s.createElement(Oe,{vertical:!0,step:.5,max:10,min:.5,defaultValue:l,onAfterChange:v=>{i(v)}})),Je=({currentData:i,imgList:l,stepInfo:r,drawLayerSlot:v,checkMode:m,intelligentFit:y,setIsEnlargeTopView:x,isEnlargeTopView:O,onExitZoom:j,highlightAttribute:E})=>{var L,T;const[P,h]=N({zoom:1,currentPos:{x:0,y:0}}),f=he(null),e=s.useContext(M),d=ke(f),C=Be(r.config),{setZoom:A,syncTopviewToolZoom:V}=$(),{hideAttributes:oe,setIsLargeStatus:ne,clearAllDetectionInstance:et}=e,{addPolygon:ie,deletePolygon:se}=be(),{deletePointCloudSphere:le}=q(),{deletePointCloudBox:re,changeValidByID:ae}=X(),[B,ce]=N(10),{t:Z}=De(),w=Re(),{pushHistoryWithList:de}=Ze(),[ue,R]=N(!0);Ve(()=>{if(!e.topViewInstance&&f.current&&(i==null?void 0:i.url)&&(i==null?void 0:i.result)){const o={width:f.current.clientWidth,height:f.current.clientHeight},a=new ge({container:f.current,size:o,pcdPath:i.url,config:z(U({},C),{pointCloudPattern:e.pointCloudPattern}),checkMode:m,toolName:Ne.getPointCloudToolList(),proxyMode:m});e.setTopViewInstance(a)}},[i]),I(()=>{if(!d||!e.topViewInstance||!e.sideViewInstance)return;const{toolInstance:o}=e.topViewInstance;o.singleOn("dataUpdated",(t,n)=>{const u=Ue.cloneDeep(t).map(c=>z(U({},c),{pointList:K.pointListTransferCanvas2World(c.pointList,d)}));e.setSelectedIDs(n),e.setLineList(u),de({lineList:u})}),o.singleOn("pointCreated",(t,n)=>{w.topViewAddSphere({newPoint:t,size:d,trackConfigurable:C.trackConfigurable,zoom:n})}),o.singleOn("pointDeleted",t=>{le(t)}),o.singleOn("pointSelected",t=>{e.setSelectedIDs([t])}),o.singleOn("updatePointByDrag",(t,n)=>{var u;(u=w.topViewUpdatePoint)==null||u.call(w,t,d)}),o.singleOn("polygonCreated",(t,n)=>{if(o.pattern===Ye.Normal||!(i==null?void 0:i.url)){const u=z(U({},t),{pointList:t.pointList.map(c=>K.transferCanvas2World(c,d))});ie(u),e.setSelectedIDs(oe.includes(t.attribute)?"":t.id);return}R(!1),w.topViewAddBox({polygon:t,size:d,imgList:l,trackConfigurable:C.trackConfigurable,zoom:n,intelligentFit:y})}),o.singleOn("deletedObject",({id:t})=>{re(t),se(t)}),o.singleOn("deleteSelectedIDs",()=>{e.setSelectedIDs([])}),o.singleOn("addSelectedIDs",t=>{e.addSelectedID(t)}),o.singleOn("setSelectedIDs",t=>{R(!1),e.setSelectedIDs(t)}),o.singleOn("updatePolygonByDrag",t=>{var n;(n=w.topViewUpdateBox)==null||n.call(w,t,d)});const a=t=>{var n;const u=ae(t);u&&e.syncAllViewPointCloudColor(xe.Default,u),e.polygonList.find(c=>c.id===t)&&((n=e.topViewInstance)==null||n.toolInstance.setPolygonValidAndRender(t,!0))};return o.on("validUpdate",a),()=>{o.unbind("validUpdate",a)}},[e,d,i,w,e.polygonList,e.lineList,(L=e.topViewInstance)==null?void 0:L.toolInstance]),I(()=>{var o,a;if(!(d==null?void 0:d.width)||!e.topViewInstance)return;const t=(a=(o=C==null?void 0:C.attributeList)==null?void 0:o[0])==null?void 0:a.value;t&&e.topViewInstance.toolInstance.setDefaultAttribute(t),e.topViewInstance.initSize(d),e.topViewInstance.updatePolygonList(e.displayPointCloudList,e.polygonList),e.topViewInstance.updatePointList(e.displaySphereList),e.topViewInstance.updateLineList(e.displayLineList);const{topViewInstance:{pointCloudInstance:n,toolInstance:u}}=e;u.singleOn("renderZoom",(c,p)=>{const{offsetX:S,offsetY:b}=te(p,d,c);if(n.camera.zoom=c,p){const{x:g,y:k,z:D}=n.initCameraPosition;n.camera.position.set(g+b,k-S,D)}n.camera.updateProjectionMatrix(),n.render(),A(c),V(p,c,d),h({zoom:c,currentPos:p})}),u.singleOn("dragMove",({currentPos:c,zoom:p})=>{const{offsetX:S,offsetY:b}=te(c,d,p);n.camera.zoom=p;const{x:g,y:k,z:D}=n.initCameraPosition;n.camera.position.set(g+b,k-S,D),n.render(),V(c,p,d),h({zoom:p,currentPos:c})})},[d,e.topViewInstance,(T=e.topViewInstance)==null?void 0:T.toolInstance]),I(()=>{var o,a;(a=(o=e.topViewInstance)==null?void 0:o.pointCloudInstance)==null||a.applyZAxisPoints(B)},[B]),I(()=>{var o,a,t,n;w.topViewSelectedChanged({}),(n=(t=(a=(o=e.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:a.selection)==null?void 0:t.hardSetSelectedIDs)==null||n.call(t,e.selectedIDs)},[e.selectedIDs]),I(()=>{const{topViewInstance:o,selectedID:a,selectedPointCloudBox:t,zoom:n}=e;if(!o||!a||!t||!ue){R(!0);return}const{center:u}=t,{pointCloudInstance:c,toolInstance:p}=o,S=p.polygonList.find(me=>me.id===e.selectedID);if(!S){R(!0);return}const b=W.getRectCenterPoint(S.pointList),g=W.getCurrentPosFromRectCenter(p.size,b,n);p.setCurrentPos(g),p.render();const{x:k,y:D,z:pe}=c.initCameraPosition;c.camera.position.set(u.x,u.y,pe),c.render(),V(g,n,d),h({zoom:n,currentPos:g})},[e.selectedID]),I(()=>(window.addEventListener("keydown",H),()=>{window.removeEventListener("keydown",H)}),[]);const H=o=>{const{keyCode:a}=o;a===qe.Esc&&j()};return I(()=>{var o,a,t;(t=(a=(o=e.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:a.setHighlightAttribute)==null||t.call(a,E)},[e.topViewInstance,E]),s.createElement(Ee,{className:_("point-cloud-container","top-view"),title:O?s.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},s.createElement(Ce,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{j()}}),s.createElement("span",null,Z("TopView")),s.createElement(Y,{checkMode:m,config:C,style:{display:"flex",position:"initial",margin:"0px 20px"}})):s.createElement(He,{title:Z("TopView"),onClick:()=>{ne(!0),x(!0)}}),toolbar:s.createElement($e,{currentData:i})},s.createElement("div",{style:{position:"relative",flex:1}},s.createElement("div",{style:{width:"100%",height:"100%"},ref:f},v==null?void 0:v(P)),!O&&s.createElement(Y,{checkMode:m,config:C}),s.createElement(Ge,{checkMode:m,zAxisLimit:B,setZAxisLimit:ce}),s.createElement(Le,null)))};var Qe=Te(je,null,null,{context:Ae})(Je);export{Qe as default};
@@ -1 +1 @@
1
- import{getClassName as i}from"../../utils/dom.js";import t,{useContext as z,useRef as S,useState as w,useEffect as p}from"react";import W from"./PointCloud3DView.js";import G from"./PointCloudBackView.js";import K from"./PointCloudTopView.js";import O from"./PointCloudSideView.js";import Z from"./PointCloud2DView.js";import U from"./PointCloudListener.js";import $ from"./PointCloudSegmentListener.js";import q from"./PointCloudSegment.js";import J from"./PointCloudSegmentStatus.js";import Q from"./PointCloudSegmentToolbar.js";import X from"./PointCloudSegment2DView.js";import{connect as Y}from"react-redux";import{LabelBeeContext as tt,useDispatch as et}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as ot,AnnotatedAttributesPanelFixedRight as nt}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as it}from"./PointCloudContext.js";import{PointCloudUtils as lt,EPointCloudPattern as rt}from"@labelbee/lb-utils";import{useCustomToolInstance as st}from"../../hooks/annotation.js";import{jsonParser as at}from"../../utils/index.js";import{a2MapStateToProps as mt}from"../../store/annotation/map.js";import V from"classnames";import ut from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as ct}from"../../store/annotation/actionCreators.js";import j from"../DynamicResizer/DynamicResizer.js";const dt=x=>{const{currentData:m,imgList:b,drawLayerSlot:f,checkMode:l,intelligentFit:D,imgIndex:y,config:R,measureVisible:I,setResourceLoading:P,stepInfo:o}=x,e=z(it),{globalPattern:g,setGlobalPattern:A,selectedIDs:L}=e,k=et(),C=S(null),E=S(null),[T,N]=w(0),[r,v]=w(!1),_=(L==null?void 0:L.length)>0&&r,B=at(m.result),{toolInstanceRef:a,clearToolInstance:F}=st({basicInfo:B});if(p(()=>{a.current.setPointCloudGlobalPattern=n=>{n!==g&&(A(n),e.clearAllDetectionInstance(),F())}},[g]),p(()=>{var n;if(ct(k,!0),m){const{boxParamsList:s,polygonList:u,lineList:c,sphereParamsList:d,segmentation:H,rectList:M}=lt.parsePointCloudCurrentResult((n=m==null?void 0:m.result)!=null?n:"");e.setPointCloudResult(s),e.setPolygonList(u),e.setLineList(c),e.setPointCloudSphereList(d),e.setRectList(M),e.setSegmentation(H)}},[y]),p(()=>{var n;if(C.current){const s=((n=C.current)==null?void 0:n.offsetHeight)-233;N(s)}},[E.current]),p(()=>{a.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],a.current.exportCustomData=()=>{var n,s,u,c,d;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(s=e.lineList)!=null?s:[],resultPoint:(u=e.pointCloudSphereList)!=null?u:[],resultRect:(c=e.rectList)!=null?c:[],segmentation:(d=e.segmentation)!=null?d:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),b.length===0)return null;if(g===rt.Segmentation)return t.createElement(t.Fragment,null,t.createElement($,{checkMode:l,toolInstanceRef:a}),t.createElement(Q,null),t.createElement("div",{className:i("point-cloud-layout")},t.createElement(q,{checkMode:l}),t.createElement(X,null)),t.createElement(J,{config:R}),f==null?void 0:f({direct:!0}));let h=t.createElement("div",{className:i("point-cloud-container","left-bottom")},t.createElement(G,{checkMode:l}),t.createElement(O,{checkMode:l}));return r&&(h=t.createElement(ut,{selectAndEnlarge:_,checkMode:l})),t.createElement(t.Fragment,null,t.createElement(U,{checkMode:l,toolInstanceRef:a,setResourceLoading:P}),t.createElement("div",{className:i("point-cloud-layout"),onContextMenu:n=>n.preventDefault()},t.createElement("div",{className:i("point-cloud-wrapper")},t.createElement(ot,null),t.createElement("div",{className:i("point-cloud-content"),ref:E},t.createElement(j,{direction:"horizontal",localKey:"leftAllViewid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%"},t.createElement("div",{className:i("point-cloud-container","left")},t.createElement(W,{setResourceLoading:P}),h),t.createElement("div",{className:V({[i("point-cloud-container","right")]:!0,[i("point-cloud-container","rightZoom")]:r}),ref:C},t.createElement(j,{localKey:"rightAllViewid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type),defaultHeight:300,minTopHeight:T,minBottomHeight:160},t.createElement(K,{drawLayerSlot:f,checkMode:l,intelligentFit:D,setIsEnlargeTopView:v,onExitZoom:()=>{v(!1)},isEnlargeTopView:r}),t.createElement("div",{className:V({[i("point-cloud-container","right-bottom")]:!r,[i("point-cloud-container","right-bottom-floatLeft")]:r})},t.createElement(Z,{isEnlargeTopView:r,thumbnailWidth:r?300:455,checkMode:l,measureVisible:I})))))),t.createElement(nt,null))))};var pt=Y(mt,null,null,{context:tt})(dt);export{pt as default};
1
+ import{getClassName as i}from"../../utils/dom.js";import t,{useContext as G,useRef as w,useState as b,useEffect as f}from"react";import K from"./PointCloud3DView.js";import O from"./PointCloudBackView.js";import Z from"./PointCloudTopView.js";import U from"./PointCloudSideView.js";import $ from"./PointCloud2DView.js";import q from"./PointCloudListener.js";import J from"./PointCloudSegmentListener.js";import Q from"./PointCloudSegment.js";import X from"./PointCloudSegmentStatus.js";import Y from"./PointCloudSegmentToolbar.js";import tt from"./PointCloudSegment2DView.js";import{connect as et}from"react-redux";import{LabelBeeContext as ot,useDispatch as nt}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as it,AnnotatedAttributesPanelFixedRight as lt}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as rt}from"./PointCloudContext.js";import{PointCloudUtils as st,EPointCloudPattern as at}from"@labelbee/lb-utils";import{useCustomToolInstance as mt}from"../../hooks/annotation.js";import{jsonParser as ut}from"../../utils/index.js";import{a2MapStateToProps as ct}from"../../store/annotation/map.js";import V from"classnames";import dt from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as pt}from"../../store/annotation/actionCreators.js";import j from"../DynamicResizer/DynamicResizer.js";const ft=x=>{const{currentData:m,imgList:D,drawLayerSlot:g,checkMode:l,intelligentFit:y,imgIndex:I,config:R,measureVisible:A,setResourceLoading:L,stepInfo:o}=x,e=G(rt),{globalPattern:C,setGlobalPattern:k,selectedIDs:E,isLargeStatus:u,setIsLargeStatus:T}=e,N=nt(),P=w(null),h=w(null),[_,B]=b(0),[r,v]=b(!1),F=(E==null?void 0:E.length)>0&&r,H=ut(m.result),{toolInstanceRef:a,clearToolInstance:M}=mt({basicInfo:H});if(f(()=>{a.current.setPointCloudGlobalPattern=n=>{n!==C&&(k(n),e.clearAllDetectionInstance(),M())}},[C]),f(()=>{var n;if(pt(N,!0),m){const{boxParamsList:s,polygonList:c,lineList:d,sphereParamsList:p,segmentation:z,rectList:W}=st.parsePointCloudCurrentResult((n=m==null?void 0:m.result)!=null?n:"");e.setPointCloudResult(s),e.setPolygonList(c),e.setLineList(d),e.setPointCloudSphereList(p),e.setRectList(W),e.setSegmentation(z)}},[I]),f(()=>{var n;if(P.current){const s=((n=P.current)==null?void 0:n.offsetHeight)-233;B(s)}},[h.current]),f(()=>{a.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],a.current.exportCustomData=()=>{var n,s,c,d,p;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(s=e.lineList)!=null?s:[],resultPoint:(c=e.pointCloudSphereList)!=null?c:[],resultRect:(d=e.rectList)!=null?d:[],segmentation:(p=e.segmentation)!=null?p:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),D.length===0)return null;if(C===at.Segmentation)return t.createElement(t.Fragment,null,t.createElement(J,{checkMode:l,toolInstanceRef:a}),t.createElement(Y,null),t.createElement("div",{className:i("point-cloud-layout")},t.createElement(Q,{checkMode:l}),t.createElement(tt,null)),t.createElement(X,{config:R}),g==null?void 0:g({direct:!0}));let S=t.createElement("div",{className:i("point-cloud-container","left-bottom")},t.createElement(O,{checkMode:l}),t.createElement(U,{checkMode:l}));return r&&(S=t.createElement(dt,{selectAndEnlarge:F,checkMode:l})),t.createElement(t.Fragment,null,t.createElement(q,{checkMode:l,toolInstanceRef:a,setResourceLoading:L}),t.createElement("div",{className:i("point-cloud-layout"),onContextMenu:n=>n.preventDefault()},t.createElement("div",{className:i("point-cloud-wrapper")},t.createElement(it,null),t.createElement("div",{className:i("point-cloud-content"),ref:h},t.createElement(j,{direction:"horizontal",localKey:"leftAllViewid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%",disabled:u},t.createElement("div",{className:i("point-cloud-container",u?"left-large":"left-noLarge")},t.createElement(K,{setResourceLoading:L}),S),t.createElement("div",{className:V({[i("point-cloud-container","right")]:!0,[i("point-cloud-container","rightZoom")]:r}),ref:P},t.createElement(j,{localKey:"rightAllViewid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type),defaultHeight:300,minTopHeight:_,minBottomHeight:160,disabled:u},t.createElement(Z,{drawLayerSlot:g,checkMode:l,intelligentFit:y,setIsEnlargeTopView:v,onExitZoom:()=>{T(!1),v(!1)},isEnlargeTopView:r}),t.createElement("div",{className:V({[i("point-cloud-container",u?"right-bottom-large":"right-bottom-noLarge")]:!r,[i("point-cloud-container","right-bottom-floatLeft")]:r})},t.createElement($,{isEnlargeTopView:r,thumbnailWidth:r?300:455,checkMode:l,measureVisible:A})))))),t.createElement(lt,null))))};var gt=et(ct,null,null,{context:ot})(ft);export{gt as default};
package/es/index.css CHANGED
@@ -2714,8 +2714,13 @@
2714
2714
  .bee-point-cloud-wrapper .bee-point-cloud-container__zoom .bee-point-cloud-highlight-view {
2715
2715
  display: none;
2716
2716
  }
2717
- .bee-point-cloud-wrapper .bee-point-cloud-container__left {
2717
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large {
2718
+ width: 455px;
2719
+ }
2720
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge {
2718
2721
  width: 100%;
2722
+ }
2723
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge {
2719
2724
  display: flex;
2720
2725
  flex-direction: column;
2721
2726
  border-right: 1px solid #fff;
@@ -2723,23 +2728,23 @@
2723
2728
  overflow: hidden;
2724
2729
  flex-shrink: 0;
2725
2730
  }
2726
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container {
2731
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container {
2727
2732
  background: #444;
2728
2733
  display: flex;
2729
2734
  flex-direction: column;
2730
2735
  overflow: hidden;
2731
2736
  flex: 1;
2732
2737
  }
2733
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-content {
2738
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-content, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-content {
2734
2739
  display: flex;
2735
2740
  flex: 1;
2736
2741
  overflow: hidden;
2737
2742
  }
2738
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view {
2743
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-content .bee-point-cloud-3d-view {
2739
2744
  flex: 1;
2740
2745
  overflow: hidden;
2741
2746
  }
2742
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar {
2747
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar {
2743
2748
  transition: width 0.5s;
2744
2749
  padding-left: 16px;
2745
2750
  height: 100%;
@@ -2751,10 +2756,10 @@
2751
2756
  justify-content: flex-start;
2752
2757
  overflow-y: scroll;
2753
2758
  }
2754
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar {
2759
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebar::-webkit-scrollbar {
2755
2760
  display: none;
2756
2761
  }
2757
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2762
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2758
2763
  display: inline-block;
2759
2764
  height: 36px;
2760
2765
  width: 36px;
@@ -2766,16 +2771,16 @@
2766
2771
  background-color: #444;
2767
2772
  border-radius: 4px;
2768
2773
  }
2769
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset {
2774
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__reset {
2770
2775
  background-image: url("../dist/assets/icons/25ef334b.svg");
2771
2776
  margin: 16px 0;
2772
2777
  }
2773
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2778
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__followTop {
2774
2779
  margin: 16px 0 0 0;
2775
2780
  background-size: 36px;
2776
2781
  background-image: url("../dist/assets/icons/aa147cfc.png");
2777
2782
  }
2778
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2783
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2779
2784
  display: inline-block;
2780
2785
  height: 36px;
2781
2786
  width: 36px;
@@ -2785,60 +2790,60 @@
2785
2790
  background-image: url("../dist/assets/icons/c5b4262e.png");
2786
2791
  margin-bottom: 8px;
2787
2792
  }
2788
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active {
2793
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft.active, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt.active {
2789
2794
  background-image: url("../dist/assets/icons/e4f0b7fe.png");
2790
2795
  }
2791
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top {
2796
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__top {
2792
2797
  background-position: 0 0;
2793
2798
  }
2794
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front {
2799
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__front {
2795
2800
  background-position-y: -44px;
2796
2801
  }
2797
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left {
2802
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__left {
2798
2803
  background-position-y: -88px;
2799
2804
  }
2800
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back {
2805
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__back {
2801
2806
  background-position-y: -132px;
2802
2807
  }
2803
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right {
2808
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__right {
2804
2809
  background-position-y: -176px;
2805
2810
  }
2806
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom {
2811
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__bottom {
2807
2812
  background-position-y: -220px;
2808
2813
  }
2809
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft {
2814
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__lft {
2810
2815
  background-position-y: -264px;
2811
2816
  }
2812
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2817
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-view__rbt {
2813
2818
  background-position-y: -308px;
2814
2819
  margin-bottom: 0px;
2815
2820
  }
2816
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom {
2821
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom {
2817
2822
  padding-left: 16px;
2818
2823
  height: 100%;
2819
2824
  background-color: #4c4c4c;
2820
2825
  box-sizing: content-box;
2821
2826
  display: flex;
2822
2827
  }
2823
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset {
2828
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__reset {
2824
2829
  margin: 0px 4px;
2825
2830
  }
2826
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop {
2831
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__followTop {
2827
2832
  margin: 0px 4px;
2828
2833
  }
2829
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt {
2834
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__top, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__front, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__left, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__right, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__back, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__lft, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-3d-container .bee-point-cloud-3d-sidebarZoom .bee-point-cloud-3d-view__rbt {
2830
2835
  background-color: #444;
2831
2836
  border-radius: 4px;
2832
2837
  margin: 0px 4px;
2833
2838
  }
2834
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom-float {
2839
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom-float, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom-float {
2835
2840
  position: fixed;
2836
2841
  bottom: 0px;
2837
2842
  right: 0px;
2838
2843
  z-index: 1003;
2839
2844
  border: 1px solid #fff;
2840
2845
  }
2841
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader {
2846
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom-float .bee-point-cloud-container__left-bottom-floatHeader {
2842
2847
  line-height: 24px;
2843
2848
  font-size: 12px;
2844
2849
  width: 100%;
@@ -2847,13 +2852,13 @@
2847
2852
  text-align: center;
2848
2853
  cursor: grabbing;
2849
2854
  }
2850
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom {
2855
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom {
2851
2856
  flex: 1;
2852
2857
  flex-direction: column;
2853
2858
  display: flex;
2854
2859
  overflow: hidden;
2855
2860
  }
2856
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page {
2861
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page {
2857
2862
  position: absolute;
2858
2863
  left: 0;
2859
2864
  top: 0;
@@ -2869,11 +2874,12 @@
2869
2874
  height: 100%;
2870
2875
  width: 100%;
2871
2876
  }
2872
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text {
2877
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__empty-page .bee-point-cloud-container__empty-page__text {
2873
2878
  margin-top: 8px;
2874
2879
  }
2875
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2876
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view {
2880
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2881
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view,
2882
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view {
2877
2883
  position: relative;
2878
2884
  flex: 1;
2879
2885
  display: flex;
@@ -2881,12 +2887,14 @@
2881
2887
  flex-direction: column;
2882
2888
  border-top: 1px solid white;
2883
2889
  }
2884
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2885
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content {
2890
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2891
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2892
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content {
2886
2893
  height: 100%;
2887
2894
  }
2888
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2889
- .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance {
2895
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2896
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-large .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance, .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2897
+ .bee-point-cloud-wrapper .bee-point-cloud-container__left-noLarge .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance {
2890
2898
  position: relative;
2891
2899
  width: 100%;
2892
2900
  height: 100%;
@@ -2948,18 +2956,23 @@
2948
2956
  border-right: 1px solid #fff;
2949
2957
  border-bottom: 1px solid #fff;
2950
2958
  }
2951
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom {
2959
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large {
2960
+ flex: 1;
2961
+ }
2962
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge {
2952
2963
  height: 100%;
2964
+ }
2965
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge {
2953
2966
  display: flex;
2954
2967
  overflow: auto;
2955
2968
  }
2956
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom .bee-point-cloud-2d-container {
2969
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large .bee-point-cloud-2d-container, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge .bee-point-cloud-2d-container {
2957
2970
  flex-direction: column;
2958
2971
  display: flex;
2959
2972
  overflow: hidden;
2960
2973
  flex-shrink: 0;
2961
2974
  }
2962
- .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom .bee-point-cloud-2d-image {
2975
+ .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-large .bee-point-cloud-2d-image, .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom-noLarge .bee-point-cloud-2d-image {
2963
2976
  flex: 1;
2964
2977
  height: 100%;
2965
2978
  background-color: #4c4c4c;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.24.0-alpha.18",
3
+ "version": "1.24.0-alpha.19",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -46,7 +46,7 @@
46
46
  "@labelbee/lb-annotation": "1.28.0-alpha.8",
47
47
  "@labelbee/lb-utils": "1.20.0-alpha.1",
48
48
  "@labelbee/wavesurfer": "1.1.0",
49
- "@types/react-dom": "^18.2.7",
49
+ "@types/react-dom": "18.3.1",
50
50
  "@types/react-transition-group": "^4.4.9",
51
51
  "ahooks": "^3.4.0",
52
52
  "classnames": "^2.3.0",
@@ -55,7 +55,7 @@
55
55
  "github-markdown-css": "^5.2.0",
56
56
  "lodash": "^4.17.21",
57
57
  "postcss-url": "^10.1.3",
58
- "re-resizable": "^6.9.9",
58
+ "re-resizable": "6.9.17",
59
59
  "react-colorful": "^5.6.1",
60
60
  "react-draggable": "^4.4.6",
61
61
  "react-i18next": "^11.12.0",
@@ -89,7 +89,7 @@
89
89
  "@svgr/rollup": "^8.1.0",
90
90
  "@types/diff-match-patch": "^1.0.36",
91
91
  "@types/lodash": "^4.14.168",
92
- "@types/react": "^16.13.1",
92
+ "@types/react": "16.14.62",
93
93
  "@types/react-redux": "^7.1.16",
94
94
  "@types/react-syntax-highlighter": "^15.5.0",
95
95
  "@typescript-eslint/eslint-plugin": "^4.15.1",