@labelbee/lb-components 1.8.0-alpha.3 → 1.8.0-alpha.4
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.
- package/dist/components/pointCloudView/PointCloudContext.js +1 -1
- package/dist/components/pointCloudView/PointCloudListener.js +1 -1
- package/dist/components/pointCloudView/PointCloudTopView.js +1 -1
- package/dist/components/pointCloudView/hooks/useAttribute.js +1 -1
- package/dist/components/pointCloudView/hooks/useConfig.js +1 -1
- package/dist/components/pointCloudView/hooks/useHistory.js +1 -1
- package/dist/components/pointCloudView/hooks/useSingleBox.js +1 -1
- package/dist/components/pointCloudView/hooks/useStatus.js +1 -1
- package/dist/store/annotation/map.js +1 -1
- package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloud3DView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudBackView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudContext.d.ts +5 -1
- package/dist/types/components/pointCloudView/PointCloudListener.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudSideView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudTopView.d.ts +1 -1
- package/dist/types/components/pointCloudView/hooks/useSingleBox.d.ts +1 -0
- package/dist/types/components/pointCloudView/hooks/useStatus.d.ts +1 -1
- package/dist/types/store/annotation/map.d.ts +2 -0
- package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.d.ts +2 -0
- package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -1
- package/es/components/pointCloudView/PointCloudContext.js +1 -1
- package/es/components/pointCloudView/PointCloudContext.js.map +1 -1
- package/es/components/pointCloudView/PointCloudListener.js +1 -1
- package/es/components/pointCloudView/PointCloudListener.js.map +1 -1
- package/es/components/pointCloudView/PointCloudTopView.js +1 -1
- package/es/components/pointCloudView/PointCloudTopView.js.map +1 -1
- package/es/components/pointCloudView/hooks/useAttribute.js +1 -1
- package/es/components/pointCloudView/hooks/useAttribute.js.map +1 -1
- package/es/components/pointCloudView/hooks/useConfig.js +1 -1
- package/es/components/pointCloudView/hooks/useConfig.js.map +1 -1
- package/es/components/pointCloudView/hooks/useHistory.js +1 -1
- package/es/components/pointCloudView/hooks/useHistory.js.map +1 -1
- package/es/components/pointCloudView/hooks/useSingleBox.js +1 -1
- package/es/components/pointCloudView/hooks/useSingleBox.js.map +1 -1
- package/es/components/pointCloudView/hooks/useStatus.js +1 -1
- package/es/components/pointCloudView/hooks/useStatus.js.map +1 -1
- package/es/store/annotation/map.js +1 -1
- package/es/store/annotation/map.js.map +1 -1
- package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
- package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),React=require("react");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const PointCloudContext=React__default.default.createContext({pointCloudBoxList:[],polygonList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],setPolygonList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,syncAllViewPointCloudColor:()=>{}}),PointCloudProvider=({children:o})=>{const[s,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbAnnotation=require("@labelbee/lb-annotation"),React=require("react");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const PointCloudContext=React__default.default.createContext({pointCloudBoxList:[],polygonList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],setPolygonList:()=>{},zoom:1,setZoom:()=>{},history:new lbAnnotation.ActionsHistory,syncAllViewPointCloudColor:()=>{},defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:lbAnnotation.EToolName.Rect,setPointCloudPattern:()=>{}}),PointCloudProvider=({children:o})=>{const[s,d]=React.useState([]),[c,v]=React.useState([]),[e,a]=React.useState([]),[C,A]=React.useState(!0),[P,x]=React.useState(1),[u,m]=React.useState(),[f,b]=React.useState(),[S,g]=React.useState(),[i,B]=React.useState(),[p,h]=React.useState(""),[w,L]=React.useState(lbAnnotation.EToolName.Rect),D=React.useRef(new lbAnnotation.ActionsHistory).current,y=React.useMemo(()=>e.length===1?e[0]:"",[e]),R=React.useMemo(()=>{const _=s.find(t=>t.id===y),M=t=>{const n=s.concat(t);return d(n),n},E=t=>{A(t!==!1)},l=t=>{t===void 0&&a([]),typeof t=="string"&&a([t]),Array.isArray(t)&&a(Array.from(new Set(t)))};return{selectedID:y,pointCloudBoxList:s,selectedIDs:e,setPointCloudResult:d,setSelectedIDs:l,addPointCloudBox:M,valid:C,selectedPointCloudBox:_,setPointCloudValid:E,addSelectedID:t=>{e.includes(t)?l(e.filter(n=>n!==t)):l([...e,t])},selectedAllBoxes:()=>{l(s.map(t=>t.id))},topViewInstance:u,setTopViewInstance:m,sideViewInstance:f,setSideViewInstance:b,backViewInstance:S,setBackViewInstance:g,mainViewInstance:i,setMainViewInstance:B,polygonList:c,setPolygonList:v,zoom:P,setZoom:x,history:D,syncAllViewPointCloudColor:t=>{const n=i==null?void 0:i.highlightOriginPointCloud(t);return new Promise(T=>{n==null||n.then(r=>{[u].forEach(V=>{var I;r&&((I=V==null?void 0:V.pointCloudInstance)==null||I.updateColor(r),T({color:r}))})})})},defaultAttribute:p,setDefaultAttribute:h,pointCloudPattern:w,setPointCloudPattern:L}},[C,e,s,c,u,f,S,i,P,p,w]);return React__default.default.createElement(PointCloudContext.Provider,{value:R},o)};exports.PointCloudContext=PointCloudContext,exports.PointCloudProvider=PointCloudProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),annotation=require("../../hooks/annotation.js"),useStatus=require("./hooks/useStatus.js"),index=require("../../utils/index.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),ctx=require("../../store/ctx.js"),useHistory=require("./hooks/useHistory.js"),useAttribute=require("./hooks/useAttribute.js"),useConfig=require("./hooks/useConfig.js"),usePolygon=require("./hooks/usePolygon.js"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,r,i)=>r in n?__defProp(n,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[r]=i,__spreadValues=(n,r)=>{for(var i in r||(r={}))__hasOwnProp.call(r,i)&&__defNormalProp(n,i,r[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(r))__propIsEnum.call(r,i)&&__defNormalProp(n,i,r[i]);return n},__spreadProps=(n,r)=>__defProps(n,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:n,config:r,checkMode:i})=>{const o=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:
|
|
1
|
+
"use strict";var PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useBoxes=require("./hooks/useBoxes.js"),useSingleBox=require("./hooks/useSingleBox.js"),React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),antd=require("antd"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),annotation=require("../../hooks/annotation.js"),useStatus=require("./hooks/useStatus.js"),index=require("../../utils/index.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),ctx=require("../../store/ctx.js"),useHistory=require("./hooks/useHistory.js"),useAttribute=require("./hooks/useAttribute.js"),useConfig=require("./hooks/useConfig.js"),usePolygon=require("./hooks/usePolygon.js"),reactI18next=require("react-i18next"),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,r,i)=>r in n?__defProp(n,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[r]=i,__spreadValues=(n,r)=>{for(var i in r||(r={}))__hasOwnProp.call(r,i)&&__defNormalProp(n,i,r[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(r))__propIsEnum.call(r,i)&&__defNormalProp(n,i,r[i]);return n},__spreadProps=(n,r)=>__defProps(n,__getOwnPropDescs(r));const{EPolygonPattern}=lbAnnotation.cTool,PointCloudListener=({currentData:n,config:r,checkMode:i,configString:m})=>{const o=React.useContext(PointCloudContext.PointCloudContext),{changeSelectedBoxValid:k,selectNextBox:h,selectPrevBox:_,updateSelectedBox:P,deleteSelectedPointCloudBoxAndPolygon:B}=useSingleBox.useSingleBox(),{clearAllResult:p,updatePointCloudPattern:S}=useStatus.useStatus(),E=index.jsonParser(n.result),{copySelectedBoxes:I,pasteSelectedBoxes:V,copiedBoxes:A}=useBoxes.useBoxes(),{toolInstanceRef:a}=annotation.useCustomToolInstance({basicInfo:E}),{updateRotate:v}=useRotate.useRotate({currentData:n}),{updatePointCloudData:f,topViewSelectedChanged:q}=usePointCloudViews.usePointCloudViews(),{redo:y,undo:C,pushHistoryWithList:O,pushHistoryUnderUpdatePolygon:j}=useHistory.useHistory(),{syncThreeViewsAttribute:x}=useAttribute.useAttribute(),{syncAllViewsConfig:L,reRenderTopViewRange:R}=useConfig.useConfig(),{selectedPolygon:w}=usePolygon.usePolygon(),{t:b}=reactI18next.useTranslation(),T=(e,t)=>{var s;const{topViewInstance:u,mainViewInstance:l}=o;if(!u)return;const{pointCloud2dOperation:c}=u;switch(e){case"q":{v(2);break}case"e":v(-2);break;case"g":v(180);break;case"u":{const d=c.pattern===EPolygonPattern.Normal?lbAnnotation.EToolName.Rect:lbAnnotation.EToolName.Polygon;S(d);const N={[lbAnnotation.EToolName.Polygon]:b("PolygonPattern"),[lbAnnotation.EToolName.Rect]:b("RectPattern")};antd.message.success(b("ChangePatternMsg",{pattern:N[d]})),c.clearActiveStatus(),c.clearDrawingStatus()}break;case"+":l==null||l.updatePointSize(!0);break;case"-":l==null||l.updatePointSize(!1);break;case"v":o.setPointCloudValid(!o.valid);break;case"tab":if(t.shiftKey){_();break}h();break;case"f":k();break;case"delete":B();break;default:{if(((s=r.attributeList)==null?void 0:s.length)>0){const d=lbAnnotation.AttributeUtils.getAttributeByKeycode(t.keyCode,r.attributeList);d!==void 0&&a.current.setDefaultAttribute(d)}return}}},D=(e,t)=>{switch(e){case"c":I();break;case"v":V();break;case"a":o.selectedAllBoxes();break;case"z":{t.shiftKey?y():C();break}}},g=e=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(e)||i===!0)return;const t=e.key.toLocaleLowerCase();if(e.ctrlKey){D(t,e);return}T(t,e)};return React.useEffect(()=>{const{topViewInstance:e}=o;if(!!e)return window.addEventListener("keydown",g),()=>{window.removeEventListener("keydown",g)}},[o,A,r,o.pointCloudBoxList,o.polygonList]),React.useEffect(()=>{L(r)},[m]),React.useEffect(()=>{(r==null?void 0:r.radius)&&R(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),React.useEffect(()=>{f==null||f()},[n,o.mainViewInstance]),React.useEffect(()=>{a.current.exportData=()=>[o.pointCloudBoxList,{valid:o.valid}],a.current.exportCustomData=()=>{var e;return{resultPolygon:(e=o.polygonList)!=null?e:[]}},a.current.setDefaultAttribute=e=>{x(e);const t=o.selectedPointCloudBox;if(t){t.attribute=e;const s=P(t);o.mainViewInstance&&q(t,s)}w&&j(__spreadProps(__spreadValues({},w),{attribute:e}))},a.current.setSubAttribute=(e,t)=>{var s;const u=o.selectedPointCloudBox;if(u){const l=(s=u==null?void 0:u.subAttribute)!=null?s:{};u.subAttribute=__spreadProps(__spreadValues({},l),{[e]:t}),P(u)}},a.current.clearResult=()=>{p==null||p()},a.current.redo=()=>{y()},a.current.undo=()=>{C()},a.current.setValid=e=>{a.current.valid=e,setTimeout(()=>{o.setPointCloudValid(e),e===!1&&p()})},a.current.setForbidOperation=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setForbidOperation(e),e===!0&&o.setSelectedIDs(void 0)},a.current.setShowDefaultCursor=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setShowDefaultCursor(e)}},[o.pointCloudBoxList,o.selectedID,o.valid,o.polygonList,o.mainViewInstance]),React.useEffect(()=>{a.current.history={pushHistory:e=>{O({pointCloudBoxList:e})},initRecord:()=>{}}},[]),React.useEffect(()=>{var e;const t=(e=o.topViewInstance)==null?void 0:e.pointCloud2dOperation;if(!t)return;const s=c=>{x(c)},u=c=>{antd.message.error(c)},l=c=>{antd.message.info(c)};return t.on("syncAttribute",s),t.on("messageError",u),t.on("messageInfo",l),()=>{t.unbind("syncAttribute",s),t.unbind("messageError",u),t.unbind("messageInfo",l)}},[o.topViewInstance]),null};var PointCloudListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudListener);module.exports=PointCloudListener$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var dom=require("../../utils/dom.js"),index$1=require("../../views/MainView/toolFooter/index.js"),index$2=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,
|
|
1
|
+
"use strict";var dom=require("../../utils/dom.js"),index$1=require("../../views/MainView/toolFooter/index.js"),index$2=require("../../views/MainView/toolFooter/ZoomController/index.js"),icons=require("@ant-design/icons"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),useRotate=require("./hooks/useRotate.js"),useSingleBox=require("./hooks/useSingleBox.js"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudInfos=require("./PointCloudInfos.js"),usePolygon=require("./hooks/usePolygon.js"),useZoom=require("./hooks/useZoom.js"),antd=require("antd"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),useSize=require("../../hooks/useSize.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,o,n)=>o in e?__defProp(e,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[o]=n,__spreadValues=(e,o)=>{for(var n in o||(o={}))__hasOwnProp.call(o,n)&&__defNormalProp(e,n,o[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(o))__propIsEnum.call(o,n)&&__defNormalProp(e,n,o[n]);return e},__spreadProps=(e,o)=>__defProps(e,__getOwnPropDescs(o));const{EPolygonPattern}=lbAnnotation.cTool,TransferCanvas2WorldOffset=(e,o,n=1)=>{const{width:c,height:p}=o,g={x:e.x+c*n/2,y:e.y+p*n/2},f={x:o.width/2,y:o.height/2};return{offsetX:(f.x-g.x)/n,offsetY:-(f.y-g.y)/n}},TopViewToolbar=({currentData:e})=>{const{zoom:o,zoomIn:n,zoomOut:c,initialPosition:p}=useZoom.useZoom(),{selectNextBox:g,selectPrevBox:f}=useSingleBox.useSingleBox(),{updateRotate:u}=useRotate.useRotate({currentData:e}),t=2,s=()=>{u(-t)},v=()=>{u(t)},w=()=>{u(180)};return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("span",{onClick:v,className:dom.getClassName("point-cloud","rotate-reserve")}),React__default.default.createElement("span",{onClick:s,className:dom.getClassName("point-cloud","rotate")}),React__default.default.createElement("span",{onClick:w,className:dom.getClassName("point-cloud","rotate-180")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(icons.UpSquareOutlined,{onClick:()=>{f()},className:dom.getClassName("point-cloud","prev")}),React__default.default.createElement(icons.DownSquareOutlined,{onClick:()=>{g()},className:dom.getClassName("point-cloud","next")}),React__default.default.createElement(index$1.FooterDivider,null),React__default.default.createElement(index$2.ZoomController,{initialPosition:p,zoomIn:n,zoomOut:c,zoom:o}))},ZAxisSlider=({setZAxisLimit:e,zAxisLimit:o,checkMode:n})=>n?null:React__default.default.createElement("div",{style:{position:"absolute",top:128,right:8,height:"50%",zIndex:20}},React__default.default.createElement(antd.Slider,{vertical:!0,step:.5,max:10,min:.5,defaultValue:o,onAfterChange:c=>{e(c)}})),PointCloudTopView=({currentData:e,imgList:o,stepInfo:n,drawLayerSlot:c,checkMode:p})=>{const[g,f]=React.useState({zoom:1,currentPos:{x:0,y:0}}),u=React.useRef(null),t=React__default.default.useContext(PointCloudContext.PointCloudContext),s=useSize(u),v=index.jsonParser(n.config),{setZoom:w}=useZoom.useZoom(),{addPolygon:_,deletePolygon:b}=usePolygon.usePolygon(),{deletePointCloudBox:E,changeValidByID:q}=useSingleBox.useSingleBox(),[x,j]=React.useState(10),{t:S}=reactI18next.useTranslation(),P=usePointCloudViews.usePointCloudViews();return React.useLayoutEffect(()=>{if(!t.topViewInstance&&u.current&&(e==null?void 0:e.url)&&(e==null?void 0:e.result)){const l={width:u.current.clientWidth,height:u.current.clientHeight},d=new lbAnnotation.PointCloudAnnotation({container:u.current,size:l,pcdPath:e.url,config:v,checkMode:p});t.setTopViewInstance(d)}},[e]),React.useEffect(()=>{if(!s||!t.topViewInstance||!t.sideViewInstance)return;const{pointCloud2dOperation:l}=t.topViewInstance;l.singleOn("polygonCreated",(i,a)=>{if(l.pattern===EPolygonPattern.Normal||!(e==null?void 0:e.url)){const m=__spreadProps(__spreadValues({},i),{pointList:i.pointList.map(r=>lbUtils.PointCloudUtils.transferCanvas2World(r,s))});_(m),t.setSelectedIDs(i.id);return}P.topViewAddBox({newPolygon:i,size:s,imgList:o,trackConfigurable:v.trackConfigurable,zoom:a})}),l.singleOn("deletedObject",({id:i})=>{E(i),b(i)}),l.singleOn("deleteSelectedIDs",()=>{t.setSelectedIDs([])}),l.singleOn("addSelectedIDs",i=>{t.addSelectedID(i)}),l.singleOn("setSelectedIDs",i=>{t.setSelectedIDs(i)}),l.singleOn("updatePolygonByDrag",({newPolygon:i})=>{var a;(a=P.topViewUpdateBox)==null||a.call(P,i,s)});const d=i=>{var a;const m=q(i);m&&t.syncAllViewPointCloudColor(m),t.polygonList.find(r=>r.id===i)&&((a=t.topViewInstance)==null||a.pointCloud2dOperation.setPolygonValidAndRender(i,!0))};return l.on("validUpdate",d),()=>{l.unbind("validUpdate",d)}},[t,s,e,P,t.polygonList]),React.useEffect(()=>{var l,d;if(!(s==null?void 0:s.width)||!t.topViewInstance)return;const i=(d=(l=v==null?void 0:v.attributeList)==null?void 0:l[0])==null?void 0:d.value;i&&t.topViewInstance.pointCloud2dOperation.setDefaultAttribute(i),t.topViewInstance.initSize(s),t.topViewInstance.updatePolygonList(t.pointCloudBoxList,t.polygonList);const{topViewInstance:{pointCloudInstance:a,pointCloud2dOperation:m}}=t;m.singleOn("renderZoom",(r,C)=>{const{offsetX:y,offsetY:V}=TransferCanvas2WorldOffset(C,s,r);if(a.camera.zoom=r,C){const{x:I,y:O,z:h}=a.initCameraPosition;a.camera.position.set(I+V,O-y,h)}a.camera.updateProjectionMatrix(),a.render(),w(r),f({zoom:r,currentPos:C})}),m.singleOn("dragMove",({currentPos:r,zoom:C})=>{const{offsetX:y,offsetY:V}=TransferCanvas2WorldOffset(r,s,C);a.camera.zoom=C;const{x:I,y:O,z:h}=a.initCameraPosition;a.camera.position.set(I+V,O-y,h),a.render(),f({zoom:C,currentPos:r})})},[s,t.topViewInstance]),React.useEffect(()=>{var l,d;(d=(l=t.topViewInstance)==null?void 0:l.pointCloudInstance)==null||d.applyZAxisPoints(x)},[x]),React.useEffect(()=>{P.topViewSelectedChanged()},[t.selectedIDs]),React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:dom.getClassName("point-cloud-container","top-view"),title:S("TopView"),toolbar:React__default.default.createElement(TopViewToolbar,{currentData:e})},React__default.default.createElement("div",{style:{position:"relative",flex:1}},React__default.default.createElement("div",{style:{width:"100%",height:"100%"},ref:u},c==null?void 0:c(g)),React__default.default.createElement(PointCloudInfos.BoxInfos,{checkMode:p,config:v}),React__default.default.createElement(ZAxisSlider,{checkMode:p,zAxisLimit:x,setZAxisLimit:j}),React__default.default.createElement(PointCloudInfos.PointCloudValidity,null)))};var PointCloudTopView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudTopView);module.exports=PointCloudTopView$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js");const useAttribute=()=>{
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js");const useAttribute=()=>{const{topViewInstance:t,sideViewInstance:o,backViewInstance:n,mainViewInstance:u,defaultAttribute:r,setDefaultAttribute:d}=React.useContext(PointCloudContext.PointCloudContext);return React.useEffect(()=>{if(!(t==null?void 0:t.pointCloud2dOperation))return;const e=()=>{d(t==null?void 0:t.pointCloud2dOperation.defaultAttribute)};return t==null||t.pointCloud2dOperation.on("changeAttributeSidebar",e),()=>{t==null||t.pointCloud2dOperation.unbind("changeAttributeSidebar",e)}},[t==null?void 0:t.pointCloud2dOperation]),{syncThreeViewsAttribute:e=>{[t==null?void 0:t.pointCloud2dOperation,o==null?void 0:o.pointCloud2dOperation,n==null?void 0:n.pointCloud2dOperation].forEach(i=>{i==null||i.setDefaultAttribute(e)})},updateDefaultAttribute:e=>{t==null||t.pointCloud2dOperation.setDefaultAttribute(e)},reRenderPointCloud3DBox:e=>{u==null||u.generateBox(e)},defaultAttribute:r}};exports.useAttribute=useAttribute;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var PointCloudContext=require("../PointCloudContext.js"),React=require("react");const useConfig=()=>{const{topViewInstance:n,sideViewInstance:r,backViewInstance:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var PointCloudContext=require("../PointCloudContext.js"),React=require("react");const useConfig=()=>{const{topViewInstance:n,sideViewInstance:r,backViewInstance:a,mainViewInstance:i}=React.useContext(PointCloudContext.PointCloudContext);return{syncAllViewsConfig:t=>{[n,r,a].forEach(e=>{var o,l;e==null||e.updateConfig(t);const u=(l=(o=t==null?void 0:t.attributeList)==null?void 0:o[0])==null?void 0:l.value;u&&(e==null||e.pointCloud2dOperation.setDefaultAttribute(u))}),i==null||i.setConfig(t)},reRenderTopViewRange:t=>{var e,o,l;(o=(e=n==null?void 0:n.pointCloudInstance)==null?void 0:e.generateRange)==null||o.call(e,t),(l=n==null?void 0:n.pointCloudInstance)==null||l.render()}}};exports.useConfig=useConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,i,r)=>i in e?__defProp(e,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[i]=r,__spreadValues=(e,i)=>{for(var r in i||(i={}))__hasOwnProp.call(i,r)&&__defNormalProp(e,r,i[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(i))__propIsEnum.call(i,r)&&__defNormalProp(e,r,i[r]);return e};const useHistory=()=>{const{history:e,setPointCloudResult:i,setSelectedIDs:r,pointCloudBoxList:s,mainViewInstance:u,topViewInstance:y,polygonList:d,setPolygonList:a,syncAllViewPointCloudColor:L}=React.useContext(PointCloudContext.PointCloudContext),C=({newBoxParams:t,newPolygon:o})=>{const n={pointCloudBoxList:s,polygonList:d};t&&(n.pointCloudBoxList=s.concat(t)),o&&(n.polygonList=d.concat(o)),e.pushHistory(n)},P=t=>{const o={pointCloudBoxList:s,polygonList:d};t.pointCloudBoxList&&(o.pointCloudBoxList=t.pointCloudBoxList),t.polygonList&&(o.polygonList=t.polygonList),e.pushHistory(o)},g=t=>{if(d.find(n=>n.id===t.id)){const n=d.map(c=>c.id===t.id?t:__spreadValues({},c));e.pushHistory({pointCloudBoxList:s,polygonList:n}),a(n)}},h=({pointCloudBoxList:t,polygonList:o})=>{e.initRecord(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,i,r)=>i in e?__defProp(e,i,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[i]=r,__spreadValues=(e,i)=>{for(var r in i||(i={}))__hasOwnProp.call(i,r)&&__defNormalProp(e,r,i[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(i))__propIsEnum.call(i,r)&&__defNormalProp(e,r,i[r]);return e};const useHistory=()=>{const{history:e,setPointCloudResult:i,setSelectedIDs:r,pointCloudBoxList:s,mainViewInstance:u,topViewInstance:y,polygonList:d,setPolygonList:a,syncAllViewPointCloudColor:L}=React.useContext(PointCloudContext.PointCloudContext),C=({newBoxParams:t,newPolygon:o})=>{const n={pointCloudBoxList:s,polygonList:d};t&&(n.pointCloudBoxList=s.concat(t)),o&&(n.polygonList=d.concat(o)),e.pushHistory(n)},P=t=>{const o={pointCloudBoxList:s,polygonList:d};t.pointCloudBoxList&&(o.pointCloudBoxList=t.pointCloudBoxList),t.polygonList&&(o.polygonList=t.polygonList),e.pushHistory(o)},g=t=>{if(d.find(n=>n.id===t.id)){const n=d.map(c=>c.id===t.id?t:__spreadValues({},c));e.pushHistory({pointCloudBoxList:s,polygonList:n}),a(n)}},h=({pointCloudBoxList:t,polygonList:o})=>{e.initRecord({pointCloudBoxList:t,polygonList:o},!0)},f=t=>{if(!t)return;const{pointCloudBoxList:o=[],polygonList:n=[]}=t;if(o){s.length!==o.length&&r();const c=s.filter(l=>o.every(p=>p.id!==l.id)),v=o.filter(l=>s.every(p=>p.id!==l.id));c.forEach(l=>{u==null||u.removeObjectByName(l.id)}),v.forEach(l=>{u==null||u.generateBox(l)}),i(o),L(o)}n&&a(n),y==null||y.updatePolygonList(o!=null?o:[],n!=null?n:[])};return{addHistory:C,pushHistoryWithList:P,initHistory:h,pushHistoryUnderUpdatePolygon:g,redo:()=>{f(e.redo())},undo:()=>{f(e.undo())}}};exports.useHistory=useHistory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),_=require("lodash"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js"),usePolygon=require("./usePolygon.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,o)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,__spreadValues=(e,n)=>{for(var o in n||(n={}))__hasOwnProp.call(n,o)&&__defNormalProp(e,o,n[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(n))__propIsEnum.call(n,o)&&__defNormalProp(e,o,n[o]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const{ESortDirection}=lbAnnotation.cAnnotation,useSingleBox=()=>{const{pointCloudBoxList:e,setPointCloudResult:n,topViewInstance:o,backViewInstance:c,sideViewInstance:p,selectedIDs:C,selectedID:f,mainViewInstance:u,setSelectedIDs:g,syncAllViewPointCloudColor:P,polygonList:b}=React.useContext(PointCloudContext.PointCloudContext),{selectedPolygon:d,updateSelectedPolygon:w,updatePolygonValidByID:B,deletePolygon:O}=usePolygon.usePolygon(),{pushHistoryWithList:I}=useHistory.useHistory(),r=React.useMemo(()=>{const t=e.findIndex(l=>l.id===f);if(t>-1)return{info:e[t],index:t}},[f,e]),y=React.useCallback(t=>{if(r==null?void 0:r.info){e.splice(r.index,1,___default.default.merge(r.info,t));const l=___default.default.cloneDeep(e);return n(l),I({pointCloudBoxList:l}),l}return e},[f,e]),V=React.useCallback((t,l)=>{const i=e.findIndex(s=>s.id===l);if(i>-1){e.splice(i,1,___default.default.merge(e[i],t));const s=___default.default.cloneDeep(e);return n(s),s}return e},[e]),a=React.useCallback(t=>{o==null||o.pointCloud2dOperation.setPolygonValidAndRender(t,!0),p==null||p.pointCloud2dOperation.setPolygonValidAndRender(t,!0),c==null||c.pointCloud2dOperation.setPolygonValidAndRender(t,!0)},[o,p,c]),D=React.useCallback(()=>{if(r==null?void 0:r.info){const{id:t,valid:l=!0}=r.info,i=y({valid:!l});P(i),a(t)}d&&(w(__spreadProps(__spreadValues({},d),{valid:!d.valid})),o==null||o.pointCloud2dOperation.setPolygonValidAndRender(d.id,!0))},[a,r,d]),m=React.useCallback(t=>{const l=e.find(i=>i.id===t);if(l){const{id:i,valid:s=!0}=l,h=V({valid:!s},i);return a(i),h}B(t)},[a,e,b]),v=React.useCallback((t=ESortDirection.ascend)=>{if(!o||C.length>1)return;const{pointCloud2dOperation:l}=o,i=l.switchToNextPolygon(t);i&&g(i)},[o]),S=()=>{v(ESortDirection.descend)},x=t=>{const l=e.filter(i=>i.id!==t);n(l),u==null||u.removeObjectByName(t),u==null||u.render(),P(l)};return{selectedBox:r,updateSelectedBox:y,changeSelectedBoxValid:D,changeValidByID:m,selectNextBox:v,selectPrevBox:S,deletePointCloudBox:x,deleteSelectedPointCloudBoxAndPolygon:()=>{r&&(x(r.info.id),o==null||o.pointCloud2dOperation.deletePolygon(r.info.id)),d&&(O(d.id),o==null||o.pointCloud2dOperation.deletePolygon(d.id))}}};exports.useSingleBox=useSingleBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js");const{EToolName,EPolygonPattern}=lbAnnotation.cTool,useStatus=()=>{const{topViewInstance:t,mainViewInstance:e,pointCloudBoxList:r,setPointCloudResult:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useHistory=require("./useHistory.js");const{EToolName,EPolygonPattern}=lbAnnotation.cTool,useStatus=()=>{const{topViewInstance:t,mainViewInstance:e,pointCloudBoxList:r,setPointCloudResult:i,setPolygonList:s,pointCloudPattern:u,setPointCloudPattern:l,syncAllViewPointCloudColor:a}=React.useContext(PointCloudContext.PointCloudContext),{pushHistoryWithList:c}=useHistory.useHistory();return{clearAllResult:()=>{r.forEach(n=>{e==null||e.removeObjectByName(n.id)}),e==null||e.render(),i([]),s([]),t==null||t.pointCloud2dOperation.clearActiveStatus(),t==null||t.pointCloud2dOperation.clearResult(),a([]),c({pointCloudBoxList:[],polygonList:[]})},updatePointCloudPattern:n=>{const o=t==null?void 0:t.pointCloud2dOperation;if(!!o)switch(o.clearActiveStatus(),n){case EToolName.Rect:o.setPattern(EPolygonPattern.Rect),l(EToolName.Rect);break;case EToolName.Polygon:o.setPattern(EPolygonPattern.Normal),l(EToolName.Polygon);break}},pointCloudPattern:u}};exports.useStatus=useStatus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var StepUtils=require("../../utils/StepUtils.js"),index=require("../../utils/index.js");const a2MapStateToProps=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var StepUtils=require("../../utils/StepUtils.js"),index=require("../../utils/index.js");const a2MapStateToProps=n=>{var e,o,i;const{annotation:{imgList:r,imgIndex:s}}=n,a=(e=r[s])!=null?e:{},t=StepUtils.getCurrentStepInfo((o=n.annotation)==null?void 0:o.step,(i=n.annotation)==null?void 0:i.stepList);return{currentData:a,imgList:r,stepInfo:t,config:index.jsonParser(t==null?void 0:t.config),configString:t==null?void 0:t.config}};exports.a2MapStateToProps=a2MapStateToProps;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IA2MapStateProps } from '@/store/annotation/map';
|
|
2
|
-
declare const _default: import("react-redux").ConnectedComponent<({ currentData, config }: IA2MapStateProps) => JSX.Element, import("react-redux").Omit<IA2MapStateProps, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
2
|
+
declare const _default: import("react-redux").ConnectedComponent<({ currentData, config }: IA2MapStateProps) => JSX.Element, import("react-redux").Omit<IA2MapStateProps, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
3
3
|
export default _default;
|
|
@@ -2,5 +2,5 @@ import React from 'react';
|
|
|
2
2
|
import { IA2MapStateProps } from '@/store/annotation/map';
|
|
3
3
|
declare const _default: import("react-redux").ConnectedComponent<React.FC<IA2MapStateProps>, import("react-redux").Omit<IA2MapStateProps & {
|
|
4
4
|
children?: React.ReactNode;
|
|
5
|
-
}, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
5
|
+
}, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
6
6
|
export default _default;
|
|
@@ -2,5 +2,5 @@ import { IA2MapStateProps } from '@/store/annotation/map';
|
|
|
2
2
|
interface IProps {
|
|
3
3
|
checkMode?: boolean;
|
|
4
4
|
}
|
|
5
|
-
declare const _default: import("react-redux").ConnectedComponent<({ currentData, config, checkMode }: IA2MapStateProps & IProps) => JSX.Element, import("react-redux").Omit<IA2MapStateProps & IProps, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
5
|
+
declare const _default: import("react-redux").ConnectedComponent<({ currentData, config, checkMode }: IA2MapStateProps & IProps) => JSX.Element, import("react-redux").Omit<IA2MapStateProps & IProps, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
6
6
|
export default _default;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IPointCloudBox, IPointCloudBoxList, IPolygonData } from '@labelbee/lb-utils';
|
|
2
|
-
import { PointCloud, PointCloudAnnotation, ActionsHistory } from '@labelbee/lb-annotation';
|
|
2
|
+
import { PointCloud, PointCloudAnnotation, ActionsHistory, EToolName } from '@labelbee/lb-annotation';
|
|
3
3
|
import React from 'react';
|
|
4
4
|
interface IPointCloudContextInstances {
|
|
5
5
|
topViewInstance?: PointCloudAnnotation;
|
|
@@ -29,6 +29,10 @@ export interface IPointCloudContext extends IPointCloudContextInstances {
|
|
|
29
29
|
setZoom: (zoom: number) => void;
|
|
30
30
|
history: ActionsHistory;
|
|
31
31
|
syncAllViewPointCloudColor: (newPointCloudList?: IPointCloudBox[]) => void;
|
|
32
|
+
defaultAttribute: string;
|
|
33
|
+
setDefaultAttribute: (defaultAttribute: string) => void;
|
|
34
|
+
pointCloudPattern: EToolName.Rect | EToolName.Polygon;
|
|
35
|
+
setPointCloudPattern: (toolName: EToolName.Rect | EToolName.Polygon) => void;
|
|
32
36
|
}
|
|
33
37
|
export declare const PointCloudContext: React.Context<IPointCloudContext>;
|
|
34
38
|
export declare const PointCloudProvider: React.FC<{}>;
|
|
@@ -5,5 +5,5 @@ interface IProps extends IA2MapStateProps {
|
|
|
5
5
|
}
|
|
6
6
|
declare const _default: import("react-redux").ConnectedComponent<React.FC<IProps>, import("react-redux").Omit<IProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
|
-
}, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
8
|
+
}, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
9
9
|
export default _default;
|
|
@@ -5,5 +5,5 @@ interface IProps {
|
|
|
5
5
|
}
|
|
6
6
|
declare const _default: import("react-redux").ConnectedComponent<React.FC<IA2MapStateProps & IProps>, import("react-redux").Omit<IA2MapStateProps & IProps & {
|
|
7
7
|
children?: React.ReactNode;
|
|
8
|
-
}, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
8
|
+
}, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
9
9
|
export default _default;
|
|
@@ -7,5 +7,5 @@ interface IProps extends IA2MapStateProps {
|
|
|
7
7
|
}
|
|
8
8
|
declare const _default: import("react-redux").ConnectedComponent<React.FC<IProps>, import("react-redux").Omit<IProps & {
|
|
9
9
|
children?: React.ReactNode;
|
|
10
|
-
}, "imgList" | "config" | "currentData" | "stepInfo">>;
|
|
10
|
+
}, "imgList" | "config" | "currentData" | "stepInfo" | "configString">>;
|
|
11
11
|
export default _default;
|
|
@@ -7,5 +7,5 @@ import { cTool } from '@labelbee/lb-annotation';
|
|
|
7
7
|
export declare const useStatus: () => {
|
|
8
8
|
clearAllResult: () => void;
|
|
9
9
|
updatePointCloudPattern: (toolName: any) => void;
|
|
10
|
-
pointCloudPattern: cTool.EToolName;
|
|
10
|
+
pointCloudPattern: cTool.EToolName.Rect | cTool.EToolName.Polygon;
|
|
11
11
|
};
|
|
@@ -16,10 +16,12 @@ export interface IA2MapStateProps extends IAnnotationStateProps {
|
|
|
16
16
|
imgList: IFileItem[];
|
|
17
17
|
stepInfo: IStepInfo;
|
|
18
18
|
config: any;
|
|
19
|
+
configString: string;
|
|
19
20
|
}
|
|
20
21
|
export declare const a2MapStateToProps: (state: AppState) => {
|
|
21
22
|
currentData: any;
|
|
22
23
|
imgList: any;
|
|
23
24
|
stepInfo: IStepInfo;
|
|
24
25
|
config: any;
|
|
26
|
+
configString: string;
|
|
25
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$1=require("./components/batchUpdateModal/index.js"),lbUtils=require("@labelbee/lb-utils"),index$2=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React);const AnnotatedBox=({imgList:l,imgIndex:
|
|
1
|
+
"use strict";var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$1=require("./components/batchUpdateModal/index.js"),lbUtils=require("@labelbee/lb-utils"),index$2=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React);const AnnotatedBox=({imgList:l,imgIndex:i})=>{const s=React.useContext(PointCloudContext.PointCloudContext),[o,c]=React.useState([]),{t:r}=reactI18next.useTranslation();React.useEffect(()=>{const a=l;let t=new Map;c(lbUtils.PointCloudUtils.getAllPointCloudResult({imgList:a,extraBoxList:m,ignoreIndexList:[i]}).filter(n=>!n.trackID||t.get(n.trackID)?!1:(t.set(n.trackID,!0),!0)).sort((n,u)=>{var d,e;const p=(d=n==null?void 0:n.trackID)!=null?d:0,v=(e=u==null?void 0:u.trackID)!=null?e:0;return p-v}).map(n=>{var u;return(u=n==null?void 0:n.trackID)!=null?u:0}))},[s.pointCloudBoxList,l]);const{pointCloudBoxList:m}=s;return React__default.default.createElement("div",{style:{padding:24,borderBottom:"1px solid #eee"}},React__default.default.createElement("div",{style:{marginBottom:16}},r("AllTrackIDs")),React__default.default.createElement("div",null,o.map(a=>React__default.default.createElement(antd.Tag,{color:"#F3F4FF",key:a,style:{color:"#666",marginBottom:8}},a))))},BoxTrackIDInput=()=>{const[l,i]=React.useState(!1),{pointCloudBoxList:s}=React.useContext(PointCloudContext.PointCloudContext),{selectedBox:o,updateSelectedBox:c}=useSingleBox.useSingleBox(),[r,m]=React.useState(""),{t:a}=reactI18next.useTranslation(),t=o==null?void 0:o.info.trackID,n=d=>!!s.find(p=>p.trackID===d&&p.id!==(o==null?void 0:o.info.id)),u=(d=!1)=>{const e=parseInt(r,10);if(d&&i(!1),isNaN(e)){antd.message.error(a("PositiveIntegerCheck"));return}if(r.indexOf(".")>-1){antd.message.error(a("NotAllowDecimalPointsInTrackID"));return}if(n(e)){antd.message.error(a("DuplicateTrackIDsExist"));return}if(!(e>0)){antd.message.error(a("PositiveIntegerCheck"));return}c({trackID:e})};return React.useEffect(()=>{i(!1)},[t]),React__default.default.createElement("div",{style:{padding:24}},React__default.default.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,a("CurrentBoxTrackIDs")),t&&React__default.default.createElement(index$1,{id:t})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},l&&t?React__default.default.createElement(antd.Input,{defaultValue:t,onChange:d=>{m(d.target.value)},disabled:!t,size:"small",onBlur:()=>{u()},onPressEnter:()=>{u(!0)}}):React__default.default.createElement("span",null,t),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof t!="undefined"?"pointer":"not-allowed"},onClick:()=>{t&&i(!l)}})))},AttributeUpdater=({attributeList:l,subAttributeList:i,toolInstance:s})=>{const{selectedBox:o}=useSingleBox.useSingleBox(),c=React.useContext(PointCloudContext.PointCloudContext),{t:r}=reactI18next.useTranslation(),{defaultAttribute:m}=useAttribute.useAttribute(),a={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"},t={margin:"12px 20px 8px",fontSize:14,fontWeight:500,wordWrap:"break-word"},n=e=>{s.setDefaultAttribute(e)},u=(e,p)=>{s.setSubAttribute(e,p)},d=l.map(e=>({label:e.key,value:e.value,color:e==null?void 0:e.color}));return React__default.default.createElement("div",null,React__default.default.createElement("div",{style:a},r("Attribute")),React__default.default.createElement(index$2.default,{list:d,forbidDefault:!0,selectedAttribute:m!=null?m:"",attributeChanged:e=>n(e)}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),o&&React__default.default.createElement(React__default.default.Fragment,null,i.map(e=>{var p,v,x,g,C;return(e==null?void 0:e.subSelected)&&React__default.default.createElement("div",{style:{marginTop:12},key:e.value},React__default.default.createElement("div",{style:t},r("SubAttribute"),"-",e.key),((p=e.subSelected)==null?void 0:p.length)<5?React__default.default.createElement(index$2.default,{list:e.subSelected.map(f=>({label:f.key,value:f.value})),selectedAttribute:(x=(v=c.selectedPointCloudBox)==null?void 0:v.subAttribute)==null?void 0:x[e.value],num:"-",forbidColor:!0,forbidDefault:!0,attributeChanged:f=>u(e.value,f),style:{marginBottom:12}}):React__default.default.createElement(antd.Select,{style:{margin:"0px 21px 17px 16px",width:"87%"},value:(C=(g=c.selectedPointCloudBox)==null?void 0:g.subAttribute)==null?void 0:C[e.value],placeholder:r("PleaseSelect"),onChange:f=>u(e.value,f),allowClear:!0},e.subSelected.map(f=>React__default.default.createElement(antd.Select.Option,{key:f.value,value:f.value},f.key))),React__default.default.createElement(antd.Divider,{style:{margin:0}}))})))},PointCloudToolSidebar=({stepInfo:l,toolInstance:i,imgList:s,imgIndex:o})=>{var c,r;const{updatePointCloudPattern:m,pointCloudPattern:a}=useStatus.useStatus(),t=index.jsonParser(l.config),n=(c=t==null?void 0:t.attributeList)!=null?c:[],u=(t==null?void 0:t.secondaryAttributeConfigurable)===!0?(r=t==null?void 0:t.inputList)!=null?r:[]:[];return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:a,onChange:d=>m==null?void 0:m(d)}),(t==null?void 0:t.trackConfigurable)===!0&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(AnnotatedBox,{imgList:s,imgIndex:o}),React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}})),React__default.default.createElement(AttributeUpdater,{toolInstance:i,attributeList:n,subAttributeList:u}))},mapStateToProps=l=>{var i,s,o;const c=StepUtils.getCurrentStepInfo((i=l.annotation)==null?void 0:i.step,(s=l.annotation)==null?void 0:s.stepList),r=(o=l.annotation)==null?void 0:o.toolInstance;return{stepInfo:c,toolInstance:r,imgList:l.annotation.imgList,imgIndex:l.annotation.imgIndex}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);module.exports=PointCloudToolSidebar$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var es=require("antd/es"),React=require("react"),icon_kj1=require("../../../../../assets/annotation/toolHotKeyIcon/icon_kj1.svg.js"),icon_kj_h=require("../../../../../assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js"),ToolType=require("../../../../../data/enums/ToolType.js"),index=require("./rectToolShortCutTable/index.js"),index$2=require("./point/index.js"),index$3=require("./polygon/index.js"),index$4=require("./line/index.js"),index$1=require("./tag/index.js"),index$5=require("./text/index.js"),index$6=require("./videoTag/index.js"),index$7=require("./pointCloud/index.js"),index$8=require("./scribble/index.js"),index$9=require("../../index.js"),reactI18next=require("react-i18next"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,a,t)=>a in e?__defProp(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,__spreadValues=(e,a)=>{for(var t in a||(a={}))__hasOwnProp.call(a,t)&&__defNormalProp(e,t,a[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(a))__propIsEnum.call(a,t)&&__defNormalProp(e,t,a[t]);return e};const{EVideoToolName,EPointCloudName}=lbAnnotation.cTool,shortCutTable={[ToolType.EToolName.Rect]:index.default,[ToolType.EToolName.Tag]:index$1.default,[ToolType.EToolName.Point]:index$2.default,[ToolType.EToolName.Polygon]:index$3.default,[ToolType.EToolName.Line]:index$4.default,[ToolType.EToolName.Text]:index$5,[EVideoToolName.VideoTagTool]:index$6,[EPointCloudName.PointCloud]:index$7,[ToolType.EToolName.ScribbleTool]:index$8},ToolHotKeyIcon=({icon:e})=>typeof e=="string"?React__default.default.createElement("img",{width:16,height:16,src:e}):e||null,ToolHotKeyCom=({title:e,style:a,shortCutList:t})=>{const[c,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var es=require("antd/es"),React=require("react"),icon_kj1=require("../../../../../assets/annotation/toolHotKeyIcon/icon_kj1.svg.js"),icon_kj_h=require("../../../../../assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js"),ToolType=require("../../../../../data/enums/ToolType.js"),index=require("./rectToolShortCutTable/index.js"),index$2=require("./point/index.js"),index$3=require("./polygon/index.js"),index$4=require("./line/index.js"),index$1=require("./tag/index.js"),index$5=require("./text/index.js"),index$6=require("./videoTag/index.js"),index$7=require("./pointCloud/index.js"),index$8=require("./scribble/index.js"),index$9=require("../../index.js"),reactI18next=require("react-i18next"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../../components/pointCloudView/PointCloudContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,a,t)=>a in e?__defProp(e,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[a]=t,__spreadValues=(e,a)=>{for(var t in a||(a={}))__hasOwnProp.call(a,t)&&__defNormalProp(e,t,a[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(a))__propIsEnum.call(a,t)&&__defNormalProp(e,t,a[t]);return e};const{EVideoToolName,EPointCloudName}=lbAnnotation.cTool,shortCutTable={[ToolType.EToolName.Rect]:index.default,[ToolType.EToolName.Tag]:index$1.default,[ToolType.EToolName.Point]:index$2.default,[ToolType.EToolName.Polygon]:index$3.default,[ToolType.EToolName.Line]:index$4.default,[ToolType.EToolName.Text]:index$5,[EVideoToolName.VideoTagTool]:index$6,[EPointCloudName.PointCloud]:index$7.default,[EPointCloudName.PointCloud+"_POLYGON"]:index$7.pointCloudShortCutTable_POLYGON,[ToolType.EToolName.ScribbleTool]:index$8},ToolHotKeyIcon=({icon:e})=>typeof e=="string"?React__default.default.createElement("img",{width:16,height:16,src:e}):e||null,ToolHotKeyCom=({title:e,style:a,shortCutList:t})=>{const[c,n]=React.useState(!1),{t:s}=reactI18next.useTranslation(),m={width:320,display:"flex",justifyContent:"space-between",margin:16},u={display:"block",padding:"0 3px",minWidth:"20px",marginRight:"3px",border:"1px solid rgba(204,204,204,1)",verticalAlign:"middle",fontSize:"12px",textAlign:"center"},y=(r,i)=>React__default.default.createElement("div",{style:m,key:i},React__default.default.createElement("span",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(ToolHotKeyIcon,{icon:r.icon}),React__default.default.createElement("span",{style:{marginLeft:r.icon?16:0}},s(r.name))),React__default.default.createElement("span",{style:{display:"flex",alignItems:"center"}},r.noticeInfo&&React__default.default.createElement("span",{style:{marginRight:"5px",color:"#CCCCCC"}},s(r.noticeInfo)),g(r.shortCut,r.shortCutUseHtml,r.linkSymbol))),g=(r,i=!1,x="+")=>{if(!r)return null;const E=r.map((l,o)=>{var p,f;const d={display:"flex",alignItems:"center"};return i?React__default.default.createElement("span",{key:o,style:d},React__default.default.createElement("span",{style:u,dangerouslySetInnerHTML:{__html:l}})):o<r.length-1?typeof l=="number"?React__default.default.createElement("span",{key:o,style:d},React__default.default.createElement("span",{style:u},l),React__default.default.createElement("span",{style:{marginRight:"3px"}},"~")):((p=l==null?void 0:l.startsWith)==null?void 0:p.call(l,"data"))?React__default.default.createElement("span",{key:o,style:d},React__default.default.createElement("span",{className:"shortCutButton",style:{marginRight:"3px"}},React__default.default.createElement("img",{width:16,height:23,src:l})),React__default.default.createElement("span",{style:{marginRight:"3px"}},"+")):React__default.default.createElement("span",{key:o,style:d},React__default.default.createElement("span",{style:u},l),React__default.default.createElement("span",{style:{marginRight:"3px"}},x)):typeof l=="number"?React__default.default.createElement("span",{key:o,style:d},React__default.default.createElement("span",{style:u},l)):((f=l==null?void 0:l.startsWith)==null?void 0:f.call(l,"data"))?React__default.default.createElement("span",{className:"shortCutButton",key:o,style:{marginRight:"3px"}},React__default.default.createElement("img",{width:16,height:23,src:l})):React__default.default.createElement("span",{style:u,key:o},l)});return React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-around",alignItems:"center"}},E)},v=React__default.default.createElement("div",{className:`${index$9.footerCls}__hotkey-content`},t==null?void 0:t.map((r,i)=>y(r,i))),h=a||{width:100};return React__default.default.createElement(es.Popover,{placement:"topLeft",content:v,onMouseMove:()=>n(!0),onMouseLeave:()=>{n(!1)},overlayClassName:"tool-hotkeys-popover",className:"tipsBar"},React__default.default.createElement("div",{className:"shortCutTitle",onMouseMove:()=>n(!0),onMouseLeave:()=>n(!1),style:h},e!=null?e:React__default.default.createElement("a",{className:"svg"},React__default.default.createElement("img",{src:c?icon_kj_h:icon_kj1,width:15,height:13,style:{marginRight:"5px"}}),s("Hotkeys"))))},ToolHotKey=({style:e,title:a,toolName:t})=>{const{pointCloudPattern:c}=React.useContext(PointCloudContext.PointCloudContext);if(!t||!shortCutTable[t])return null;let n=t;n===`${EPointCloudName.PointCloud}`&&c===ToolType.EToolName.Polygon&&(n+="_POLYGON");const s={style:e,title:a,shortCutList:shortCutTable[n]};return React__default.default.createElement(ToolHotKeyCom,__spreadValues({},s))};exports.ToolHotKeyCom=ToolHotKeyCom,exports.default=ToolHotKey,exports.shortCutTable=shortCutTable;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var index=require("../common/index.js"),icon_move_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),changePointCloudValid=require("../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js"),copy=require("../../../../../../assets/annotation/pointCloudTool/copy.svg.js"),nextBox=require("../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js"),patse=require("../../../../../../assets/annotation/pointCloudTool/patse.svg.js"),prevBox=require("../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js"),rotate180_black=require("../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js"),selectAll=require("../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js"),selectMultiple=require("../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js"),icon_tab_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js"),React=require("react"),icons=require("@ant-design/icons");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const changePointSize={name:"PointThickness",icon:React__default.default.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},rotateRoundCenter={name:"RotateAroundCenterPoint",icon:React__default.default.createElement(icons.ReloadOutlined,null),shortCut:[icon_mouse_left_kj],noticeInfo:"DragOperation"},Drag3D={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},DragTopView={name:"TopViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},ChangeInvalid={name:"ChangePointCloudValid",icon:changePointCloudValid,shortCut:["V"]},CopyBox={name:"CopyBox",icon:copy,shortCut:["Ctrl","C"]},PasteBox={name:"PasteBox",icon:patse,shortCut:["Ctrl","V"]},LeftRotate={name:"RotateLeft",icon:React__default.default.createElement(icons.RotateLeftOutlined,null),shortCut:["Q"]},RightRotate={name:"RotateRight",icon:React__default.default.createElement(icons.RotateRightOutlined,null),shortCut:["E"]},PrevBox={name:"PreviousBox",icon:prevBox,shortCut:["Shift","Tab"]},NextBox={name:"NextBox",icon:nextBox,shortCut:["Tab"]},Rotate180={name:"Rotate180",icon:rotate180_black,shortCut:["G"],noticeInfo:"SelectedStatus"},CopyPrevPage={name:"CopyPrevPage",icon:copy,shortCut:["Alt","C"]},ChangeBoxInvalid={name:"ChangeBoxValid",icon:icon_tab_kj,shortCut:["F"],noticeInfo:"SelectedStatus"},SelectMulti={name:"MultiSelect",icon:selectMultiple,shortCut:["Ctrl",icon_mouse_right_kj]},SelectAll={name:"SelectAllBox",icon:selectAll,shortCut:["Ctrl","A"]},pointCloudShortCutTable=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"RectPattern"},CopyBox,PasteBox,LeftRotate,RightRotate,PrevBox,NextBox,Rotate180,CopyPrevPage,ChangeBoxInvalid,SelectMulti,SelectAll,index.fullScreen];
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../common/index.js"),icon_move_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),changePointCloudValid=require("../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js"),copy=require("../../../../../../assets/annotation/pointCloudTool/copy.svg.js"),nextBox=require("../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js"),patse=require("../../../../../../assets/annotation/pointCloudTool/patse.svg.js"),prevBox=require("../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js"),rotate180_black=require("../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js"),selectAll=require("../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js"),selectMultiple=require("../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js"),icon_tab_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js"),icon_del_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js"),React=require("react"),icons=require("@ant-design/icons"),index$1=require("../polygon/index.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const changePointSize={name:"PointThickness",icon:React__default.default.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},rotateRoundCenter={name:"RotateAroundCenterPoint",icon:React__default.default.createElement(icons.ReloadOutlined,null),shortCut:[icon_mouse_left_kj],noticeInfo:"DragOperation"},Drag3D={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},DragTopView={name:"TopViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},ChangeInvalid={name:"ChangePointCloudValid",icon:changePointCloudValid,shortCut:["V"]},CopyBox={name:"CopyBox",icon:copy,shortCut:["Ctrl","C"]},PasteBox={name:"PasteBox",icon:patse,shortCut:["Ctrl","V"]},LeftRotate={name:"RotateLeft",icon:React__default.default.createElement(icons.RotateLeftOutlined,null),shortCut:["Q"]},RightRotate={name:"RotateRight",icon:React__default.default.createElement(icons.RotateRightOutlined,null),shortCut:["E"]},PrevBox={name:"PreviousBox",icon:prevBox,shortCut:["Shift","Tab"]},NextBox={name:"NextBox",icon:nextBox,shortCut:["Tab"]},Rotate180={name:"Rotate180",icon:rotate180_black,shortCut:["G"],noticeInfo:"SelectedStatus"},CopyPrevPage={name:"CopyPrevPage",icon:copy,shortCut:["Alt","C"]},ChangeBoxInvalid={name:"ChangeBoxValid",icon:icon_tab_kj,shortCut:["F"],noticeInfo:"SelectedStatus"},SelectMulti={name:"MultiSelect",icon:selectMultiple,shortCut:["Ctrl",icon_mouse_right_kj]},SelectAll={name:"SelectAllBox",icon:selectAll,shortCut:["Ctrl","A"]},deleteBox={name:"Delete",icon:icon_del_kj,shortCut:["Del"],noticeInfo:"SelectedStatus"},pointCloudShortCutTable=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"RectPattern"},CopyBox,PasteBox,LeftRotate,RightRotate,PrevBox,NextBox,Rotate180,CopyPrevPage,ChangeBoxInvalid,deleteBox,SelectMulti,SelectAll,index.fullScreen],pointCloudShortCutTable_POLYGON=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"PolygonPattern"},index$1.polygon,index$1.invalidPolygon,index$1.selectedPolygon,index$1.changePolygonAttribute,index$1.deletePolygon,index$1.keepLine,index$1.insertPolygonPoint,index$1.deletePolygonPoint];exports.default=pointCloudShortCutTable,exports.pointCloudShortCutTable_POLYGON=pointCloudShortCutTable_POLYGON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ActionsHistory as
|
|
1
|
+
import{ActionsHistory as A,EToolName as x}from"@labelbee/lb-annotation";import v,{useState as e,useRef as j,useMemo as S}from"react";const B=v.createContext({pointCloudBoxList:[],polygonList:[],selectedID:"",selectedIDs:[],valid:!0,setSelectedIDs:()=>{},setPointCloudResult:()=>{},setPointCloudValid:()=>{},setTopViewInstance:()=>{},setSideViewInstance:()=>{},setBackViewInstance:()=>{},setMainViewInstance:()=>{},addSelectedID:()=>{},selectedAllBoxes:()=>{},addPointCloudBox:()=>[],setPolygonList:()=>{},zoom:1,setZoom:()=>{},history:new A,syncAllViewPointCloudColor:()=>{},defaultAttribute:"",setDefaultAttribute:()=>{},pointCloudPattern:x.Rect,setPointCloudPattern:()=>{}}),q=({children:g})=>{const[s,r]=e([]),[u,b]=e([]),[o,c]=e([]),[C,h]=e(!0),[P,L]=e(1),[d,D]=e(),[w,R]=e(),[f,k]=e(),[i,E]=e(),[V,M]=e(""),[p,T]=e(x.Rect),z=j(new A).current,I=S(()=>o.length===1?o[0]:"",[o]),Z=S(()=>{const H=s.find(t=>t.id===I),N=t=>{const n=s.concat(t);return r(n),n},O=t=>{h(t!==!1)},l=t=>{t===void 0&&c([]),typeof t=="string"&&c([t]),Array.isArray(t)&&c(Array.from(new Set(t)))};return{selectedID:I,pointCloudBoxList:s,selectedIDs:o,setPointCloudResult:r,setSelectedIDs:l,addPointCloudBox:N,valid:C,selectedPointCloudBox:H,setPointCloudValid:O,addSelectedID:t=>{o.includes(t)?l(o.filter(n=>n!==t)):l([...o,t])},selectedAllBoxes:()=>{l(s.map(t=>t.id))},topViewInstance:d,setTopViewInstance:D,sideViewInstance:w,setSideViewInstance:R,backViewInstance:f,setBackViewInstance:k,mainViewInstance:i,setMainViewInstance:E,polygonList:u,setPolygonList:b,zoom:P,setZoom:L,history:z,syncAllViewPointCloudColor:t=>{const n=i==null?void 0:i.highlightOriginPointCloud(t);return new Promise(_=>{n==null||n.then(a=>{[d].forEach(m=>{var y;a&&((y=m==null?void 0:m.pointCloudInstance)==null||y.updateColor(a),_({color:a}))})})})},defaultAttribute:V,setDefaultAttribute:M,pointCloudPattern:p,setPointCloudPattern:T}},[C,o,s,u,d,w,f,i,P,V,p]);return v.createElement(B.Provider,{value:Z},g)};export{B as PointCloudContext,q as PointCloudProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PointCloudContext.js","sources":["../../../src/components/pointCloudView/PointCloudContext.tsx"],"sourcesContent":["import { IPointCloudBox, IPointCloudBoxList, IPolygonData } from '@labelbee/lb-utils';\nimport { PointCloud, PointCloudAnnotation, ActionsHistory } from '@labelbee/lb-annotation';\nimport React, { useMemo, useRef, useState } from 'react';\n\ninterface IPointCloudContextInstances {\n topViewInstance?: PointCloudAnnotation;\n sideViewInstance?: PointCloudAnnotation;\n backViewInstance?: PointCloudAnnotation;\n mainViewInstance?: PointCloud;\n setTopViewInstance: (instance: PointCloudAnnotation) => void;\n setSideViewInstance: (instance: PointCloudAnnotation) => void;\n setBackViewInstance: (instance: PointCloudAnnotation) => void;\n setMainViewInstance: (instance: PointCloud) => void;\n}\n\nexport interface IPointCloudContext extends IPointCloudContextInstances {\n pointCloudBoxList: IPointCloudBoxList;\n selectedIDs: string[];\n setSelectedIDs: (ids?: string[] | string) => void;\n valid: boolean;\n setPointCloudResult: (resultList: IPointCloudBoxList) => void;\n selectedPointCloudBox?: IPointCloudBox;\n setPointCloudValid: (valid?: boolean) => void;\n addSelectedID: (selectedID: string) => void;\n selectedAllBoxes: () => void;\n selectedID: string;\n addPointCloudBox: (boxParams: IPointCloudBox) => IPointCloudBox[];\n\n polygonList: IPolygonData[];\n setPolygonList: (polygonList: IPolygonData[]) => void;\n\n zoom: number;\n setZoom: (zoom: number) => void;\n\n history: ActionsHistory; // Operation History\n\n syncAllViewPointCloudColor: (newPointCloudList?: IPointCloudBox[]) => void;\n}\n\nexport const PointCloudContext = React.createContext<IPointCloudContext>({\n pointCloudBoxList: [],\n polygonList: [],\n selectedID: '',\n selectedIDs: [],\n valid: true,\n setSelectedIDs: () => {},\n setPointCloudResult: () => {},\n setPointCloudValid: () => {},\n setTopViewInstance: () => {},\n setSideViewInstance: () => {},\n setBackViewInstance: () => {},\n setMainViewInstance: () => {},\n addSelectedID: () => {},\n selectedAllBoxes: () => {},\n addPointCloudBox: () => {\n return [];\n },\n setPolygonList: () => {},\n\n zoom: 1,\n setZoom: () => {},\n history: new ActionsHistory(),\n syncAllViewPointCloudColor: () => {},\n});\n\nexport const PointCloudProvider: React.FC<{}> = ({ children }) => {\n const [pointCloudBoxList, setPointCloudResult] = useState<IPointCloudBoxList>([]);\n const [polygonList, setPolygonList] = useState<IPolygonData[]>([]);\n const [selectedIDs, setSelectedIDsState] = useState<string[]>([]);\n const [valid, setValid] = useState<boolean>(true);\n const [zoom, setZoom] = useState<number>(1);\n const [topViewInstance, setTopViewInstance] = useState<PointCloudAnnotation>();\n const [sideViewInstance, setSideViewInstance] = useState<PointCloudAnnotation>();\n const [backViewInstance, setBackViewInstance] = useState<PointCloudAnnotation>();\n const [mainViewInstance, setMainViewInstance] = useState<PointCloud>();\n const history = useRef(new ActionsHistory()).current;\n\n const selectedID = useMemo(() => {\n return selectedIDs.length === 1 ? selectedIDs[0] : '';\n }, [selectedIDs]);\n\n const ptCtx = useMemo(() => {\n const selectedPointCloudBox = pointCloudBoxList.find((v) => v.id === selectedID);\n\n const addPointCloudBox = (box: IPointCloudBox) => {\n const newPointCloudList = pointCloudBoxList.concat(box);\n setPointCloudResult(newPointCloudList);\n return newPointCloudList;\n };\n\n const setPointCloudValid = (valid?: boolean) => {\n setValid(valid === false ? false : true);\n };\n\n const setSelectedIDs = (selectedIDs?: string[] | string) => {\n if (selectedIDs === undefined) {\n setSelectedIDsState([]);\n }\n\n if (typeof selectedIDs === 'string') {\n setSelectedIDsState([selectedIDs]);\n }\n\n if (Array.isArray(selectedIDs)) {\n setSelectedIDsState(Array.from(new Set(selectedIDs)));\n }\n };\n\n /**\n * If selectedID existed, remove selectedID from selectedIDs\n * If selectedID not existed, add selectedID to selectedIDs\n * @param selectedID\n */\n const addSelectedID = (selectedID: string) => {\n if (selectedIDs.includes(selectedID)) {\n setSelectedIDs(selectedIDs.filter((i) => i !== selectedID));\n } else {\n setSelectedIDs([...selectedIDs, selectedID]);\n }\n };\n\n const selectedAllBoxes = () => {\n setSelectedIDs(pointCloudBoxList.map((i) => i.id));\n };\n\n /**\n * Synchronize the highlighted pointCloud for all views.\n * @param pointCloudList\n */\n const syncAllViewPointCloudColor = (pointCloudList?: IPointCloudBox[]) => {\n const colorPromise = mainViewInstance?.highlightOriginPointCloud(pointCloudList);\n return new Promise((resolve) => {\n colorPromise?.then((color) => {\n [topViewInstance].forEach((instance) => {\n if (color) {\n instance?.pointCloudInstance?.updateColor(color);\n resolve({ color });\n }\n });\n });\n });\n };\n\n return {\n selectedID,\n pointCloudBoxList,\n selectedIDs,\n setPointCloudResult,\n setSelectedIDs,\n addPointCloudBox,\n valid,\n selectedPointCloudBox,\n setPointCloudValid,\n addSelectedID,\n selectedAllBoxes,\n topViewInstance,\n setTopViewInstance,\n sideViewInstance,\n setSideViewInstance,\n backViewInstance,\n setBackViewInstance,\n mainViewInstance,\n setMainViewInstance,\n polygonList,\n setPolygonList,\n zoom,\n setZoom,\n history,\n syncAllViewPointCloudColor,\n };\n }, [\n valid,\n selectedIDs,\n pointCloudBoxList,\n polygonList,\n topViewInstance,\n sideViewInstance,\n backViewInstance,\n mainViewInstance,\n zoom,\n ]);\n\n return <PointCloudContext.Provider value={ptCtx}>{children}</PointCloudContext.Provider>;\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PointCloudContext.js","sources":["../../../src/components/pointCloudView/PointCloudContext.tsx"],"sourcesContent":["import { IPointCloudBox, IPointCloudBoxList, IPolygonData } from '@labelbee/lb-utils';\nimport {\n PointCloud,\n PointCloudAnnotation,\n ActionsHistory,\n EToolName,\n} from '@labelbee/lb-annotation';\nimport React, { useMemo, useRef, useState } from 'react';\n\ninterface IPointCloudContextInstances {\n topViewInstance?: PointCloudAnnotation;\n sideViewInstance?: PointCloudAnnotation;\n backViewInstance?: PointCloudAnnotation;\n mainViewInstance?: PointCloud;\n setTopViewInstance: (instance: PointCloudAnnotation) => void;\n setSideViewInstance: (instance: PointCloudAnnotation) => void;\n setBackViewInstance: (instance: PointCloudAnnotation) => void;\n setMainViewInstance: (instance: PointCloud) => void;\n}\n\nexport interface IPointCloudContext extends IPointCloudContextInstances {\n pointCloudBoxList: IPointCloudBoxList;\n selectedIDs: string[];\n setSelectedIDs: (ids?: string[] | string) => void;\n valid: boolean;\n setPointCloudResult: (resultList: IPointCloudBoxList) => void;\n selectedPointCloudBox?: IPointCloudBox;\n setPointCloudValid: (valid?: boolean) => void;\n addSelectedID: (selectedID: string) => void;\n selectedAllBoxes: () => void;\n selectedID: string;\n addPointCloudBox: (boxParams: IPointCloudBox) => IPointCloudBox[];\n\n polygonList: IPolygonData[];\n setPolygonList: (polygonList: IPolygonData[]) => void;\n\n zoom: number;\n setZoom: (zoom: number) => void;\n\n history: ActionsHistory; // Operation History\n\n syncAllViewPointCloudColor: (newPointCloudList?: IPointCloudBox[]) => void;\n\n defaultAttribute: string;\n setDefaultAttribute: (defaultAttribute: string) => void;\n\n pointCloudPattern: EToolName.Rect | EToolName.Polygon;\n setPointCloudPattern: (toolName: EToolName.Rect | EToolName.Polygon) => void;\n}\n\nexport const PointCloudContext = React.createContext<IPointCloudContext>({\n pointCloudBoxList: [],\n polygonList: [],\n selectedID: '',\n selectedIDs: [],\n valid: true,\n setSelectedIDs: () => {},\n setPointCloudResult: () => {},\n setPointCloudValid: () => {},\n setTopViewInstance: () => {},\n setSideViewInstance: () => {},\n setBackViewInstance: () => {},\n setMainViewInstance: () => {},\n addSelectedID: () => {},\n selectedAllBoxes: () => {},\n addPointCloudBox: () => {\n return [];\n },\n setPolygonList: () => {},\n\n zoom: 1,\n setZoom: () => {},\n history: new ActionsHistory(),\n syncAllViewPointCloudColor: () => {},\n\n defaultAttribute: '',\n setDefaultAttribute: () => {},\n\n pointCloudPattern: EToolName.Rect,\n setPointCloudPattern: () => {},\n});\n\nexport const PointCloudProvider: React.FC<{}> = ({ children }) => {\n const [pointCloudBoxList, setPointCloudResult] = useState<IPointCloudBoxList>([]);\n const [polygonList, setPolygonList] = useState<IPolygonData[]>([]);\n const [selectedIDs, setSelectedIDsState] = useState<string[]>([]);\n const [valid, setValid] = useState<boolean>(true);\n const [zoom, setZoom] = useState<number>(1);\n const [topViewInstance, setTopViewInstance] = useState<PointCloudAnnotation>();\n const [sideViewInstance, setSideViewInstance] = useState<PointCloudAnnotation>();\n const [backViewInstance, setBackViewInstance] = useState<PointCloudAnnotation>();\n const [mainViewInstance, setMainViewInstance] = useState<PointCloud>();\n const [defaultAttribute, setDefaultAttribute] = useState('');\n const [pointCloudPattern, setPointCloudPattern] = useState<EToolName.Rect | EToolName.Polygon>(\n EToolName.Rect,\n );\n const history = useRef(new ActionsHistory()).current;\n\n const selectedID = useMemo(() => {\n return selectedIDs.length === 1 ? selectedIDs[0] : '';\n }, [selectedIDs]);\n\n const ptCtx = useMemo(() => {\n const selectedPointCloudBox = pointCloudBoxList.find((v) => v.id === selectedID);\n\n const addPointCloudBox = (box: IPointCloudBox) => {\n const newPointCloudList = pointCloudBoxList.concat(box);\n setPointCloudResult(newPointCloudList);\n return newPointCloudList;\n };\n\n const setPointCloudValid = (valid?: boolean) => {\n setValid(valid === false ? false : true);\n };\n\n const setSelectedIDs = (selectedIDs?: string[] | string) => {\n if (selectedIDs === undefined) {\n setSelectedIDsState([]);\n }\n\n if (typeof selectedIDs === 'string') {\n setSelectedIDsState([selectedIDs]);\n }\n\n if (Array.isArray(selectedIDs)) {\n setSelectedIDsState(Array.from(new Set(selectedIDs)));\n }\n };\n\n /**\n * If selectedID existed, remove selectedID from selectedIDs\n * If selectedID not existed, add selectedID to selectedIDs\n * @param selectedID\n */\n const addSelectedID = (selectedID: string) => {\n if (selectedIDs.includes(selectedID)) {\n setSelectedIDs(selectedIDs.filter((i) => i !== selectedID));\n } else {\n setSelectedIDs([...selectedIDs, selectedID]);\n }\n };\n\n const selectedAllBoxes = () => {\n setSelectedIDs(pointCloudBoxList.map((i) => i.id));\n };\n\n /**\n * Synchronize the highlighted pointCloud for all views.\n * @param pointCloudList\n */\n const syncAllViewPointCloudColor = (pointCloudList?: IPointCloudBox[]) => {\n const colorPromise = mainViewInstance?.highlightOriginPointCloud(pointCloudList);\n return new Promise((resolve) => {\n colorPromise?.then((color) => {\n [topViewInstance].forEach((instance) => {\n if (color) {\n instance?.pointCloudInstance?.updateColor(color);\n resolve({ color });\n }\n });\n // TODO: Sync sideView & backView Color.\n });\n });\n };\n\n return {\n selectedID,\n pointCloudBoxList,\n selectedIDs,\n setPointCloudResult,\n setSelectedIDs,\n addPointCloudBox,\n valid,\n selectedPointCloudBox,\n setPointCloudValid,\n addSelectedID,\n selectedAllBoxes,\n topViewInstance,\n setTopViewInstance,\n sideViewInstance,\n setSideViewInstance,\n backViewInstance,\n setBackViewInstance,\n mainViewInstance,\n setMainViewInstance,\n polygonList,\n setPolygonList,\n zoom,\n setZoom,\n history,\n syncAllViewPointCloudColor,\n defaultAttribute,\n setDefaultAttribute,\n pointCloudPattern,\n setPointCloudPattern,\n };\n }, [\n valid,\n selectedIDs,\n pointCloudBoxList,\n polygonList,\n topViewInstance,\n sideViewInstance,\n backViewInstance,\n mainViewInstance,\n zoom,\n defaultAttribute,\n pointCloudPattern,\n ]);\n\n return <PointCloudContext.Provider value={ptCtx}>{children}</PointCloudContext.Provider>;\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PointCloudContext as
|
|
1
|
+
import{PointCloudContext as W}from"./PointCloudContext.js";import{useRotate as Y}from"./hooks/useRotate.js";import{useBoxes as $}from"./hooks/useBoxes.js";import{useSingleBox as J}from"./hooks/useSingleBox.js";import{useContext as Q,useEffect as d}from"react";import{CommonToolUtils as X,AttributeUtils as Z,EToolName as m,cTool as ee}from"@labelbee/lb-annotation";import{message as y}from"antd";import{connect as te}from"react-redux";import{a2MapStateToProps as oe}from"../../store/annotation/map.js";import{useCustomToolInstance as re}from"../../hooks/annotation.js";import{useStatus as se}from"./hooks/useStatus.js";import{jsonParser as ne}from"../../utils/index.js";import{usePointCloudViews as ie}from"./hooks/usePointCloudViews.js";import{LabelBeeContext as ae}from"../../store/ctx.js";import{useHistory as le}from"./hooks/useHistory.js";import{useAttribute as ue}from"./hooks/useAttribute.js";import{useConfig as ce}from"./hooks/useConfig.js";import{usePolygon as de}from"./hooks/usePolygon.js";import{useTranslation as pe}from"react-i18next";var me=Object.defineProperty,fe=Object.defineProperties,be=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,ye=Object.prototype.propertyIsEnumerable,B=(n,r,a)=>r in n?me(n,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[r]=a,S=(n,r)=>{for(var a in r||(r={}))Pe.call(r,a)&&B(n,a,r[a]);if(_)for(var a of _(r))ye.call(r,a)&&B(n,a,r[a]);return n},I=(n,r)=>fe(n,be(r));const{EPolygonPattern:ve}=ee,Ce=({currentData:n,config:r,checkMode:a,configString:V})=>{const o=Q(W),{changeSelectedBoxValid:O,selectNextBox:j,selectPrevBox:A,updateSelectedBox:v,deleteSelectedPointCloudBoxAndPolygon:L}=J(),{clearAllResult:f,updatePointCloudPattern:E}=se(),R=ne(n.result),{copySelectedBoxes:T,pasteSelectedBoxes:D,copiedBoxes:K}=$(),{toolInstanceRef:i}=re({basicInfo:R}),{updateRotate:b}=Y({currentData:n}),{updatePointCloudData:C,topViewSelectedChanged:N}=ie(),{redo:w,undo:x,pushHistoryWithList:H,pushHistoryUnderUpdatePolygon:U}=le(),{syncThreeViewsAttribute:g}=ue(),{syncAllViewsConfig:z,reRenderTopViewRange:F}=ce(),{selectedPolygon:k}=de(),{t:P}=pe(),M=(e,t)=>{var s;const{topViewInstance:l,mainViewInstance:u}=o;if(!l)return;const{pointCloud2dOperation:c}=l;switch(e){case"q":{b(2);break}case"e":b(-2);break;case"g":b(180);break;case"u":{const p=c.pattern===ve.Normal?m.Rect:m.Polygon;E(p);const G={[m.Polygon]:P("PolygonPattern"),[m.Rect]:P("RectPattern")};y.success(P("ChangePatternMsg",{pattern:G[p]})),c.clearActiveStatus(),c.clearDrawingStatus()}break;case"+":u==null||u.updatePointSize(!0);break;case"-":u==null||u.updatePointSize(!1);break;case"v":o.setPointCloudValid(!o.valid);break;case"tab":if(t.shiftKey){A();break}j();break;case"f":O();break;case"delete":L();break;default:{if(((s=r.attributeList)==null?void 0:s.length)>0){const p=Z.getAttributeByKeycode(t.keyCode,r.attributeList);p!==void 0&&i.current.setDefaultAttribute(p)}return}}},q=(e,t)=>{switch(e){case"c":T();break;case"v":D();break;case"a":o.selectedAllBoxes();break;case"z":{t.shiftKey?w():x();break}}},h=e=>{if(!X.hotkeyFilter(e)||a===!0)return;const t=e.key.toLocaleLowerCase();if(e.ctrlKey){q(t,e);return}M(t,e)};return d(()=>{const{topViewInstance:e}=o;if(!!e)return window.addEventListener("keydown",h),()=>{window.removeEventListener("keydown",h)}},[o,K,r,o.pointCloudBoxList,o.polygonList]),d(()=>{z(r)},[V]),d(()=>{(r==null?void 0:r.radius)&&F(r==null?void 0:r.radius)},[r==null?void 0:r.radius]),d(()=>{C==null||C()},[n,o.mainViewInstance]),d(()=>{i.current.exportData=()=>[o.pointCloudBoxList,{valid:o.valid}],i.current.exportCustomData=()=>{var e;return{resultPolygon:(e=o.polygonList)!=null?e:[]}},i.current.setDefaultAttribute=e=>{g(e);const t=o.selectedPointCloudBox;if(t){t.attribute=e;const s=v(t);o.mainViewInstance&&N(t,s)}k&&U(I(S({},k),{attribute:e}))},i.current.setSubAttribute=(e,t)=>{var s;const l=o.selectedPointCloudBox;if(l){const u=(s=l==null?void 0:l.subAttribute)!=null?s:{};l.subAttribute=I(S({},u),{[e]:t}),v(l)}},i.current.clearResult=()=>{f==null||f()},i.current.redo=()=>{w()},i.current.undo=()=>{x()},i.current.setValid=e=>{i.current.valid=e,setTimeout(()=>{o.setPointCloudValid(e),e===!1&&f()})},i.current.setForbidOperation=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setForbidOperation(e),e===!0&&o.setSelectedIDs(void 0)},i.current.setShowDefaultCursor=e=>{var t,s;(s=(t=o.topViewInstance)==null?void 0:t.pointCloud2dOperation)==null||s.setShowDefaultCursor(e)}},[o.pointCloudBoxList,o.selectedID,o.valid,o.polygonList,o.mainViewInstance]),d(()=>{i.current.history={pushHistory:e=>{H({pointCloudBoxList:e})},initRecord:()=>{}}},[]),d(()=>{var e;const t=(e=o.topViewInstance)==null?void 0:e.pointCloud2dOperation;if(!t)return;const s=c=>{g(c)},l=c=>{y.error(c)},u=c=>{y.info(c)};return t.on("syncAttribute",s),t.on("messageError",l),t.on("messageInfo",u),()=>{t.unbind("syncAttribute",s),t.unbind("messageError",l),t.unbind("messageInfo",u)}},[o.topViewInstance]),null};var we=te(oe,null,null,{context:ae})(Ce);export{we as default};
|