@labelbee/lb-components 1.23.0-alpha.112 → 1.23.0-alpha.113
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/AnnotationView/index.js +1 -1
- package/dist/components/pointCloud2DRectOperationView/index.js +1 -1
- package/dist/components/pointCloudView/PointCloud2DSingleView.js +1 -1
- package/dist/components/pointCloudView/PointCloud3DView.js +1 -1
- package/dist/types/components/AnnotationView/index.d.ts +4 -0
- package/es/components/AnnotationView/index.js +1 -1
- package/es/components/pointCloud2DRectOperationView/index.js +1 -1
- package/es/components/pointCloudView/PointCloud2DSingleView.js +1 -1
- package/es/components/pointCloudView/PointCloud3DView.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es"),useRefCache=require("../../hooks/useRefCache.js"),index=require("../measureCanvas/index.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,n,
|
|
1
|
+
"use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es"),useRefCache=require("../../hooks/useRefCache.js"),index=require("../measureCanvas/index.js"),PointCloudContext=require("../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,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},__async=(e,n,o)=>new Promise((g,d)=>{var c=u=>{try{f(o.next(u))}catch(v){d(v)}},s=u=>{try{f(o.throw(u))}catch(v){d(v)}},f=u=>u.done?g(u.value):Promise.resolve(u.value).then(c,s);f((o=o.apply(e,n)).next())});const DEFAULT_SIZE={width:455,height:100},sizeInitialized=e=>{if(!e)return DEFAULT_SIZE;if(e.width&&e.height)return e;const n=__spreadValues({},e);return n.width||(n.width=DEFAULT_SIZE.width),n.height||(n.height=DEFAULT_SIZE.height),n},AnnotationView=(e,n)=>{var o,g;const{src:d,fallbackSrc:c,annotations:s=[],style:f={stroke:"blue",thickness:3},zoomChange:u,backgroundStyle:v={},onChange:y,showLoading:O=!1,globalStyle:S,afterImgOnLoad:k,measureVisible:C,onRightClick:m}=e,_=sizeInitialized(e.size),[A,R]=React.useState(!1),w=React.useRef(null),r=React.useRef(),P=useRefCache(k),h=React.useRef([]),b=React.useRef(!0);React.useContext(PointCloudContext.PointCloudContext),React.useImperativeHandle(n,()=>{const t=r.current;return t?{zoomIn:()=>t.zoomChanged(!0),zoomOut:()=>t.zoomChanged(!1),initImgPos:()=>t.initImgPos(),toolInstance:t}:{}},[r.current]),React.useEffect(()=>(w.current&&(r.current=new lbAnnotation.ViewOperation({container:w.current,size:_,style:f,annotations:s,config:"{}",zoomInfo:e.zoomInfo,staticMode:e.staticMode}),r.current.init(),m&&r.current.on("onRightClick",m)),()=>{var t,i;m&&((t=r.current)==null||t.unbind("onRightClick",m)),(i=r.current)==null||i.destroy()}),[C]);const I=React.useCallback(t=>__async(void 0,null,function*(){var i,a;try{const l=yield lbAnnotation.ImgUtils.load(t);return(i=r.current)==null||i.setImgNode(l),(a=P.current)==null||a.call(P,l),null}catch(l){return console.error("Error loading image:",l),l}}),[]),E=React.useCallback(t=>__async(void 0,null,function*(){var i,a;if(R(!0),(i=r.current)==null||i.setLoading(!0),(yield I(t))&&c){const p=yield I(c);p&&console.error("Error loading fallback image:",p)}(a=r.current)==null||a.setLoading(!1),R(!1)}),[I,c]);React.useEffect(()=>{r.current&&E(d)},[d,C,c,E]),React.useEffect(()=>{if(b.current===!1){h.current.push(s);return}const t=()=>{b.current=!0,h.current=[]},i=()=>{var a;const l=h.current.length;if(l>0){const p=h.current[l-1];h.current=[],(a=r.current)==null||a.updateData(p).then(i).catch(t)}else b.current=!0};r.current&&(b.current=!1,r.current.updateData(s).then(i).catch(t))},[s]),React.useEffect(()=>{const t=r.current;(t==null?void 0:t.setSize)&&(t.setSize(_),t.initPosition())},[(o=e.size)==null?void 0:o.width,(g=e.size)==null?void 0:g.height]),React.useEffect(()=>{var t,i;return r.current&&((t=r.current)==null||t.on("onChange",(...a)=>{y==null||y.apply(null,a)}),(i=r.current)==null||i.on("renderZoom",a=>{u&&u(a)})),()=>{var a,l;(a=r.current)==null||a.unbindAll("onChange"),(l=r.current)==null||l.unbindAll("renderZoom")}},[u,y]);const L=React__default.default.createElement("div",{ref:w,style:__spreadValues(__spreadValues({position:"relative"},_),v)}),{imgNode:z,zoom:x,currentPos:j}=r.current||{};return React__default.default.createElement(es.Spin,{spinning:O||A,delay:300,style:S},C&&z?React__default.default.createElement(index,{size:_,imgNode:z,zoom:x,currentPos:j}):L)};var AnnotationView$1=React__default.default.forwardRef(AnnotationView);module.exports=AnnotationView$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation"),util=require("./util.js"),useUpdateRectList=require("./useUpdateRectList.js"),useToolStyle=require("../../hooks/useToolStyle.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}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=(l,i,c)=>i in l?__defProp(l,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[i]=c,__spreadValues=(l,i)=>{for(var c in i||(i={}))__hasOwnProp.call(i,c)&&__defNormalProp(l,c,i[c]);if(__getOwnPropSymbols)for(var c of __getOwnPropSymbols(i))__propIsEnum.call(i,c)&&__defNormalProp(l,c,i[c]);return l},__spreadProps=(l,i)=>__defProps(l,__getOwnPropDescs(i)),__async=(l,i,c)=>new Promise((
|
|
1
|
+
"use strict";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation"),util=require("./util.js"),useUpdateRectList=require("./useUpdateRectList.js"),useToolStyle=require("../../hooks/useToolStyle.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}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=(l,i,c)=>i in l?__defProp(l,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):l[i]=c,__spreadValues=(l,i)=>{for(var c in i||(i={}))__hasOwnProp.call(i,c)&&__defNormalProp(l,c,i[c]);if(__getOwnPropSymbols)for(var c of __getOwnPropSymbols(i))__propIsEnum.call(i,c)&&__defNormalProp(l,c,i[c]);return l},__spreadProps=(l,i)=>__defProps(l,__getOwnPropDescs(i)),__async=(l,i,c)=>new Promise((a,v)=>{var g=d=>{try{m(c.next(d))}catch(p){v(p)}},y=d=>{try{m(c.throw(d))}catch(p){v(p)}},m=d=>d.done?a(d.value):Promise.resolve(d.value).then(g,y);m((c=c.apply(l,i)).next())});const PointCloud2DRectOperationView=l=>{var i,c;const{mappingData:a,size:v,config:g,checkMode:y,afterImgOnLoad:m,shouldExcludePointCloudBoxListUpdate:d}=l,p=(i=a==null?void 0:a.url)!=null?i:"",h=(c=a==null?void 0:a.fallbackUrl)!=null?c:"",{pointCloudBoxList:C,setPointCloudResult:P,defaultAttribute:x,rectList:S,addRectIn2DView:F,updateRectIn2DView:M,removeRectIn2DView:T,updateRectListByReducer:z,selectedIDs:D,setSelectedIDs:E}=React.useContext(PointCloudContext.PointCloudContext),{value:L}=useToolStyle.useToolStyleContext(),J=ahooks.useLatest(D),{update2DViewRect:$,remove2DViewRect:G}=usePointCloudViews.usePointCloudViews(),O=React__default.default.useRef(null),o=React.useRef(null),q=ahooks.useMemoizedFn($),I=ahooks.useMemoizedFn(G),b=React.useRef(null),[H,k]=React.useState(!0),V=React.useMemo(()=>S==null?void 0:S.filter(e=>e.imageName===(a==null?void 0:a.path)),[a==null?void 0:a.path,S]),w=ahooks.useLatest(a==null?void 0:a.path),j=React.useCallback(e=>__async(void 0,null,function*(){try{const r=J.current.slice(0),t=yield Promise.resolve(e());if(!t||t.length===0)return t;if(r.length){const n=new Set(r),u=t.filter(s=>n.has(s.id)).map(s=>s.id);E(u)}return t}catch(r){}}),[E]),N=e=>{const{boxID:r}=e;if(!d&&r){j(()=>{const t=q==null?void 0:q(e);return t?(b.current=t,P(t),t):null});return}M(e,!0)},B=e=>{w.current&&F(__spreadProps(__spreadValues({},e),{imageName:w.current}))},U=e=>{if(e.length===0)return;if(!d){const t=e.find(n=>n.boxID);if(t){j(()=>{const n=I==null?void 0:I(t);return n?(b.current=n,P(n),R(),n):null});return}}const r=e.find(t=>t.extId);r&&j(()=>{const{imageName:t,extId:n}=r,u=I==null?void 0:I({boxID:n,imageName:t});return u?(b.current=u,P(u),u):null}),T(e)},K=ahooks.useMemoizedFn(()=>{let e=[];return C.forEach(r=>{const{rects:t=[],id:n,attribute:u,trackID:s}=r,f=t.find(Q=>Q.imageName===w.current),_=n+"_"+w.current;f&&(e=[...e,__spreadProps(__spreadValues({},f),{boxID:n,id:_,attribute:u,order:s})])}),e}),R=useUpdateRectList.useUpdateRectList(()=>{var e,r,t;const n=d?[]:K(),u=(e=o.current)==null?void 0:e.selectedRectID,s=D.slice(0),f=util.selectSpecifiedRectsFromTopViewSelectedIds(s,n,V);(r=o.current)==null||r.setResult(f),u&&((t=o.current)==null||t.setSelectedRectID(u))}),A=({targetId:e})=>E(e);return React.useEffect(()=>{if(O.current){const e=new lbAnnotation.PointCloud2DRectOperation({container:O.current,size:v,config:__spreadProps(__spreadValues({},g),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:y});return o.current=e,o.current.init(),o.current.on("updateDragResult",N),o.current.on("afterAddingDrawingRect",B),o.current.on("deleteSelectedRects",U),o.current.on("onRightClick",A),()=>{var r,t,n,u,s;(r=o.current)==null||r.unbind("updateDragResult",N),(t=o.current)==null||t.unbind("afterAddingDrawingRect",B),(n=o.current)==null||n.unbind("deleteSelectedRects",U),(u=o.current)==null||u.unbind("onRightClick",A),(s=o.current)==null||s.destroy()}}},[]),React.useEffect(()=>{const e=t=>__async(void 0,null,function*(){try{return yield lbAnnotation.ImgUtils.load(t)}catch(n){return console.error("Error loading image:",n),null}}),r=()=>__async(void 0,null,function*(){var t;k(!0);let n=yield e(p);!n&&h&&(n=yield e(h)),n&&((t=o.current)==null||t.setImgNode(n),m(n)),k(!1)});o.current&&(p||h)&&r()},[p,h]),React.useEffect(()=>{var e;(e=o.current)==null||e.setSize(v)},[v]),React.useEffect(()=>{C!==b.current&&R()},[C]),React.useEffect(()=>{var e,r;const t=V.find(n=>n.id===o.current.selectedRectID);(r=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||r.call(e,x),t&&z(n=>{var u;const s=[];let f=null;return n.forEach(_=>{_.id!==o.current.selectedRectID?s.push(_):f=_}),t.extId===void 0&&(f=(u=o.current)==null?void 0:u.selectedRect),[...s,__spreadProps(__spreadValues({},f||{}),{attribute:x})]}),R()},[x]),React.useEffect(()=>{R()},[V]),React.useEffect(()=>{R()},[d]),React.useEffect(()=>{var e,r,t,n;const u=(r=(e=o.current)==null?void 0:e.config)!=null?r:{},s=__spreadProps(__spreadValues({},u),{attributeList:(t=g.attributeList)!=null?t:[]});(n=o.current)==null||n.setConfig(JSON.stringify(s))},[g.attributeList]),React.useEffect(()=>{var e;(e=o.current)==null||e.setEnableAddRect(D.length===0),R()},[D]),React.useEffect(()=>{const{hiddenText:e}=L||{};if(e===void 0)return;const r=o.current;if(!r)return;const t=__spreadValues(__spreadValues({},r.style),L);r.setStyle(t)},[L]),React__default.default.createElement(es.Spin,{spinning:H},React__default.default.createElement("div",{ref:O,style:__spreadValues({position:"relative"},v)}))};var PointCloud2DRectOperationView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DRectOperationView);module.exports=PointCloud2DRectOperationView$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var dom=require("../../utils/dom.js"),React=require("react"),index=require("../AnnotationView/index.js"),useSize=require("../../hooks/useSize.js"),useSingleBox=require("./hooks/useSingleBox.js"),useHighlight=require("./hooks/useHighlight.js"),index$2=require("./components/HighlightVisible/index.js"),PointCloudContext=require("./PointCloudContext.js"),useDataLinkSwitch=require("./hooks/useDataLinkSwitch.js"),index$1=require("../pointCloud2DRectOperationView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__async=(e,u,
|
|
1
|
+
"use strict";var dom=require("../../utils/dom.js"),React=require("react"),index=require("../AnnotationView/index.js"),useSize=require("../../hooks/useSize.js"),useSingleBox=require("./hooks/useSingleBox.js"),useHighlight=require("./hooks/useHighlight.js"),index$2=require("./components/HighlightVisible/index.js"),PointCloudContext=require("./PointCloudContext.js"),useDataLinkSwitch=require("./hooks/useDataLinkSwitch.js"),index$1=require("../pointCloud2DRectOperationView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__async=(e,u,o)=>new Promise((s,a)=>{var f=t=>{try{l(o.next(t))}catch(i){a(i)}},c=t=>{try{l(o.throw(t))}catch(i){a(i)}},l=t=>t.done?s(t.value):Promise.resolve(t.value).then(f,c);l((o=o.apply(e,u)).next())});const PointCloud2DSingleView=({view2dData:e,setSelectedID:u,currentData:o,showEnlarge:s,checkMode:a=!1,measureVisible:f})=>{var c,l;const t=React.useRef(null),i=React.useRef(),{selectedBox:d}=useSingleBox.useSingleBox(),m=useSize(t),{url:p,fallbackUrl:x,calib:k,path:j}=e,{toggle2dVisible:q,isHighlightVisible:P}=useHighlight.useHighlight({currentData:o}),[_,v]=React.useState(!1),{highlight2DLoading:B,setHighlight2DLoading:b,cuboidBoxIn2DView:h,cacheImageNodeSize:I,setSelectedIDs:R}=React.useContext(PointCloudContext.PointCloudContext),V=!e,z=React.useMemo(()=>({zIndex:s?-1:101,is2DView:!h,imageName:e.path}),[s,h,e.path]),{rendered:H,isLinking:O}=useDataLinkSwitch(z),C=n=>{g(),I({path:j,imgNode:n})},g=React.useCallback(()=>{var n,L;const S=(n=i.current)==null?void 0:n.toolInstance;if(u(""),!d||!S)return;const r=e.annotations.find(N=>N.annotation.id===d.info.id);let y="";r&&((L=r==null?void 0:r.annotation.pointList)==null?void 0:L.length)>0&&(S.focusPositionByPointList(r==null?void 0:r.annotation.pointList),y=d.info.id,u(y))},[d,i.current,e.annotations]);React.useEffect(()=>{g()},[g]);const E=()=>__async(void 0,null,function*(){v(!0),b(!0);try{yield q(p,x!=null?x:"",k)}catch(n){console.error("highlightOnClick error:",n)}finally{v(!1),b(!1)}});return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-2d-image"),ref:t},h?React__default.default.createElement(index,{src:(c=e==null?void 0:e.url)!=null?c:"",fallbackSrc:(l=e==null?void 0:e.fallbackUrl)!=null?l:"",annotations:e.annotations,size:m,ref:i,globalStyle:{display:V?"none":"block"},afterImgOnLoad:C,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:f,onRightClick:({targetId:n})=>R(n)}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{shouldExcludePointCloudBoxListUpdate:!O,mappingData:e,size:m,checkMode:a,afterImgOnLoad:C}),!a&&H),k&&React__default.default.createElement(index$2,{visible:P(p),onClick:E,loading:_,disabled:B,style:{position:"absolute",right:16,top:16,zIndex:s?-1:101}}))};module.exports=PointCloud2DSingleView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons");function _interopDefaultLegacy(
|
|
1
|
+
"use strict";var dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),classNames=require("classnames"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),index=require("../../utils/index.js"),useSingleBox=require("./hooks/useSingleBox.js"),useSphere=require("./hooks/useSphere.js"),antd=require("antd"),useSize=require("../../hooks/useSize.js"),usePointCloudViews=require("./hooks/usePointCloudViews.js"),reactI18next=require("react-i18next"),ctx=require("../../store/ctx.js"),index$1=require("./components/PointCloudSizeSlider/index.js"),index$2=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var classNames__default=_interopDefaultLegacy(classNames),React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,a,i)=>a in n?__defProp(n,a,{enumerable:!0,configurable:!0,writable:!0,value:i}):n[a]=i,__spreadValues=(n,a)=>{for(var i in a||(a={}))__hasOwnProp.call(a,i)&&__defNormalProp(n,i,a[i]);if(__getOwnPropSymbols)for(var i of __getOwnPropSymbols(a))__propIsEnum.call(a,i)&&__defNormalProp(n,i,a[i]);return n},__spreadProps=(n,a)=>__defProps(n,__getOwnPropDescs(a));const EKeyCode=lbAnnotation.cKeyCode.default,pointCloudID="LABELBEE-POINTCLOUD",PointCloud3DContext=React__default.default.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),PointCloudViewIcon=({perspectiveView:n})=>{const{isActive:a,setTarget3DView:i}=React.useContext(PointCloud3DContext),c=t=>classNames__default.default({[dom.getClassName("point-cloud-3d-view",t)]:!0,active:a});return React__default.default.createElement("span",{onClick:()=>{i(lbUtils.EPerspectiveView[n])},className:c(n.toLocaleLowerCase())})},PointCloud3DSideBar=({isEnlarge:n})=>{const{reset3DView:a,followTopView:i}=React.useContext(PointCloud3DContext),{t:c}=reactI18next.useTranslation(),t=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Top"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Front"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Left"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Back"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"Right"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"LFT"}),React__default.default.createElement(PointCloudViewIcon,{perspectiveView:"RBT"})),p=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(antd.Tooltip,{title:c("CameraFollowTopView")},React__default.default.createElement("span",{onClick:()=>{i()},className:dom.getClassName("point-cloud-3d-view","followTop")})),React__default.default.createElement("span",{onClick:()=>{a()},className:dom.getClassName("point-cloud-3d-view","reset")}));return n?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebarZoom")},p,t):React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-sidebar")},t,p)},PointCloud3D=({currentData:n,config:a,highlightAttribute:i})=>{var c;const t=React.useContext(PointCloudContext.PointCloudContext),[p,I]=React.useState(!0),[m,C]=React.useState(!1),f=React.useRef(null),{initPointCloud3d:P}=usePointCloudViews.usePointCloudViews(),v=useSize(f),{t:g}=reactI18next.useTranslation();React.useEffect(()=>{!t.mainViewInstance||P==null||P(v)},[v]);const{selectedBox:u}=useSingleBox.useSingleBox(),{selectedSphere:w}=useSphere.useSphere(),[S,x]=React.useState(!0),V=e=>{var o,l;const r=u==null?void 0:u.info;if(r){const s=__spreadValues({},r.center);s.x=s.x-.01,s.z=1e3;const d=e===lbUtils.EPerspectiveView.Top;(o=t.mainViewInstance)==null||o.updateCameraByBox(r,e,d?s:void 0)}w&&((l=t.mainViewInstance)==null||l.updateCameraBySphere(w,e))},b=()=>{var e;(e=t.mainViewInstance)==null||e.resetCamera()},y=()=>{var e,o;const l=(e=t.topViewInstance)==null?void 0:e.pointCloudInstance.camera;l&&((o=t.mainViewInstance)==null||o.applyCameraTarget(l))};React.useEffect(()=>{if(f.current&&(n==null?void 0:n.url)){let e=t.mainViewInstance;!e&&v.width&&(e=new lbAnnotation.PointCloud({container:f.current,isOrthographicCamera:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(v),config:a}),e.setHandlerPipe({setSelectedIDs:t.setSelectedIDs,setNeedUpdateCenter:x}),t.setMainViewInstance(e))}},[v,n]),React.useEffect(()=>{var e;if(f.current&&(n==null?void 0:n.url)&&n.result&&t.mainViewInstance){let o=t.mainViewInstance;const l=lbUtils.PointCloudUtils.getBoxParamsFromResultList(n.result);l.forEach(s=>{var d;const E=(d=lbUtils.toolStyleConverter.getColorFromConfig({attribute:s.attribute},__spreadProps(__spreadValues({},a),{attributeConfigurable:!0}),{}))==null?void 0:d.hex;o==null||o.addBoxToSense(s,E)}),o.render(),t.setPointCloudResult(l);const r=lbUtils.PointCloudUtils.getRectParamsFromResultList(n.result);t.setRectList(r),t.setPointCloudValid((e=index.jsonParser(n.result))==null?void 0:e.valid)}},[n,t.mainViewInstance]),React.useEffect(()=>{var e,o,l,r,s;const d=(e=u==null?void 0:u.info)==null?void 0:e.id;if(!S){x(!0);return}if(d!==void 0){V(lbUtils.EPerspectiveView.Top);const E=(r=(l=(o=t.topViewInstance)==null?void 0:o.pointCloudInstance)==null?void 0:l.camera.zoom)!=null?r:1;(s=t.mainViewInstance)==null||s.updateCameraZoom(E)}},[(c=u==null?void 0:u.info)==null?void 0:c.id]),React.useEffect(()=>{var e,o,l,r;if(w){V(lbUtils.EPerspectiveView.Top);const s=(l=(o=(e=t.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:o.camera.zoom)!=null?l:1;(r=t.mainViewInstance)==null||r.updateCameraZoom(s)}},[w]),React.useEffect(()=>(window.addEventListener("keydown",_),()=>{window.removeEventListener("keydown",_)}),[]);const _=e=>{if(e.keyCode===EKeyCode.Esc){C(!1);return}},h=React.useMemo(()=>({reset3DView:b,setTarget3DView:V,isActive:!!u,followTopView:y}),[u,t.mainViewInstance]);React.useEffect(()=>{var e,o,l;const r=t.pointCloudBoxList.filter(s=>s.attribute===i);(r==null?void 0:r.length)>0&&((e=t.mainViewInstance)==null||e.clearHighlightBoxes(),(o=t.mainViewInstance)==null||o.highlightBoxes(r)),r.length===0&&((l=t.mainViewInstance)==null||l.clearHighlightBoxesAndRender())},[i,t.mainViewInstance]);const T=React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{onChange:e=>{var o;(o=t.mainViewInstance)==null||o.updatePointSize({customSize:e})}}),React__default.default.createElement("span",{style:{marginRight:8}},g("ShowArrows")),React__default.default.createElement(antd.Switch,{size:"small",checked:p,onChange:e=>{var o;I(e),(o=t.mainViewInstance)==null||o.setShowDirection(e)}}),m&&React__default.default.createElement(PointCloud3DContext.Provider,{value:h},React__default.default.createElement(PointCloud3DSideBar,{isEnlarge:m})));return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-3d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:m}),title:m?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{C(!1)}}),g("3DView")):React__default.default.createElement(index$2,{title:g("3DView"),onClick:()=>{C(!0)}}),toolbar:T},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-content")},!m&&React__default.default.createElement(PointCloud3DContext.Provider,{value:h},React__default.default.createElement(PointCloud3DSideBar,null)),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-3d-view"),id:pointCloudID,ref:f})))};var PointCloud3DView=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud3D);module.exports=PointCloud3DView;
|
|
@@ -30,6 +30,10 @@ interface IProps {
|
|
|
30
30
|
};
|
|
31
31
|
staticMode?: boolean;
|
|
32
32
|
measureVisible?: boolean;
|
|
33
|
+
onRightClick?: (e: {
|
|
34
|
+
event: MouseEvent;
|
|
35
|
+
targetId: string;
|
|
36
|
+
}) => void;
|
|
33
37
|
}
|
|
34
38
|
declare const _default: React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>;
|
|
35
39
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import y,{useState as $,useRef as C,useContext as q,useImperativeHandle as B,useEffect as v,useCallback as V}from"react";import{ViewOperation as G,ImgUtils as J}from"@labelbee/lb-annotation";import{Spin as K}from"antd/es";import Q from"../../hooks/useRefCache.js";import W from"../measureCanvas/index.js";import{PointCloudContext as X}from"../pointCloudView/PointCloudContext.js";var Y=Object.defineProperty,j=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,x=(t,n,o)=>n in t?Y(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,R=(t,n)=>{for(var o in n||(n={}))ee.call(n,o)&&x(t,o,n[o]);if(j)for(var o of j(n))te.call(n,o)&&x(t,o,n[o]);return t},D=(t,n,o)=>new Promise((g,d)=>{var c=u=>{try{f(o.next(u))}catch(m){d(m)}},s=u=>{try{f(o.throw(u))}catch(m){d(m)}},f=u=>u.done?g(u.value):Promise.resolve(u.value).then(c,s);f((o=o.apply(t,n)).next())});const S={width:455,height:100},ne=t=>{if(!t)return S;if(t.width&&t.height)return t;const n=R({},t);return n.width||(n.width=S.width),n.height||(n.height=S.height),n},re=(t,n)=>{var o,g;const{src:d,fallbackSrc:c,annotations:s=[],style:f={stroke:"blue",thickness:3},zoomChange:u,backgroundStyle:m={},onChange:I,showLoading:N=!1,globalStyle:M,afterImgOnLoad:U,measureVisible:P,onRightClick:_}=t,p=ne(t.size),[Z,E]=$(!1),z=C(null),r=C(),k=Q(U),h=C([]),b=C(!0);q(X),B(n,()=>{const e=r.current;return e?{zoomIn:()=>e.zoomChanged(!0),zoomOut:()=>e.zoomChanged(!1),initImgPos:()=>e.initImgPos(),toolInstance:e}:{}},[r.current]),v(()=>(z.current&&(r.current=new G({container:z.current,size:p,style:f,annotations:s,config:"{}",zoomInfo:t.zoomInfo,staticMode:t.staticMode}),r.current.init(),_&&r.current.on("onRightClick",_)),()=>{var e,i;_&&((e=r.current)==null||e.unbind("onRightClick",_)),(i=r.current)==null||i.destroy()}),[P]);const O=V(e=>D(void 0,null,function*(){var i,a;try{const l=yield J.load(e);return(i=r.current)==null||i.setImgNode(l),(a=k.current)==null||a.call(k,l),null}catch(l){return console.error("Error loading image:",l),l}}),[]),A=V(e=>D(void 0,null,function*(){var i,a;if(E(!0),(i=r.current)==null||i.setLoading(!0),(yield O(e))&&c){const w=yield O(c);w&&console.error("Error loading fallback image:",w)}(a=r.current)==null||a.setLoading(!1),E(!1)}),[O,c]);v(()=>{r.current&&A(d)},[d,P,c,A]),v(()=>{if(b.current===!1){h.current.push(s);return}const e=()=>{b.current=!0,h.current=[]},i=()=>{var a;const l=h.current.length;if(l>0){const w=h.current[l-1];h.current=[],(a=r.current)==null||a.updateData(w).then(i).catch(e)}else b.current=!0};r.current&&(b.current=!1,r.current.updateData(s).then(i).catch(e))},[s]),v(()=>{const e=r.current;(e==null?void 0:e.setSize)&&(e.setSize(p),e.initPosition())},[(o=t.size)==null?void 0:o.width,(g=t.size)==null?void 0:g.height]),v(()=>{var e,i;return r.current&&((e=r.current)==null||e.on("onChange",(...a)=>{I==null||I.apply(null,a)}),(i=r.current)==null||i.on("renderZoom",a=>{u&&u(a)})),()=>{var a,l;(a=r.current)==null||a.unbindAll("onChange"),(l=r.current)==null||l.unbindAll("renderZoom")}},[u,I]);const F=y.createElement("div",{ref:z,style:R(R({position:"relative"},p),m)}),{imgNode:L,zoom:H,currentPos:T}=r.current||{};return y.createElement(K,{spinning:N||Z,delay:300,style:M},P&&L?y.createElement(W,{size:p,imgNode:L,zoom:H,currentPos:T}):F)};var oe=y.forwardRef(re);export{oe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useLatest as
|
|
1
|
+
import{useLatest as G,useMemoizedFn as U}from"ahooks";import{Spin as ie}from"antd/es";import A,{useContext as ce,useRef as H,useState as ue,useMemo as se,useCallback as ae,useEffect as f}from"react";import{connect as de}from"react-redux";import{usePointCloudViews as fe}from"../pointCloudView/hooks/usePointCloudViews.js";import{PointCloudContext as pe}from"../pointCloudView/PointCloudContext.js";import{a2MapStateToProps as me}from"../../store/annotation/map.js";import{LabelBeeContext as ve}from"../../store/ctx.js";import{PointCloud2DRectOperation as ge,ImgUtils as Re}from"@labelbee/lb-annotation";import{selectSpecifiedRectsFromTopViewSelectedIds as _e}from"./util.js";import{useUpdateRectList as he}from"./useUpdateRectList.js";import{useToolStyleContext as De}from"../../hooks/useToolStyle.js";var Ie=Object.defineProperty,be=Object.defineProperties,we=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,ye=Object.prototype.hasOwnProperty,Pe=Object.prototype.propertyIsEnumerable,Q=(s,i,c)=>i in s?Ie(s,i,{enumerable:!0,configurable:!0,writable:!0,value:c}):s[i]=c,m=(s,i)=>{for(var c in i||(i={}))ye.call(i,c)&&Q(s,c,i[c]);if(K)for(var c of K(i))Pe.call(i,c)&&Q(s,c,i[c]);return s},I=(s,i)=>be(s,we(i)),T=(s,i,c)=>new Promise((a,v)=>{var _=d=>{try{h(c.next(d))}catch(g){v(g)}},x=d=>{try{h(c.throw(d))}catch(g){v(g)}},h=d=>d.done?a(d.value):Promise.resolve(d.value).then(_,x);h((c=c.apply(s,i)).next())});const Ce=s=>{var i,c;const{mappingData:a,size:v,config:_,checkMode:x,afterImgOnLoad:h,shouldExcludePointCloudBoxListUpdate:d}=s,g=(i=a==null?void 0:a.url)!=null?i:"",b=(c=a==null?void 0:a.fallbackUrl)!=null?c:"",{pointCloudBoxList:S,setPointCloudResult:O,defaultAttribute:L,rectList:V,addRectIn2DView:W,updateRectIn2DView:X,removeRectIn2DView:Y,updateRectListByReducer:Z,selectedIDs:w,setSelectedIDs:j}=ce(pe),{value:E}=De(),ee=G(w),{update2DViewRect:te,remove2DViewRect:ne}=fe(),N=A.useRef(null),o=H(null),F=U(te),y=U(ne),P=H(null),[re,M]=ue(!0),k=se(()=>V==null?void 0:V.filter(e=>e.imageName===(a==null?void 0:a.path)),[a==null?void 0:a.path,V]),C=G(a==null?void 0:a.path),B=ae(e=>T(void 0,null,function*(){try{const r=ee.current.slice(0),t=yield Promise.resolve(e());if(!t||t.length===0)return t;if(r.length){const n=new Set(r),l=t.filter(u=>n.has(u.id)).map(u=>u.id);j(l)}return t}catch(r){}}),[j]),z=e=>{const{boxID:r}=e;if(!d&&r){B(()=>{const t=F==null?void 0:F(e);return t?(P.current=t,O(t),t):null});return}X(e,!0)},J=e=>{C.current&&W(I(m({},e),{imageName:C.current}))},$=e=>{if(e.length===0)return;if(!d){const t=e.find(n=>n.boxID);if(t){B(()=>{const n=y==null?void 0:y(t);return n?(P.current=n,O(n),R(),n):null});return}}const r=e.find(t=>t.extId);r&&B(()=>{const{imageName:t,extId:n}=r,l=y==null?void 0:y({boxID:n,imageName:t});return l?(P.current=l,O(l),l):null}),Y(e)},oe=U(()=>{let e=[];return S.forEach(r=>{const{rects:t=[],id:n,attribute:l,trackID:u}=r,p=t.find(le=>le.imageName===C.current),D=n+"_"+C.current;p&&(e=[...e,I(m({},p),{boxID:n,id:D,attribute:l,order:u})])}),e}),R=he(()=>{var e,r,t;const n=d?[]:oe(),l=(e=o.current)==null?void 0:e.selectedRectID,u=w.slice(0),p=_e(u,n,k);(r=o.current)==null||r.setResult(p),l&&((t=o.current)==null||t.setSelectedRectID(l))}),q=({targetId:e})=>j(e);return f(()=>{if(N.current){const e=new ge({container:N.current,size:v,config:I(m({},_),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:x});return o.current=e,o.current.init(),o.current.on("updateDragResult",z),o.current.on("afterAddingDrawingRect",J),o.current.on("deleteSelectedRects",$),o.current.on("onRightClick",q),()=>{var r,t,n,l,u;(r=o.current)==null||r.unbind("updateDragResult",z),(t=o.current)==null||t.unbind("afterAddingDrawingRect",J),(n=o.current)==null||n.unbind("deleteSelectedRects",$),(l=o.current)==null||l.unbind("onRightClick",q),(u=o.current)==null||u.destroy()}}},[]),f(()=>{const e=t=>T(void 0,null,function*(){try{return yield Re.load(t)}catch(n){return console.error("Error loading image:",n),null}}),r=()=>T(void 0,null,function*(){var t;M(!0);let n=yield e(g);!n&&b&&(n=yield e(b)),n&&((t=o.current)==null||t.setImgNode(n),h(n)),M(!1)});o.current&&(g||b)&&r()},[g,b]),f(()=>{var e;(e=o.current)==null||e.setSize(v)},[v]),f(()=>{S!==P.current&&R()},[S]),f(()=>{var e,r;const t=k.find(n=>n.id===o.current.selectedRectID);(r=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||r.call(e,L),t&&Z(n=>{var l;const u=[];let p=null;return n.forEach(D=>{D.id!==o.current.selectedRectID?u.push(D):p=D}),t.extId===void 0&&(p=(l=o.current)==null?void 0:l.selectedRect),[...u,I(m({},p||{}),{attribute:L})]}),R()},[L]),f(()=>{R()},[k]),f(()=>{R()},[d]),f(()=>{var e,r,t,n;const l=(r=(e=o.current)==null?void 0:e.config)!=null?r:{},u=I(m({},l),{attributeList:(t=_.attributeList)!=null?t:[]});(n=o.current)==null||n.setConfig(JSON.stringify(u))},[_.attributeList]),f(()=>{var e;(e=o.current)==null||e.setEnableAddRect(w.length===0),R()},[w]),f(()=>{const{hiddenText:e}=E||{};if(e===void 0)return;const r=o.current;if(!r)return;const t=m(m({},r.style),E);r.setStyle(t)},[E]),A.createElement(ie,{spinning:re},A.createElement("div",{ref:N,style:m({position:"relative"},v)}))};var xe=de(me,null,null,{context:ve})(Ce);export{xe as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getClassName as F}from"../../utils/dom.js";import s,{useRef as j,useState as T,useContext as q,useMemo as w,useCallback as
|
|
1
|
+
import{getClassName as F}from"../../utils/dom.js";import s,{useRef as j,useState as T,useContext as q,useMemo as w,useCallback as G,useEffect as J}from"react";import K from"../AnnotationView/index.js";import M from"../../hooks/useSize.js";import{useSingleBox as Q}from"./hooks/useSingleBox.js";import{useHighlight as W}from"./hooks/useHighlight.js";import X from"./components/HighlightVisible/index.js";import{PointCloudContext as Y}from"./PointCloudContext.js";import Z from"./hooks/useDataLinkSwitch.js";import $ from"../pointCloud2DRectOperationView/index.js";var tt=(t,u,i)=>new Promise((a,r)=>{var f=o=>{try{l(i.next(o))}catch(e){r(e)}},d=o=>{try{l(i.throw(o))}catch(e){r(e)}},l=o=>o.done?a(o.value):Promise.resolve(o.value).then(f,d);l((i=i.apply(t,u)).next())});const ot=({view2dData:t,setSelectedID:u,currentData:i,showEnlarge:a,checkMode:r=!1,measureVisible:f})=>{var d,l;const o=j(null),e=j(),{selectedBox:m}=Q(),p=M(o),{url:k,fallbackUrl:b,calib:x,path:I}=t,{toggle2dVisible:_,isHighlightVisible:v}=W({currentData:i}),[z,C]=T(!1),{highlight2DLoading:B,setHighlight2DLoading:L,cuboidBoxIn2DView:h,cacheImageNodeSize:O,setSelectedIDs:R}=q(Y),H=!t,E=w(()=>({zIndex:a?-1:101,is2DView:!h,imageName:t.path}),[a,h,t.path]),{rendered:N,isLinking:U}=Z(E),S=n=>{g(),O({path:I,imgNode:n})},g=G(()=>{var n,y;const V=(n=e.current)==null?void 0:n.toolInstance;if(u(""),!m||!V)return;const c=t.annotations.find(D=>D.annotation.id===m.info.id);let P="";c&&((y=c==null?void 0:c.annotation.pointList)==null?void 0:y.length)>0&&(V.focusPositionByPointList(c==null?void 0:c.annotation.pointList),P=m.info.id,u(P))},[m,e.current,t.annotations]);J(()=>{g()},[g]);const A=()=>tt(void 0,null,function*(){C(!0),L(!0);try{yield _(k,b!=null?b:"",x)}catch(n){console.error("highlightOnClick error:",n)}finally{C(!1),L(!1)}});return s.createElement("div",{className:F("point-cloud-2d-image"),ref:o},h?s.createElement(K,{src:(d=t==null?void 0:t.url)!=null?d:"",fallbackSrc:(l=t==null?void 0:t.fallbackUrl)!=null?l:"",annotations:t.annotations,size:p,ref:e,globalStyle:{display:H?"none":"block"},afterImgOnLoad:S,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:f,onRightClick:({targetId:n})=>R(n)}):s.createElement(s.Fragment,null,s.createElement($,{shouldExcludePointCloudBoxListUpdate:!U,mappingData:t,size:p,checkMode:r,afterImgOnLoad:S}),!r&&N),x&&s.createElement(X,{visible:v(k),onClick:A,loading:z,disabled:B,style:{position:"absolute",right:16,top:16,zIndex:a?-1:101}}))};export{ot as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getClassName as m}from"../../utils/dom.js";import{cKeyCode as Z,PointCloud as
|
|
1
|
+
import{getClassName as m}from"../../utils/dom.js";import{cKeyCode as Z,PointCloud as q}from"@labelbee/lb-annotation";import{PointCloudUtils as b,toolStyleConverter as G,EPerspectiveView as E}from"@labelbee/lb-utils";import D from"classnames";import t,{useContext as T,useState as y,useRef as J,useEffect as u,useMemo as Q}from"react";import{PointCloudContainer as W}from"./PointCloudLayout.js";import{PointCloudContext as X}from"./PointCloudContext.js";import{a2MapStateToProps as Y}from"../../store/annotation/map.js";import{connect as $}from"react-redux";import{jsonParser as ee}from"../../utils/index.js";import{useSingleBox as te}from"./hooks/useSingleBox.js";import{useSphere as oe}from"./hooks/useSphere.js";import{Switch as ne,Tooltip as ie}from"antd";import re from"../../hooks/useSize.js";import{usePointCloudViews as le}from"./hooks/usePointCloudViews.js";import{useTranslation as z}from"react-i18next";import{LabelBeeContext as ae}from"../../store/ctx.js";import se from"./components/PointCloudSizeSlider/index.js";import ce from"./components/TitleButton/index.js";import{LeftOutlined as me}from"@ant-design/icons";var de=Object.defineProperty,ue=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,N=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable,k=(n,r,l)=>r in n?de(n,r,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[r]=l,R=(n,r)=>{for(var l in r||(r={}))ve.call(r,l)&&k(n,l,r[l]);if(N)for(var l of N(r))we.call(r,l)&&k(n,l,r[l]);return n},fe=(n,r)=>ue(n,pe(r));const Ce=Z.default,Ve="LABELBEE-POINTCLOUD",_=t.createContext({isActive:!1,setTarget3DView:()=>{},reset3DView:()=>{},followTopView:()=>{}}),p=({perspectiveView:n})=>{const{isActive:r,setTarget3DView:l}=T(_),v=o=>D({[m("point-cloud-3d-view",o)]:!0,active:r});return t.createElement("span",{onClick:()=>{l(E[n])},className:v(n.toLocaleLowerCase())})},F=({isEnlarge:n})=>{const{reset3DView:r,followTopView:l}=T(_),{t:v}=z(),o=t.createElement(t.Fragment,null,t.createElement(p,{perspectiveView:"Top"}),t.createElement(p,{perspectiveView:"Front"}),t.createElement(p,{perspectiveView:"Left"}),t.createElement(p,{perspectiveView:"Back"}),t.createElement(p,{perspectiveView:"Right"}),t.createElement(p,{perspectiveView:"LFT"}),t.createElement(p,{perspectiveView:"RBT"})),P=t.createElement(t.Fragment,null,t.createElement(ie,{title:v("CameraFollowTopView")},t.createElement("span",{onClick:()=>{l()},className:m("point-cloud-3d-view","followTop")})),t.createElement("span",{onClick:()=>{r()},className:m("point-cloud-3d-view","reset")}));return n?t.createElement("div",{className:m("point-cloud-3d-sidebarZoom")},P,o):t.createElement("div",{className:m("point-cloud-3d-sidebar")},o,P)},Pe=({currentData:n,config:r,highlightAttribute:l})=>{var v;const o=T(X),[P,A]=y(!0),[f,h]=y(!1),C=J(null),{initPointCloud3d:B}=le(),V=re(C),{t:I}=z();u(()=>{!o.mainViewInstance||B==null||B(V)},[V]);const{selectedBox:d}=te(),{selectedSphere:g}=oe(),[U,L]=y(!0),x=e=>{var i,a;const s=d==null?void 0:d.info;if(s){const c=R({},s.center);c.x=c.x-.01,c.z=1e3;const w=e===E.Top;(i=o.mainViewInstance)==null||i.updateCameraByBox(s,e,w?c:void 0)}g&&((a=o.mainViewInstance)==null||a.updateCameraBySphere(g,e))},H=()=>{var e;(e=o.mainViewInstance)==null||e.resetCamera()},K=()=>{var e,i;const a=(e=o.topViewInstance)==null?void 0:e.pointCloudInstance.camera;a&&((i=o.mainViewInstance)==null||i.applyCameraTarget(a))};u(()=>{if(C.current&&(n==null?void 0:n.url)){let e=o.mainViewInstance;!e&&V.width&&(e=new q({container:C.current,isOrthographicCamera:!0,orthographicParams:b.getDefaultOrthographicParams(V),config:r}),e.setHandlerPipe({setSelectedIDs:o.setSelectedIDs,setNeedUpdateCenter:L}),o.setMainViewInstance(e))}},[V,n]),u(()=>{var e;if(C.current&&(n==null?void 0:n.url)&&n.result&&o.mainViewInstance){let i=o.mainViewInstance;const a=b.getBoxParamsFromResultList(n.result);a.forEach(c=>{var w;const S=(w=G.getColorFromConfig({attribute:c.attribute},fe(R({},r),{attributeConfigurable:!0}),{}))==null?void 0:w.hex;i==null||i.addBoxToSense(c,S)}),i.render(),o.setPointCloudResult(a);const s=b.getRectParamsFromResultList(n.result);o.setRectList(s),o.setPointCloudValid((e=ee(n.result))==null?void 0:e.valid)}},[n,o.mainViewInstance]),u(()=>{var e,i,a,s,c;const w=(e=d==null?void 0:d.info)==null?void 0:e.id;if(!U){L(!0);return}if(w!==void 0){x(E.Top);const S=(s=(a=(i=o.topViewInstance)==null?void 0:i.pointCloudInstance)==null?void 0:a.camera.zoom)!=null?s:1;(c=o.mainViewInstance)==null||c.updateCameraZoom(S)}},[(v=d==null?void 0:d.info)==null?void 0:v.id]),u(()=>{var e,i,a,s;if(g){x(E.Top);const c=(a=(i=(e=o.topViewInstance)==null?void 0:e.pointCloudInstance)==null?void 0:i.camera.zoom)!=null?a:1;(s=o.mainViewInstance)==null||s.updateCameraZoom(c)}},[g]),u(()=>(window.addEventListener("keydown",j),()=>{window.removeEventListener("keydown",j)}),[]);const j=e=>{if(e.keyCode===Ce.Esc){h(!1);return}},O=Q(()=>({reset3DView:H,setTarget3DView:x,isActive:!!d,followTopView:K}),[d,o.mainViewInstance]);u(()=>{var e,i,a;const s=o.pointCloudBoxList.filter(c=>c.attribute===l);(s==null?void 0:s.length)>0&&((e=o.mainViewInstance)==null||e.clearHighlightBoxes(),(i=o.mainViewInstance)==null||i.highlightBoxes(s)),s.length===0&&((a=o.mainViewInstance)==null||a.clearHighlightBoxesAndRender())},[l,o.mainViewInstance]);const M=t.createElement(t.Fragment,null,t.createElement(se,{onChange:e=>{var i;(i=o.mainViewInstance)==null||i.updatePointSize({customSize:e})}}),t.createElement("span",{style:{marginRight:8}},I("ShowArrows")),t.createElement(ne,{size:"small",checked:P,onChange:e=>{var i;A(e),(i=o.mainViewInstance)==null||i.setShowDirection(e)}}),f&&t.createElement(_.Provider,{value:O},t.createElement(F,{isEnlarge:f})));return t.createElement(W,{className:D({[m("point-cloud-3d-container")]:!0,[m("point-cloud-container","zoom")]:f}),title:f?t.createElement("div",{style:{display:"flex",alignItems:"center"}},t.createElement(me,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{h(!1)}}),I("3DView")):t.createElement(ce,{title:I("3DView"),onClick:()=>{h(!0)}}),toolbar:M},t.createElement("div",{className:m("point-cloud-3d-content")},!f&&t.createElement(_.Provider,{value:O},t.createElement(F,null)),t.createElement("div",{className:m("point-cloud-3d-view"),id:Ve,ref:C})))};var ge=$(Y,null,null,{context:ae})(Pe);export{ge as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@labelbee/lb-components",
|
|
3
|
-
"version": "1.23.0-alpha.
|
|
3
|
+
"version": "1.23.0-alpha.113",
|
|
4
4
|
"description": "Provide a complete library of annotation components",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"es": "./es/index.js",
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@ant-design/icons": "^4.6.2",
|
|
46
|
-
"@labelbee/lb-annotation": "1.27.0-alpha.
|
|
46
|
+
"@labelbee/lb-annotation": "1.27.0-alpha.54",
|
|
47
47
|
"@labelbee/lb-utils": "1.19.0-alpha.22",
|
|
48
48
|
"@labelbee/wavesurfer": "1.1.0-alpha.1",
|
|
49
49
|
"@types/react-dom": "^18.2.7",
|