@labelbee/lb-components 1.24.0-alpha.42 → 1.24.0-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),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(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,s,r)=>s in n?__defProp(n,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[s]=r,__spreadValues=(n,s)=>{for(var r in s||(s={}))__hasOwnProp.call(s,r)&&__defNormalProp(n,r,s[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(s))__propIsEnum.call(s,r)&&__defNormalProp(n,r,s[r]);return n},__spreadProps=(n,s)=>__defProps(n,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(n,s,r=1)=>{const{width:v,height:c}=s,w={x:n.x+v*r/2,y:n.y+c*r/2},P={x:s.width/2,y:s.height/2};return{offsetX:(P.x-w.x)/r,offsetY:-(P.y-w.y)/r}},TopViewToolbar=({currentData:n})=>{var s,r;const{zoom:v,zoomIn:c,zoomOut:w,initialPosition:P}=useZoom.useZoom(),{selectNextBox:E,selectPrevBox:L}=useSingleBox.useSingleBox(),{switchToNextSphere:V}=useSphere.useSphere(),{updateRotate:h}=useRotate.useRotate({currentData:n}),{updateRotateEdge:b}=useRotateEdge.useRotateEdge({currentData:n}),g=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:x}=g,p=(r=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:r.getCurrentToolName(),t=()=>{h(-Number(g.rectRotateSensitivity))},a=()=>{h(g.rectRotateSensitivity)},f=()=>{b(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:q=>{var I;(I=x==null?void 0:x.pointCloudInstance)==null||I.updatePointSize({customSize:q})}}),React__default.default.createElement("span",{onClick:a,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:t,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:f,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(p===EToolName.Point){V(ESortDirection.descend);return}L(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(p===EToolName.Point){V(ESortDirection.ascend);return}E(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:P,zoomIn:c,zoomOut:w,zoom:v}))},ZAxisSlider=({setZAxisLimit:n,zAxisLimit:s,checkMode:r})=>r?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:v=>{n(v)}})),PointCloudTopView=({currentData:n,imgList:s,stepInfo:r,drawLayerSlot:v,checkMode:c,intelligentFit:w,setIsEnlargeTopView:P,isEnlargeTopView:E,onExitZoom:L,highlightAttribute:V})=>{var h,b;const[g,x]=React.useState({zoom:1,currentPos:{x:0,y:0}}),p=React.useRef(null),t=React.useContext(PointCloudContext.PointCloudContext),a=useSize(p),f=index.jsonParser(r.config),{setZoom:q,syncTopviewToolZoom:I}=useZoom.useZoom(),{hideAttributes:k,setIsLargeStatus:A,selectedID:U,pointCloudBoxList:Z}=t,{addPolygon:z,deletePolygon:H}=usePolygon.usePolygon(),{deletePointCloudSphere:F}=useSphere.useSphere(),{deletePointCloudBox:W,changeValidByID:$}=useSingleBox.useSingleBox(),[j,M]=React.useState(10),{t:T}=reactI18next.useTranslation(),C=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:K}=useHistory.useHistory(),[X,O]=React.useState(!0),[B,D]=React.useState(!1);React.useLayoutEffect(()=>{if(!t.topViewInstance&&p.current&&(n==null?void 0:n.url)&&(n==null?void 0:n.result)){const o={width:p.current.clientWidth,height:p.current.clientHeight},l=new lbAnnotation.PointCloudAnnotation({container:p.current,size:o,pcdPath:n.url,config:__spreadProps(__spreadValues({},f),{pointCloudPattern:t.pointCloudPattern}),checkMode:c,toolName:ToolUtils.getPointCloudToolList(),proxyMode:c,view:"topView"});t.setTopViewInstance(l)}},[n]),React.useEffect(()=>{B&&U&&(t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single,Z),D(!1))},[B]),React.useEffect(()=>{if(!a||!t.topViewInstance||!t.sideViewInstance)return;const{toolInstance:o}=t.topViewInstance;o.singleOn("dataUpdated",(e,i)=>{const u=___default.default.cloneDeep(e).map(d=>__spreadProps(__spreadValues({},d),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(d.pointList,a)}));t.setSelectedIDs(i),t.setLineList(u),K({lineList:u})}),o.singleOn("pointCreated",(e,i)=>{C.topViewAddSphere({newPoint:e,size:a,trackConfigurable:f.trackConfigurable,zoom:i})}),o.singleOn("pointDeleted",e=>{F(e)}),o.singleOn("pointSelected",e=>{t.setSelectedIDs([e])}),o.singleOn("updatePointByDrag",(e,i)=>{var u;(u=C.topViewUpdatePoint)==null||u.call(C,e,a)}),o.singleOn("polygonCreated",(e,i)=>{if(o.pattern===EPolygonPattern.Normal||!(n==null?void 0:n.url)){const u=__spreadProps(__spreadValues({},e),{pointList:e.pointList.map(d=>lbUtils.PointCloudUtils.transferCanvas2World(d,a))});z(u),t.setSelectedIDs(k.includes(e.attribute)?"":e.id);return}O(!1),C.topViewAddBox({polygon:e,size:a,imgList:s,trackConfigurable:f.trackConfigurable,zoom:i,intelligentFit:w}),D(!0)}),o.singleOn("deletedObject",({id:e})=>{W(e),H(e)}),o.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),o.singleOn("addSelectedIDs",e=>{t.addSelectedID(e)}),o.singleOn("setSelectedIDs",e=>{O(!1),t.setSelectedIDs(e)}),o.singleOn("updatePolygonByDrag",e=>{var i;(i=C.topViewUpdateBox)==null||i.call(C,e,a)});const l=e=>{var i;const u=$(e);u&&t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,u),t.polygonList.find(d=>d.id===e)&&((i=t.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(e,!0))};return o.on("validUpdate",l),()=>{o.unbind("validUpdate",l)}},[t,a,n,C,t.polygonList,t.lineList,(h=t.topViewInstance)==null?void 0:h.toolInstance]),React.useEffect(()=>{var o,l;if(!t.topViewInstance)return;const e=(l=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:l.value;e&&t.topViewInstance.toolInstance.setDefaultAttribute(e)},[t.topViewInstance]),React.useEffect(()=>{if(!(a==null?void 0:a.width)||!t.topViewInstance)return;t.topViewInstance.initSize(a),t.topViewInstance.updatePolygonList(t.displayPointCloudList,t.polygonList),t.topViewInstance.updatePointList(t.displaySphereList),t.topViewInstance.updateLineList(t.displayLineList);const{topViewInstance:{pointCloudInstance:o,toolInstance:l}}=t;l.singleOn("renderZoom",(e,i)=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(i,a,e);if(o.camera.zoom=e,i){const{x:m,y,z:S}=o.initCameraPosition;o.camera.position.set(m+d,y-u,S)}o.camera.updateProjectionMatrix(),o.render(),q(e),I(i,e,a),x({zoom:e,currentPos:i})}),l.singleOn("dragMove",({currentPos:e,zoom:i})=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(e,a,i);o.camera.zoom=i;const{x:m,y,z:S}=o.initCameraPosition;o.camera.position.set(m+d,y-u,S),o.render(),I(e,i,a),x({zoom:i,currentPos:e})})},[a,t.topViewInstance,(b=t.topViewInstance)==null?void 0:b.toolInstance]),React.useEffect(()=>{var o,l;(l=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null||l.applyZAxisPoints(j)},[j]),React.useEffect(()=>{var o,l,e,i;C.topViewSelectedChanged({}),(i=(e=(l=(o=t.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:l.selection)==null?void 0:e.hardSetSelectedIDs)==null||i.call(e,t.selectedIDs)},[t.selectedIDs]),React.useEffect(()=>{const{topViewInstance:o,selectedID:l,selectedPointCloudBox:e,zoom:i}=t;if(!o||!l||!e||!X){O(!0);return}const{center:u}=e,{pointCloudInstance:d,toolInstance:m}=o,y=m.polygonList.find(G=>G.id===t.selectedID);if(!y){O(!0);return}const S=lbAnnotation.MathUtils.getRectCenterPoint(y.pointList),R=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(m.size,S,i);m.setCurrentPos(R),m.render();const{x:J,y:Q,z:Y}=d.initCameraPosition;d.camera.position.set(u.x,u.y,Y),d.render(),I(R,i,a),x({zoom:i,currentPos:R})},[t.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",N),()=>{window.removeEventListener("keydown",N)}),[]);const N=o=>{const{keyCode:l}=o;l===EKeyCode.Esc&&L()};return React.useEffect(()=>{var o,l,e;(e=(l=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:l.setHighlightAttribute)==null||e.call(l,V)},[t.topViewInstance,V]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:E?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{L()}}),React__default.default.createElement("span",null,T("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:T("TopView"),onClick:()=>{A(!0),P(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:n})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:p},v==null?void 0:v(g)),!E&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f}),React__default.default.createElement(ZAxisSlider,{checkMode:c,zAxisLimit:j,setZAxisLimit:M}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),index$3=require("../../views/MainView/toolFooter/index.js"),index$4=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),ToolPointCloudBoxRenderHelper=require("../../utils/ToolPointCloudBoxRenderHelper.js"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useRotateEdge=require("./hooks/useRotateEdge.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useSphere=require("./hooks/useSphere.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),ToolUtils=require("../../utils/ToolUtils.js"),_=require("lodash"),index$2=require("./components/PointCloudSizeSlider/index.js"),useHistory=require("./hooks/useHistory.js"),index$1=require("./components/TitleButton/index.js"),ahooks=require("ahooks");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,s,r)=>s in n?__defProp(n,s,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[s]=r,__spreadValues=(n,s)=>{for(var r in s||(s={}))__hasOwnProp.call(s,r)&&__defNormalProp(n,r,s[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(s))__propIsEnum.call(s,r)&&__defNormalProp(n,r,s[r]);return n},__spreadProps=(n,s)=>__defProps(n,__getOwnPropDescs(s));const{EPolygonPattern,EToolName}=lbAnnotation.cTool,{ESortDirection}=lbAnnotation.cAnnotation,EKeyCode=lbAnnotation.cKeyCode.default,TransferCanvas2WorldOffset=(n,s,r=1)=>{const{width:v,height:c}=s,w={x:n.x+v*r/2,y:n.y+c*r/2},P={x:s.width/2,y:s.height/2};return{offsetX:(P.x-w.x)/r,offsetY:-(P.y-w.y)/r}},TopViewToolbar=({currentData:n})=>{var s,r;const{zoom:v,zoomIn:c,zoomOut:w,initialPosition:P}=useZoom.useZoom(),{selectNextBox:E,selectPrevBox:L}=useSingleBox.useSingleBox(),{switchToNextSphere:h}=useSphere.useSphere(),{updateRotate:S}=useRotate.useRotate({currentData:n}),{updateRotateEdge:b}=useRotateEdge.useRotateEdge({currentData:n}),g=React.useContext(PointCloudContext.PointCloudContext),{topViewInstance:x}=g,p=(r=(s=g==null?void 0:g.topViewInstance)==null?void 0:s.toolScheduler)==null?void 0:r.getCurrentToolName(),t=()=>{S(-Number(g.rectRotateSensitivity))},a=()=>{S(g.rectRotateSensitivity)},f=()=>{b(-90)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$2,{onChange:O=>{var I;(I=x==null?void 0:x.pointCloudInstance)==null||I.updatePointSize({customSize:O})}}),React__default.default.createElement("span",{onClick:a,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:t,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:f,className:dom.getClassName("point-cloud","rotate-90")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{if(p===EToolName.Point){h(ESortDirection.descend);return}L(!0)},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{if(p===EToolName.Point){h(ESortDirection.ascend);return}E(!0)},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$3.FooterDivider,null),React__default.default.createElement(index$4.ZoomController,{initialPosition:P,zoomIn:c,zoomOut:w,zoom:v}))},ZAxisSlider=({setZAxisLimit:n,zAxisLimit:s,checkMode:r})=>r?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:s,onAfterChange:v=>{n(v)}})),PointCloudTopView=({currentData:n,imgList:s,stepInfo:r,drawLayerSlot:v,checkMode:c,intelligentFit:w,setIsEnlargeTopView:P,isEnlargeTopView:E,onExitZoom:L,highlightAttribute:h})=>{var S,b;const[g,x]=React.useState({zoom:1,currentPos:{x:0,y:0}}),p=React.useRef(null),t=React.useContext(PointCloudContext.PointCloudContext),a=useSize(p),f=index.jsonParser(r.config),{setZoom:O,syncTopviewToolZoom:I}=useZoom.useZoom(),{run:k}=ahooks.useDebounceFn(O,{wait:500}),{hideAttributes:A,setIsLargeStatus:U,selectedID:Z,pointCloudBoxList:z}=t,{addPolygon:H,deletePolygon:F}=usePolygon.usePolygon(),{deletePointCloudSphere:W}=useSphere.useSphere(),{deletePointCloudBox:$,changeValidByID:M}=useSingleBox.useSingleBox(),[j,K]=React.useState(10),{t:T}=reactI18next.useTranslation(),C=usePointCloudViews.usePointCloudViews(),{pushHistoryWithList:X}=useHistory.useHistory(),[Y,q]=React.useState(!0),[D,B]=React.useState(!1);React.useLayoutEffect(()=>{if(!t.topViewInstance&&p.current&&(n==null?void 0:n.url)&&(n==null?void 0:n.result)){const o={width:p.current.clientWidth,height:p.current.clientHeight},l=new lbAnnotation.PointCloudAnnotation({container:p.current,size:o,pcdPath:n.url,config:__spreadProps(__spreadValues({},f),{pointCloudPattern:t.pointCloudPattern}),checkMode:c,toolName:ToolUtils.getPointCloudToolList(),proxyMode:c,view:"topView"});t.setTopViewInstance(l)}},[n]),React.useEffect(()=>{D&&Z&&(t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Single,z),B(!1))},[D]),React.useEffect(()=>{if(!a||!t.topViewInstance||!t.sideViewInstance)return;const{toolInstance:o}=t.topViewInstance;o.singleOn("dataUpdated",(e,i)=>{const u=___default.default.cloneDeep(e).map(d=>__spreadProps(__spreadValues({},d),{pointList:lbUtils.PointCloudUtils.pointListTransferCanvas2World(d.pointList,a)}));t.setSelectedIDs(i),t.setLineList(u),X({lineList:u})}),o.singleOn("pointCreated",(e,i)=>{C.topViewAddSphere({newPoint:e,size:a,trackConfigurable:f.trackConfigurable,zoom:i})}),o.singleOn("pointDeleted",e=>{W(e)}),o.singleOn("pointSelected",e=>{t.setSelectedIDs([e])}),o.singleOn("updatePointByDrag",(e,i)=>{var u;(u=C.topViewUpdatePoint)==null||u.call(C,e,a)}),o.singleOn("polygonCreated",(e,i)=>{if(o.pattern===EPolygonPattern.Normal||!(n==null?void 0:n.url)){const u=__spreadProps(__spreadValues({},e),{pointList:e.pointList.map(d=>lbUtils.PointCloudUtils.transferCanvas2World(d,a))});H(u),t.setSelectedIDs(A.includes(e.attribute)?"":e.id);return}q(!1),C.topViewAddBox({polygon:e,size:a,imgList:s,trackConfigurable:f.trackConfigurable,zoom:i,intelligentFit:w}),B(!0)}),o.singleOn("deletedObject",({id:e})=>{$(e),F(e)}),o.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),o.singleOn("addSelectedIDs",e=>{t.addSelectedID(e)}),o.singleOn("setSelectedIDs",e=>{q(!1),t.setSelectedIDs(e)}),o.singleOn("updatePolygonByDrag",e=>{var i;(i=C.topViewUpdateBox)==null||i.call(C,e,a)});const l=e=>{var i;const u=M(e);u&&t.syncAllViewPointCloudColor(ToolPointCloudBoxRenderHelper.EPointCloudBoxRenderTrigger.Default,u),t.polygonList.find(d=>d.id===e)&&((i=t.topViewInstance)==null||i.toolInstance.setPolygonValidAndRender(e,!0))};return o.on("validUpdate",l),()=>{o.unbind("validUpdate",l)}},[t,a,n,C,t.polygonList,t.lineList,(S=t.topViewInstance)==null?void 0:S.toolInstance]),React.useEffect(()=>{var o,l;if(!t.topViewInstance)return;const e=(l=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:l.value;e&&t.topViewInstance.toolInstance.setDefaultAttribute(e)},[t.topViewInstance]),React.useEffect(()=>{if(!(a==null?void 0:a.width)||!t.topViewInstance)return;t.topViewInstance.initSize(a),t.topViewInstance.updatePolygonList(t.displayPointCloudList,t.polygonList),t.topViewInstance.updatePointList(t.displaySphereList),t.topViewInstance.updateLineList(t.displayLineList);const{topViewInstance:{pointCloudInstance:o,toolInstance:l}}=t;l.singleOn("renderZoom",(e,i)=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(i,a,e);if(o.camera.zoom=e,i){const{x:m,y,z:V}=o.initCameraPosition;o.camera.position.set(m+d,y-u,V)}o.camera.updateProjectionMatrix(),o.render(),k(e),I(i,e,a),x({zoom:e,currentPos:i})}),l.singleOn("dragMove",({currentPos:e,zoom:i})=>{const{offsetX:u,offsetY:d}=TransferCanvas2WorldOffset(e,a,i);o.camera.zoom=i;const{x:m,y,z:V}=o.initCameraPosition;o.camera.position.set(m+d,y-u,V),o.render(),I(e,i,a),x({zoom:i,currentPos:e})})},[a,t.topViewInstance,(b=t.topViewInstance)==null?void 0:b.toolInstance]),React.useEffect(()=>{var o,l;(l=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null||l.applyZAxisPoints(j)},[j]),React.useEffect(()=>{var o,l,e,i;C.topViewSelectedChanged({}),(i=(e=(l=(o=t.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:l.selection)==null?void 0:e.hardSetSelectedIDs)==null||i.call(e,t.selectedIDs)},[t.selectedIDs]),React.useEffect(()=>{const{topViewInstance:o,selectedID:l,selectedPointCloudBox:e,zoom:i}=t;if(!o||!l||!e||!Y){q(!0);return}const{center:u}=e,{pointCloudInstance:d,toolInstance:m}=o,y=m.polygonList.find(J=>J.id===t.selectedID);if(!y){q(!0);return}const V=lbAnnotation.MathUtils.getRectCenterPoint(y.pointList),R=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(m.size,V,i);m.setCurrentPos(R),m.render();const{x:Q,y:ee,z:G}=d.initCameraPosition;d.camera.position.set(u.x,u.y,G),d.render(),I(R,i,a),x({zoom:i,currentPos:R})},[t.selectedID]),React.useEffect(()=>(window.addEventListener("keydown",N),()=>{window.removeEventListener("keydown",N)}),[]);const N=o=>{const{keyCode:l}=o;l===EKeyCode.Esc&&L()};return React.useEffect(()=>{var o,l,e;(e=(l=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:l.setHighlightAttribute)==null||e.call(l,h)},[t.topViewInstance,h]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:E?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{L()}}),React__default.default.createElement("span",null,T("TopView")),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):React__default.default.createElement(index$1,{title:T("TopView"),onClick:()=>{U(!0),P(!0)}}),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:n})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:p},v==null?void 0:v(g)),!E&&React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:c,config:f}),React__default.default.createElement(ZAxisSlider,{checkMode:c,zAxisLimit:j,setZAxisLimit:K}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
@@ -1,6 +1,6 @@
1
1
  /**
2
- * 将 LaTeX 数学公式从 \(...\) 格式转换为 $...$ 格式
2
+ * 将 LaTeX 数学公式从 \(...\) 格式转换为 $...$ 格式,以及 \[...\] 格式转换为 $$...$$格式
3
3
  * @param latexContent - 包含 LaTeX 数学公式的原始字符串
4
- * @returns 转换后的字符串,其中数学公式使用 $...$ 格式
4
+ * @returns 转换后的字符串,其中行内公式使用 $...$ 格式,行间公式使用 $$...$$ 格式
5
5
  */
6
6
  export declare const convertLatexFormat: (latexContent: string) => string;
package/dist/utils/LLM.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const convertLatexFormat=r=>{try{return r.replace(/\\\((.*?)\\\)/g,(e,t)=>`$${t.trim()}$`)}catch(e){return r}};exports.convertLatexFormat=convertLatexFormat;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const convertLatexFormat=r=>{try{return r.replace(/\\\((.+?)\\\)/gs,(o,e)=>`$${e}$`).replace(/\\\[(.+?)\\\]/gs,(o,e)=>`$$${e}$$`)}catch(t){return r}};exports.convertLatexFormat=convertLatexFormat;
@@ -1 +1 @@
1
- import{getClassName as S}from"../../utils/dom.js";import{FooterDivider as F}from"../../views/MainView/toolFooter/index.js";import{ZoomController as Pe}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as ge,UpSquareOutlined as Ie,DownSquareOutlined as ye}from"@ant-design/icons";import{cKeyCode as xe,PointCloudAnnotation as Ve,MathUtils as W,cTool as he,cAnnotation as Se}from"@labelbee/lb-annotation";import{PointCloudUtils as K}from"@labelbee/lb-utils";import{EPointCloudBoxRenderTrigger as M}from"../../utils/ToolPointCloudBoxRenderHelper.js";import s,{useState as D,useRef as _e,useContext as X,useLayoutEffect as Ee,useEffect as C}from"react";import{PointCloudContext as Y}from"./PointCloudContext.js";import{useRotate as Le}from"./hooks/useRotate.js";import{useRotateEdge as be}from"./hooks/useRotateEdge.js";import{useSingleBox as q}from"./hooks/useSingleBox.js";import{PointCloudContainer as Oe}from"./PointCloudLayout.js";import{BoxInfos as $,PointCloudValidity as je}from"./PointCloudInfos.js";import{usePolygon as Te}from"./hooks/usePolygon.js";import{useSphere as G}from"./hooks/useSphere.js";import{useZoom as J}from"./hooks/useZoom.js";import{Slider as De}from"antd";import{a2MapStateToProps as Re}from"../../store/annotation/map.js";import{connect as ke}from"react-redux";import{usePointCloudViews as Be}from"./hooks/usePointCloudViews.js";import Ae from"../../hooks/useSize.js";import{useTranslation as Ne}from"react-i18next";import{LabelBeeContext as Ue}from"../../store/ctx.js";import{jsonParser as ze}from"../../utils/index.js";import Ze from"../../utils/ToolUtils.js";import He from"lodash";import Fe from"./components/PointCloudSizeSlider/index.js";import{useHistory as We}from"./hooks/useHistory.js";import Ke from"./components/TitleButton/index.js";var Me=Object.defineProperty,Xe=Object.defineProperties,Ye=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,qe=Object.prototype.hasOwnProperty,$e=Object.prototype.propertyIsEnumerable,ee=(i,l,a)=>l in i?Me(i,l,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[l]=a,A=(i,l)=>{for(var a in l||(l={}))qe.call(l,a)&&ee(i,a,l[a]);if(Q)for(var a of Q(l))$e.call(l,a)&&ee(i,a,l[a]);return i},N=(i,l)=>Xe(i,Ye(l));const{EPolygonPattern:Ge,EToolName:te}=he,{ESortDirection:oe}=Se,Je=xe.default,ne=(i,l,a=1)=>{const{width:v,height:p}=l,I={x:i.x+v*a/2,y:i.y+p*a/2},y={x:l.width/2,y:l.height/2};return{offsetX:(y.x-I.x)/a,offsetY:-(y.y-I.y)/a}},Qe=({currentData:i})=>{var l,a;const{zoom:v,zoomIn:p,zoomOut:I,initialPosition:y}=J(),{selectNextBox:b,selectPrevBox:O}=q(),{switchToNextSphere:_}=G(),{updateRotate:E}=Le({currentData:i}),{updateRotateEdge:j}=be({currentData:i}),g=X(Y),{topViewInstance:x}=g,m=(a=(l=g==null?void 0:g.topViewInstance)==null?void 0:l.toolScheduler)==null?void 0:a.getCurrentToolName(),t=()=>{E(-Number(g.rectRotateSensitivity))},c=()=>{E(g.rectRotateSensitivity)},f=()=>{j(-90)};return s.createElement(s.Fragment,null,s.createElement(Fe,{onChange:R=>{var V;(V=x==null?void 0:x.pointCloudInstance)==null||V.updatePointSize({customSize:R})}}),s.createElement("span",{onClick:c,className:S("point-cloud","rotate-reserve")}),s.createElement("span",{onClick:t,className:S("point-cloud","rotate")}),s.createElement("span",{onClick:f,className:S("point-cloud","rotate-90")}),s.createElement(F,null),s.createElement(Ie,{onClick:()=>{if(m===te.Point){_(oe.descend);return}O(!0)},className:S("point-cloud","prev")}),s.createElement(ye,{onClick:()=>{if(m===te.Point){_(oe.ascend);return}b(!0)},className:S("point-cloud","next")}),s.createElement(F,null),s.createElement(Pe,{initialPosition:y,zoomIn:p,zoomOut:I,zoom:v}))},et=({setZAxisLimit:i,zAxisLimit:l,checkMode:a})=>a?null:s.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},s.createElement(De,{vertical:!0,step:.5,max:10,min:.5,defaultValue:l,onAfterChange:v=>{i(v)}})),tt=({currentData:i,imgList:l,stepInfo:a,drawLayerSlot:v,checkMode:p,intelligentFit:I,setIsEnlargeTopView:y,isEnlargeTopView:b,onExitZoom:O,highlightAttribute:_})=>{var E,j;const[g,x]=D({zoom:1,currentPos:{x:0,y:0}}),m=_e(null),t=X(Y),c=Ae(m),f=ze(a.config),{setZoom:R,syncTopviewToolZoom:V}=J(),{hideAttributes:ie,setIsLargeStatus:se,selectedID:le,pointCloudBoxList:re}=t,{addPolygon:ae,deletePolygon:ce}=Te(),{deletePointCloudSphere:de}=G(),{deletePointCloudBox:ue,changeValidByID:pe}=q(),[k,me]=D(10),{t:U}=Ne(),w=Be(),{pushHistoryWithList:fe}=We(),[Ce,T]=D(!0),[z,Z]=D(!1);Ee(()=>{if(!t.topViewInstance&&m.current&&(i==null?void 0:i.url)&&(i==null?void 0:i.result)){const o={width:m.current.clientWidth,height:m.current.clientHeight},r=new Ve({container:m.current,size:o,pcdPath:i.url,config:N(A({},f),{pointCloudPattern:t.pointCloudPattern}),checkMode:p,toolName:Ze.getPointCloudToolList(),proxyMode:p,view:"topView"});t.setTopViewInstance(r)}},[i]),C(()=>{z&&le&&(t.syncAllViewPointCloudColor(M.Single,re),Z(!1))},[z]),C(()=>{if(!c||!t.topViewInstance||!t.sideViewInstance)return;const{toolInstance:o}=t.topViewInstance;o.singleOn("dataUpdated",(e,n)=>{const d=He.cloneDeep(e).map(u=>N(A({},u),{pointList:K.pointListTransferCanvas2World(u.pointList,c)}));t.setSelectedIDs(n),t.setLineList(d),fe({lineList:d})}),o.singleOn("pointCreated",(e,n)=>{w.topViewAddSphere({newPoint:e,size:c,trackConfigurable:f.trackConfigurable,zoom:n})}),o.singleOn("pointDeleted",e=>{de(e)}),o.singleOn("pointSelected",e=>{t.setSelectedIDs([e])}),o.singleOn("updatePointByDrag",(e,n)=>{var d;(d=w.topViewUpdatePoint)==null||d.call(w,e,c)}),o.singleOn("polygonCreated",(e,n)=>{if(o.pattern===Ge.Normal||!(i==null?void 0:i.url)){const d=N(A({},e),{pointList:e.pointList.map(u=>K.transferCanvas2World(u,c))});ae(d),t.setSelectedIDs(ie.includes(e.attribute)?"":e.id);return}T(!1),w.topViewAddBox({polygon:e,size:c,imgList:l,trackConfigurable:f.trackConfigurable,zoom:n,intelligentFit:I}),Z(!0)}),o.singleOn("deletedObject",({id:e})=>{ue(e),ce(e)}),o.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),o.singleOn("addSelectedIDs",e=>{t.addSelectedID(e)}),o.singleOn("setSelectedIDs",e=>{T(!1),t.setSelectedIDs(e)}),o.singleOn("updatePolygonByDrag",e=>{var n;(n=w.topViewUpdateBox)==null||n.call(w,e,c)});const r=e=>{var n;const d=pe(e);d&&t.syncAllViewPointCloudColor(M.Default,d),t.polygonList.find(u=>u.id===e)&&((n=t.topViewInstance)==null||n.toolInstance.setPolygonValidAndRender(e,!0))};return o.on("validUpdate",r),()=>{o.unbind("validUpdate",r)}},[t,c,i,w,t.polygonList,t.lineList,(E=t.topViewInstance)==null?void 0:E.toolInstance]),C(()=>{var o,r;if(!t.topViewInstance)return;const e=(r=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:r.value;e&&t.topViewInstance.toolInstance.setDefaultAttribute(e)},[t.topViewInstance]),C(()=>{if(!(c==null?void 0:c.width)||!t.topViewInstance)return;t.topViewInstance.initSize(c),t.topViewInstance.updatePolygonList(t.displayPointCloudList,t.polygonList),t.topViewInstance.updatePointList(t.displaySphereList),t.topViewInstance.updateLineList(t.displayLineList);const{topViewInstance:{pointCloudInstance:o,toolInstance:r}}=t;r.singleOn("renderZoom",(e,n)=>{const{offsetX:d,offsetY:u}=ne(n,c,e);if(o.camera.zoom=e,n){const{x:P,y:h,z:L}=o.initCameraPosition;o.camera.position.set(P+u,h-d,L)}o.camera.updateProjectionMatrix(),o.render(),R(e),V(n,e,c),x({zoom:e,currentPos:n})}),r.singleOn("dragMove",({currentPos:e,zoom:n})=>{const{offsetX:d,offsetY:u}=ne(e,c,n);o.camera.zoom=n;const{x:P,y:h,z:L}=o.initCameraPosition;o.camera.position.set(P+u,h-d,L),o.render(),V(e,n,c),x({zoom:n,currentPos:e})})},[c,t.topViewInstance,(j=t.topViewInstance)==null?void 0:j.toolInstance]),C(()=>{var o,r;(r=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null||r.applyZAxisPoints(k)},[k]),C(()=>{var o,r,e,n;w.topViewSelectedChanged({}),(n=(e=(r=(o=t.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:r.selection)==null?void 0:e.hardSetSelectedIDs)==null||n.call(e,t.selectedIDs)},[t.selectedIDs]),C(()=>{const{topViewInstance:o,selectedID:r,selectedPointCloudBox:e,zoom:n}=t;if(!o||!r||!e||!Ce){T(!0);return}const{center:d}=e,{pointCloudInstance:u,toolInstance:P}=o,h=P.polygonList.find(we=>we.id===t.selectedID);if(!h){T(!0);return}const L=W.getRectCenterPoint(h.pointList),B=W.getCurrentPosFromRectCenter(P.size,L,n);P.setCurrentPos(B),P.render();const{x:nt,y:it,z:ve}=u.initCameraPosition;u.camera.position.set(d.x,d.y,ve),u.render(),V(B,n,c),x({zoom:n,currentPos:B})},[t.selectedID]),C(()=>(window.addEventListener("keydown",H),()=>{window.removeEventListener("keydown",H)}),[]);const H=o=>{const{keyCode:r}=o;r===Je.Esc&&O()};return C(()=>{var o,r,e;(e=(r=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:r.setHighlightAttribute)==null||e.call(r,_)},[t.topViewInstance,_]),s.createElement(Oe,{className:S("point-cloud-container","top-view"),title:b?s.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},s.createElement(ge,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{O()}}),s.createElement("span",null,U("TopView")),s.createElement($,{checkMode:p,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):s.createElement(Ke,{title:U("TopView"),onClick:()=>{se(!0),y(!0)}}),toolbar:s.createElement(Qe,{currentData:i})},s.createElement("div",{style:{position:"relative",flex:1}},s.createElement("div",{style:{width:"100%",height:"100%"},ref:m},v==null?void 0:v(g)),!b&&s.createElement($,{checkMode:p,config:f}),s.createElement(et,{checkMode:p,zAxisLimit:k,setZAxisLimit:me}),s.createElement(je,null)))};var ot=ke(Re,null,null,{context:Ue})(tt);export{ot as default};
1
+ import{getClassName as S}from"../../utils/dom.js";import{FooterDivider as H}from"../../views/MainView/toolFooter/index.js";import{ZoomController as ge}from"../../views/MainView/toolFooter/ZoomController/index.js";import{LeftOutlined as Ie,UpSquareOutlined as ye,DownSquareOutlined as xe}from"@ant-design/icons";import{cKeyCode as Ve,PointCloudAnnotation as he,MathUtils as W,cTool as Se,cAnnotation as _e}from"@labelbee/lb-annotation";import{PointCloudUtils as K}from"@labelbee/lb-utils";import{EPointCloudBoxRenderTrigger as M}from"../../utils/ToolPointCloudBoxRenderHelper.js";import s,{useState as D,useRef as Ee,useContext as X,useLayoutEffect as Le,useEffect as C}from"react";import{PointCloudContext as Y}from"./PointCloudContext.js";import{useRotate as be}from"./hooks/useRotate.js";import{useRotateEdge as Oe}from"./hooks/useRotateEdge.js";import{useSingleBox as q}from"./hooks/useSingleBox.js";import{PointCloudContainer as je}from"./PointCloudLayout.js";import{BoxInfos as $,PointCloudValidity as Te}from"./PointCloudInfos.js";import{usePolygon as De}from"./hooks/usePolygon.js";import{useSphere as G}from"./hooks/useSphere.js";import{useZoom as J}from"./hooks/useZoom.js";import{Slider as ke}from"antd";import{a2MapStateToProps as Re}from"../../store/annotation/map.js";import{connect as Be}from"react-redux";import{usePointCloudViews as Ae}from"./hooks/usePointCloudViews.js";import Ne from"../../hooks/useSize.js";import{useTranslation as Ue}from"react-i18next";import{LabelBeeContext as ze}from"../../store/ctx.js";import{jsonParser as Ze}from"../../utils/index.js";import Fe from"../../utils/ToolUtils.js";import He from"lodash";import We from"./components/PointCloudSizeSlider/index.js";import{useHistory as Ke}from"./hooks/useHistory.js";import Me from"./components/TitleButton/index.js";import{useDebounceFn as Xe}from"ahooks";var Ye=Object.defineProperty,qe=Object.defineProperties,$e=Object.getOwnPropertyDescriptors,Q=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Je=Object.prototype.propertyIsEnumerable,ee=(i,l,a)=>l in i?Ye(i,l,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[l]=a,A=(i,l)=>{for(var a in l||(l={}))Ge.call(l,a)&&ee(i,a,l[a]);if(Q)for(var a of Q(l))Je.call(l,a)&&ee(i,a,l[a]);return i},N=(i,l)=>qe(i,$e(l));const{EPolygonPattern:Qe,EToolName:te}=Se,{ESortDirection:oe}=_e,et=Ve.default,ne=(i,l,a=1)=>{const{width:v,height:p}=l,I={x:i.x+v*a/2,y:i.y+p*a/2},y={x:l.width/2,y:l.height/2};return{offsetX:(y.x-I.x)/a,offsetY:-(y.y-I.y)/a}},tt=({currentData:i})=>{var l,a;const{zoom:v,zoomIn:p,zoomOut:I,initialPosition:y}=J(),{selectNextBox:b,selectPrevBox:O}=q(),{switchToNextSphere:_}=G(),{updateRotate:E}=be({currentData:i}),{updateRotateEdge:j}=Oe({currentData:i}),g=X(Y),{topViewInstance:x}=g,m=(a=(l=g==null?void 0:g.topViewInstance)==null?void 0:l.toolScheduler)==null?void 0:a.getCurrentToolName(),t=()=>{E(-Number(g.rectRotateSensitivity))},c=()=>{E(g.rectRotateSensitivity)},f=()=>{j(-90)};return s.createElement(s.Fragment,null,s.createElement(We,{onChange:k=>{var V;(V=x==null?void 0:x.pointCloudInstance)==null||V.updatePointSize({customSize:k})}}),s.createElement("span",{onClick:c,className:S("point-cloud","rotate-reserve")}),s.createElement("span",{onClick:t,className:S("point-cloud","rotate")}),s.createElement("span",{onClick:f,className:S("point-cloud","rotate-90")}),s.createElement(H,null),s.createElement(ye,{onClick:()=>{if(m===te.Point){_(oe.descend);return}O(!0)},className:S("point-cloud","prev")}),s.createElement(xe,{onClick:()=>{if(m===te.Point){_(oe.ascend);return}b(!0)},className:S("point-cloud","next")}),s.createElement(H,null),s.createElement(ge,{initialPosition:y,zoomIn:p,zoomOut:I,zoom:v}))},ot=({setZAxisLimit:i,zAxisLimit:l,checkMode:a})=>a?null:s.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},s.createElement(ke,{vertical:!0,step:.5,max:10,min:.5,defaultValue:l,onAfterChange:v=>{i(v)}})),nt=({currentData:i,imgList:l,stepInfo:a,drawLayerSlot:v,checkMode:p,intelligentFit:I,setIsEnlargeTopView:y,isEnlargeTopView:b,onExitZoom:O,highlightAttribute:_})=>{var E,j;const[g,x]=D({zoom:1,currentPos:{x:0,y:0}}),m=Ee(null),t=X(Y),c=Ne(m),f=Ze(a.config),{setZoom:k,syncTopviewToolZoom:V}=J(),{run:ie}=Xe(k,{wait:500}),{hideAttributes:se,setIsLargeStatus:le,selectedID:re,pointCloudBoxList:ae}=t,{addPolygon:ce,deletePolygon:de}=De(),{deletePointCloudSphere:ue}=G(),{deletePointCloudBox:pe,changeValidByID:me}=q(),[R,fe]=D(10),{t:U}=Ue(),w=Ae(),{pushHistoryWithList:Ce}=Ke(),[ve,T]=D(!0),[z,Z]=D(!1);Le(()=>{if(!t.topViewInstance&&m.current&&(i==null?void 0:i.url)&&(i==null?void 0:i.result)){const o={width:m.current.clientWidth,height:m.current.clientHeight},r=new he({container:m.current,size:o,pcdPath:i.url,config:N(A({},f),{pointCloudPattern:t.pointCloudPattern}),checkMode:p,toolName:Fe.getPointCloudToolList(),proxyMode:p,view:"topView"});t.setTopViewInstance(r)}},[i]),C(()=>{z&&re&&(t.syncAllViewPointCloudColor(M.Single,ae),Z(!1))},[z]),C(()=>{if(!c||!t.topViewInstance||!t.sideViewInstance)return;const{toolInstance:o}=t.topViewInstance;o.singleOn("dataUpdated",(e,n)=>{const d=He.cloneDeep(e).map(u=>N(A({},u),{pointList:K.pointListTransferCanvas2World(u.pointList,c)}));t.setSelectedIDs(n),t.setLineList(d),Ce({lineList:d})}),o.singleOn("pointCreated",(e,n)=>{w.topViewAddSphere({newPoint:e,size:c,trackConfigurable:f.trackConfigurable,zoom:n})}),o.singleOn("pointDeleted",e=>{ue(e)}),o.singleOn("pointSelected",e=>{t.setSelectedIDs([e])}),o.singleOn("updatePointByDrag",(e,n)=>{var d;(d=w.topViewUpdatePoint)==null||d.call(w,e,c)}),o.singleOn("polygonCreated",(e,n)=>{if(o.pattern===Qe.Normal||!(i==null?void 0:i.url)){const d=N(A({},e),{pointList:e.pointList.map(u=>K.transferCanvas2World(u,c))});ce(d),t.setSelectedIDs(se.includes(e.attribute)?"":e.id);return}T(!1),w.topViewAddBox({polygon:e,size:c,imgList:l,trackConfigurable:f.trackConfigurable,zoom:n,intelligentFit:I}),Z(!0)}),o.singleOn("deletedObject",({id:e})=>{pe(e),de(e)}),o.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),o.singleOn("addSelectedIDs",e=>{t.addSelectedID(e)}),o.singleOn("setSelectedIDs",e=>{T(!1),t.setSelectedIDs(e)}),o.singleOn("updatePolygonByDrag",e=>{var n;(n=w.topViewUpdateBox)==null||n.call(w,e,c)});const r=e=>{var n;const d=me(e);d&&t.syncAllViewPointCloudColor(M.Default,d),t.polygonList.find(u=>u.id===e)&&((n=t.topViewInstance)==null||n.toolInstance.setPolygonValidAndRender(e,!0))};return o.on("validUpdate",r),()=>{o.unbind("validUpdate",r)}},[t,c,i,w,t.polygonList,t.lineList,(E=t.topViewInstance)==null?void 0:E.toolInstance]),C(()=>{var o,r;if(!t.topViewInstance)return;const e=(r=(o=f==null?void 0:f.attributeList)==null?void 0:o[0])==null?void 0:r.value;e&&t.topViewInstance.toolInstance.setDefaultAttribute(e)},[t.topViewInstance]),C(()=>{if(!(c==null?void 0:c.width)||!t.topViewInstance)return;t.topViewInstance.initSize(c),t.topViewInstance.updatePolygonList(t.displayPointCloudList,t.polygonList),t.topViewInstance.updatePointList(t.displaySphereList),t.topViewInstance.updateLineList(t.displayLineList);const{topViewInstance:{pointCloudInstance:o,toolInstance:r}}=t;r.singleOn("renderZoom",(e,n)=>{const{offsetX:d,offsetY:u}=ne(n,c,e);if(o.camera.zoom=e,n){const{x:P,y:h,z:L}=o.initCameraPosition;o.camera.position.set(P+u,h-d,L)}o.camera.updateProjectionMatrix(),o.render(),ie(e),V(n,e,c),x({zoom:e,currentPos:n})}),r.singleOn("dragMove",({currentPos:e,zoom:n})=>{const{offsetX:d,offsetY:u}=ne(e,c,n);o.camera.zoom=n;const{x:P,y:h,z:L}=o.initCameraPosition;o.camera.position.set(P+u,h-d,L),o.render(),V(e,n,c),x({zoom:n,currentPos:e})})},[c,t.topViewInstance,(j=t.topViewInstance)==null?void 0:j.toolInstance]),C(()=>{var o,r;(r=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null||r.applyZAxisPoints(R)},[R]),C(()=>{var o,r,e,n;w.topViewSelectedChanged({}),(n=(e=(r=(o=t.topViewInstance)==null?void 0:o.toolInstance)==null?void 0:r.selection)==null?void 0:e.hardSetSelectedIDs)==null||n.call(e,t.selectedIDs)},[t.selectedIDs]),C(()=>{const{topViewInstance:o,selectedID:r,selectedPointCloudBox:e,zoom:n}=t;if(!o||!r||!e||!ve){T(!0);return}const{center:d}=e,{pointCloudInstance:u,toolInstance:P}=o,h=P.polygonList.find(Pe=>Pe.id===t.selectedID);if(!h){T(!0);return}const L=W.getRectCenterPoint(h.pointList),B=W.getCurrentPosFromRectCenter(P.size,L,n);P.setCurrentPos(B),P.render();const{x:st,y:lt,z:we}=u.initCameraPosition;u.camera.position.set(d.x,d.y,we),u.render(),V(B,n,c),x({zoom:n,currentPos:B})},[t.selectedID]),C(()=>(window.addEventListener("keydown",F),()=>{window.removeEventListener("keydown",F)}),[]);const F=o=>{const{keyCode:r}=o;r===et.Esc&&O()};return C(()=>{var o,r,e;(e=(r=(o=t.topViewInstance)==null?void 0:o.pointCloud2dOperation)==null?void 0:r.setHighlightAttribute)==null||e.call(r,_)},[t.topViewInstance,_]),s.createElement(je,{className:S("point-cloud-container","top-view"),title:b?s.createElement("div",{style:{display:"flex",alignItems:"center",position:"relative"}},s.createElement(Ie,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{O()}}),s.createElement("span",null,U("TopView")),s.createElement($,{checkMode:p,config:f,style:{display:"flex",position:"initial",margin:"0px 20px"}})):s.createElement(Me,{title:U("TopView"),onClick:()=>{le(!0),y(!0)}}),toolbar:s.createElement(tt,{currentData:i})},s.createElement("div",{style:{position:"relative",flex:1}},s.createElement("div",{style:{width:"100%",height:"100%"},ref:m},v==null?void 0:v(g)),!b&&s.createElement($,{checkMode:p,config:f}),s.createElement(ot,{checkMode:p,zAxisLimit:R,setZAxisLimit:fe}),s.createElement(Te,null)))};var it=Be(Re,null,null,{context:ze})(nt);export{it as default};
package/es/utils/LLM.js CHANGED
@@ -1 +1 @@
1
- const c=r=>{try{return r.replace(/\\\((.*?)\\\)/g,(t,e)=>`$${e.trim()}$`)}catch(t){return r}};export{c as convertLatexFormat};
1
+ const t=r=>{try{return r.replace(/\\\((.+?)\\\)/gs,(o,e)=>`$${e}$`).replace(/\\\[(.+?)\\\]/gs,(o,e)=>`$$${e}$$`)}catch(n){return r}};export{t as convertLatexFormat};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.24.0-alpha.42",
3
+ "version": "1.24.0-alpha.44",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",