@labelbee/lb-components 1.23.0-alpha.43 → 1.23.0-alpha.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/AnnotationView/index.js +1 -1
- package/dist/components/pointCloudView/PointCloud2DSingleView.js +1 -1
- package/dist/components/pointCloudView/PointCloud2DView.js +1 -1
- package/dist/types/components/AnnotationView/index.d.ts +1 -0
- package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +1 -0
- package/es/components/AnnotationView/index.js +1 -1
- package/es/components/pointCloudView/PointCloud2DSingleView.js +1 -1
- package/es/components/pointCloudView/PointCloud2DView.js +1 -1
- package/package.json +1 -1
|
@@ -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,
|
|
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,a)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,__spreadValues=(e,n)=>{for(var a in n||(n={}))__hasOwnProp.call(n,a)&&__defNormalProp(e,a,n[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(n))__propIsEnum.call(n,a)&&__defNormalProp(e,a,n[a]);return e},__async=(e,n,a)=>new Promise((m,d)=>{var c=l=>{try{f(a.next(l))}catch(v){d(v)}},s=l=>{try{f(a.throw(l))}catch(v){d(v)}},f=l=>l.done?m(l.value):Promise.resolve(l.value).then(c,s);f((a=a.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 a,m;const{src:d,fallbackSrc:c,annotations:s=[],style:f={stroke:"blue",thickness:3},zoomChange:l,backgroundStyle:v={},onChange:b,showLoading:P=!1,globalStyle:S,afterImgOnLoad:C,measureVisible:p}=e,g=sizeInitialized(e.size),[A,E]=React.useState(!1),w=React.useRef(null),r=React.useRef(),R=useRefCache(C),h=React.useRef([]),_=React.useRef(!0);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:g,style:f,annotations:s,config:"{}",zoomInfo:e.zoomInfo,staticMode:e.staticMode}),r.current.init()),()=>{var t;(t=r.current)==null||t.destroy()}),[p]);const I=React.useCallback(t=>__async(void 0,null,function*(){var u,o;try{const i=yield lbAnnotation.ImgUtils.load(t);return(u=r.current)==null||u.setImgNode(i),(o=R.current)==null||o.call(R,i),null}catch(i){return console.error("Error loading image:",i),i}}),[]),z=React.useCallback(t=>__async(void 0,null,function*(){var u,o;if(E(!0),(u=r.current)==null||u.setLoading(!0),(yield I(t))&&c){const y=yield I(c);y&&console.error("Error loading fallback image:",y)}(o=r.current)==null||o.setLoading(!1),E(!1)}),[I,c]);React.useEffect(()=>{r.current&&z(d)},[d,p,c,z]),React.useEffect(()=>{if(_.current===!1){h.current.push(s);return}const t=()=>{_.current=!0,h.current=[]},u=()=>{var o;const i=h.current.length;if(i>0){const y=h.current[i-1];h.current=[],(o=r.current)==null||o.updateData(y).then(u).catch(t)}else _.current=!0};r.current&&(_.current=!1,r.current.updateData(s).then(u).catch(t))},[s]),React.useEffect(()=>{const t=r.current;(t==null?void 0:t.setSize)&&(t.setSize(g),t.initPosition())},[(a=e.size)==null?void 0:a.width,(m=e.size)==null?void 0:m.height]),React.useEffect(()=>{var t,u;return r.current&&((t=r.current)==null||t.on("onChange",(...o)=>{b==null||b.apply(null,o)}),(u=r.current)==null||u.on("renderZoom",o=>{l&&l(o)})),()=>{var o,i;(o=r.current)==null||o.unbindAll("onChange"),(i=r.current)==null||i.unbindAll("renderZoom")}},[l,b]);const L=React__default.default.createElement("div",{ref:w,style:__spreadValues(__spreadValues({position:"relative"},g),v)}),{imgNode:O,zoom:k,currentPos:j}=r.current||{};return React__default.default.createElement(es.Spin,{spinning:P||A,delay:300,style:S},p&&O?React__default.default.createElement(index,{size:g,imgNode:O,zoom:k,currentPos:j}):L)};var AnnotationView$1=React__default.default.forwardRef(AnnotationView);module.exports=AnnotationView$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,a,i)=>new Promise((
|
|
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,a,i)=>new Promise((l,u)=>{var f=t=>{try{o(i.next(t))}catch(n){u(n)}},r=t=>{try{o(i.throw(t))}catch(n){u(n)}},o=t=>t.done?l(t.value):Promise.resolve(t.value).then(f,r);o((i=i.apply(e,a)).next())});const PointCloud2DSingleView=({view2dData:e,setSelectedID:a,currentData:i,showEnlarge:l,checkMode:u=!1,measureVisible:f})=>{var r,o;const t=React.useRef(null),n=React.useRef(),{selectedBox:c}=useSingleBox.useSingleBox(),m=useSize(t),{url:p,calib:x,path:S}=e,{toggle2dVisible:y,isHighlightVisible:j}=useHighlight.useHighlight({currentData:i}),[q,v]=React.useState(!1),{cuboidBoxIn2DView:h,cacheImageNodeSize:P}=React.useContext(PointCloudContext.PointCloudContext),_=!e,B=React.useMemo(()=>({zIndex:l?-1:101,is2DView:!h,imageName:e.path}),[l,h,e.path]),{rendered:V,isLinking:z}=useDataLinkSwitch(B),k=d=>{g(),P({path:S,imgNode:d})},g=React.useCallback(()=>{var d,b;const C=(d=n.current)==null?void 0:d.toolInstance;if(a(""),!c||!C)return;const s=e.annotations.find(R=>R.annotation.id===c.info.id);let L="";s&&((b=s==null?void 0:s.annotation.pointList)==null?void 0:b.length)>0&&(C.focusPositionByPointList(s==null?void 0:s.annotation.pointList),L=c.info.id,a(L))},[c,n.current,e.annotations]);React.useEffect(()=>{g()},[g]);const I=()=>__async(void 0,null,function*(){v(!0),yield y(p,x),v(!1)});return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-2d-image"),ref:t},h?React__default.default.createElement(index,{src:(r=e==null?void 0:e.url)!=null?r:"",fallbackSrc:(o=e==null?void 0:e.fallbackUrl)!=null?o:"",annotations:e.annotations,size:m,ref:n,globalStyle:{display:_?"none":"block"},afterImgOnLoad:k,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:f}):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(index$1,{shouldExcludePointCloudBoxListUpdate:!z,mappingData:e,size:m,checkMode:u,afterImgOnLoad:k}),V),x&&React__default.default.createElement(index$2,{visible:j(p),onClick:I,loading:q,style:{position:"absolute",right:16,top:16,zIndex:l?-1:101}}))};module.exports=PointCloud2DSingleView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),lbUtils=require("@labelbee/lb-utils"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index$1=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js"),_=require("lodash"),index=require("../../utils/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,l,n)=>l in e?__defProp(e,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[l]=n,__spreadValues=(e,l)=>{for(var n in l||(l={}))__hasOwnProp.call(l,n)&&__defNormalProp(e,n,l[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(l))__propIsEnum.call(l,n)&&__defNormalProp(e,n,l[n]);return e},__spreadProps=(e,l)=>__defProps(e,__getOwnPropDescs(l));const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:l,data:n,setIsEnlarge:m,setCurIndex:f,curIndex:p=0,index:w,annotations2d:b})=>l?React__default.default.createElement(index$1,{title:n==null?void 0:n.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{m(!1),f(void 0)}}),React__default.default.createElement("span",null,n==null?void 0:n.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},p+1,"/",b==null?void 0:b.length)):React__default.default.createElement(index$1,{title:n==null?void 0:n.calName,onClick:()=>{m(!0),f(w)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:l,thumbnailWidth:n,isEnlargeTopView:m,highlightAttribute:f,loadPCDFileLoading:p,checkMode:w,measureVisible:b})=>{var I;const[d,M]=React.useState([]),{topViewInstance:
|
|
1
|
+
"use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),lbUtils=require("@labelbee/lb-utils"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index$1=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js"),_=require("lodash"),index=require("../../utils/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,l,n)=>l in e?__defProp(e,l,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[l]=n,__spreadValues=(e,l)=>{for(var n in l||(l={}))__hasOwnProp.call(l,n)&&__defNormalProp(e,n,l[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(l))__propIsEnum.call(l,n)&&__defNormalProp(e,n,l[n]);return e},__spreadProps=(e,l)=>__defProps(e,__getOwnPropDescs(l));const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:l,data:n,setIsEnlarge:m,setCurIndex:f,curIndex:p=0,index:w,annotations2d:b})=>l?React__default.default.createElement(index$1,{title:n==null?void 0:n.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{m(!1),f(void 0)}}),React__default.default.createElement("span",null,n==null?void 0:n.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},p+1,"/",b==null?void 0:b.length)):React__default.default.createElement(index$1,{title:n==null?void 0:n.calName,onClick:()=>{m(!0),f(w)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:l,thumbnailWidth:n,isEnlargeTopView:m,highlightAttribute:f,loadPCDFileLoading:p,checkMode:w,measureVisible:b})=>{var I;const[d,M]=React.useState([]),{topViewInstance:B,displayPointCloudList:k,polygonList:F,imageSizes:x,selectedIDs:O}=React.useContext(PointCloudContext.PointCloudContext),[P,G]=React.useState(""),[y,L]=React.useState(!1),[s,E]=React.useState(void 0);React.useEffect(()=>{var o;if(!p&&B&&(e==null?void 0:e.mappingImgList)&&((o=e==null?void 0:e.mappingImgList)==null?void 0:o.length)>0){const r={fill:"transparent",color:"green"};let i=[];e==null||e.mappingImgList.forEach(t=>{var v,R,V,A;const z=k.reduce((a,c)=>{var g,u;const h=c.id===P||f===c.attribute,{transferViewData:q,viewRangePointList:C}=(g=lbAnnotation.pointCloudLidar2image(c,t.calib,{createRange:h}))!=null?g:{};if(!q||!C)return[];const X=q.reduce((H,$)=>$.type==="line"?[...H,...$.pointList]:H,[]),Y=__spreadProps(__spreadValues({},index.getBoundingRect(X)),{imageName:t.path});if(!index.isBoundingRectInImage(Y,t.path,x))return a;const K=(u=lbUtils.toolStyleConverter.getColorFromConfig({attribute:c.attribute},__spreadProps(__spreadValues({},l),{attributeConfigurable:!0}),{}))==null?void 0:u.stroke,Z=J({viewDataPointList:q,pointCloudBox:c,defaultViewStyle:r,stroke:K}),U=[...a,...Z];return(C==null?void 0:C.length)>0&&U.unshift({type:"polygon",annotation:__spreadProps(__spreadValues({id:P,pointList:C},r),{stroke:K,fill:"rgba(255, 255, 255, 0.6)"})}),U},[]),T=x[(v=t==null?void 0:t.path)!=null?v:""];T&&_.isNumber((R=t==null?void 0:t.calib)==null?void 0:R.groundHeight)&&F.forEach(a=>{const c=a.pointList.map(u=>{var h;return __spreadProps(__spreadValues({},u),{z:(h=t==null?void 0:t.calib)==null?void 0:h.groundHeight})}),g=lbAnnotation.pointListLidar2Img(c,t==null?void 0:t.calib,T);if(g){const u=lbUtils.toolStyleConverter.getColorFromConfig({attribute:a.attribute},__spreadProps(__spreadValues({},l),{attributeConfigurable:!0}),{});z.push({type:"polygon",annotation:__spreadProps(__spreadValues({id:a.id,pointList:g},r),{stroke:u==null?void 0:u.stroke,fill:O.includes(a.id)?u==null?void 0:u.fill:"rgba(255, 255, 255, 0.6)"})})}}),i.push({annotations:z,url:t==null?void 0:t.url,fallbackUrl:(V=t==null?void 0:t.fallbackUrl)!=null?V:"",calName:(A=t==null?void 0:t.calib)==null?void 0:A.calName,calib:t==null?void 0:t.calib,path:t==null?void 0:t.path})}),M(i)}},[k,e==null?void 0:e.mappingImgList,P,f,p,F,x,O]),React.useEffect(()=>(window.addEventListener("keydown",S),()=>{window.removeEventListener("keydown",S)}),[s]);const S=o=>{const{keyCode:r}=o;switch(r){case EKeyCode.Esc:y&&L(!1);break;case EKeyCode.Left:j();break;case EKeyCode.Right:N();break}},j=()=>{s===void 0||!y||Number(s)>0&&E(s-1)},N=()=>{s===void 0||!y||Number(s)<(d==null?void 0:d.length)-1&&E(s+1)},J=({viewDataPointList:o,pointCloudBox:r,defaultViewStyle:i,stroke:t})=>o?o.map(v=>({type:v.type,annotation:__spreadProps(__spreadValues({id:r.id,pointList:v.pointList},i),{stroke:t})})):[],Q=!e||!(e==null?void 0:e.mappingImgList)||!(((I=e==null?void 0:e.mappingImgList)==null?void 0:I.length)>0),W=React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},React__default.default.createElement("img",{src:icon_left_squareOutlined,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>j()}),React__default.default.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("img",{src:icon_right_squareOutlined,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>N()}),React__default.default.createElement("img",{src:icon_esc,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{L(!1),E(void 0)}}),React__default.default.createElement("span",null,"\u952E\u9000\u51FA"));return(d==null?void 0:d.length)>0?React__default.default.createElement(React__default.default.Fragment,null,d.map((o,r)=>{const i=y&&r===s;return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-2d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:i}),title:React__default.default.createElement(ContainerTitle,{showEnlarge:i,isEnlargeTopView:m,data:o,setIsEnlarge:L,setCurIndex:E,curIndex:s,index:r,annotations2d:d}),titleOnSurface:!i,style:{display:Q?"none":"flex",width:i?"100%":n},key:r,toolbar:W},(o==null?void 0:o.annotations)&&(o==null?void 0:o.url)&&React__default.default.createElement(PointCloud2DSingleView,{key:o.url,currentData:e,view2dData:o,setSelectedID:G,showEnlarge:i,checkMode:w,measureVisible:b}))})):null};var PointCloud2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DView);module.exports=PointCloud2DView$1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import w,{useState as T,useRef as b,useImperativeHandle as $,useEffect as v,useCallback as k}from"react";import{ViewOperation as q,ImgUtils as B}from"@labelbee/lb-annotation";import{Spin as G}from"antd/es";import J from"../../hooks/useRefCache.js";import K from"../measureCanvas/index.js";var Q=Object.defineProperty,V=Object.getOwnPropertySymbols,W=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,j=(t,n,o)=>n in t?Q(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,S=(t,n)=>{for(var o in n||(n={}))W.call(n,o)&&j(t,o,n[o]);if(V)for(var o of V(n))X.call(n,o)&&j(t,o,n[o]);return t},D=(t,n,o)=>new Promise((g,d)=>{var c=l=>{try{f(o.next(l))}catch(m){d(m)}},s=l=>{try{f(o.throw(l))}catch(m){d(m)}},f=l=>l.done?g(l.value):Promise.resolve(l.value).then(c,s);f((o=o.apply(t,n)).next())});const C={width:455,height:100},Y=t=>{if(!t)return C;if(t.width&&t.height)return t;const n=S({},t);return n.width||(n.width=C.width),n.height||(n.height=C.height),n},ee=(t,n)=>{var o,g;const{src:d,fallbackSrc:c,annotations:s=[],style:f={stroke:"blue",thickness:3},zoomChange:l,backgroundStyle:m={},onChange:I,showLoading:N=!1,globalStyle:M,afterImgOnLoad:U,measureVisible:z}=t,_=Y(t.size),[Z,E]=T(!1),O=b(null),r=b(),R=J(U),h=b([]),p=b(!0);$(n,()=>{const e=r.current;return e?{zoomIn:()=>e.zoomChanged(!0),zoomOut:()=>e.zoomChanged(!1),initImgPos:()=>e.initImgPos(),toolInstance:e}:{}},[r.current]),v(()=>(O.current&&(r.current=new q({container:O.current,size:_,style:f,annotations:s,config:"{}",zoomInfo:t.zoomInfo,staticMode:t.staticMode}),r.current.init()),()=>{var e;(e=r.current)==null||e.destroy()}),[z]);const P=k(e=>D(void 0,null,function*(){var u,a;try{const i=yield B.load(e);return(u=r.current)==null||u.setImgNode(i),(a=R.current)==null||a.call(R,i),null}catch(i){return console.error("Error loading image:",i),i}}),[]),A=k(e=>D(void 0,null,function*(){var u,a;if(E(!0),(u=r.current)==null||u.setLoading(!0),(yield P(e))&&c){const y=yield P(c);y&&console.error("Error loading fallback image:",y)}(a=r.current)==null||a.setLoading(!1),E(!1)}),[P,c]);v(()=>{r.current&&A(d)},[d,z,c,A]),v(()=>{if(p.current===!1){h.current.push(s);return}const e=()=>{p.current=!0,h.current=[]},u=()=>{var a;const i=h.current.length;if(i>0){const y=h.current[i-1];h.current=[],(a=r.current)==null||a.updateData(y).then(u).catch(e)}else p.current=!0};r.current&&(p.current=!1,r.current.updateData(s).then(u).catch(e))},[s]),v(()=>{const e=r.current;(e==null?void 0:e.setSize)&&(e.setSize(_),e.initPosition())},[(o=t.size)==null?void 0:o.width,(g=t.size)==null?void 0:g.height]),v(()=>{var e,u;return r.current&&((e=r.current)==null||e.on("onChange",(...a)=>{I==null||I.apply(null,a)}),(u=r.current)==null||u.on("renderZoom",a=>{l&&l(a)})),()=>{var a,i;(a=r.current)==null||a.unbindAll("onChange"),(i=r.current)==null||i.unbindAll("renderZoom")}},[l,I]);const x=w.createElement("div",{ref:O,style:S(S({position:"relative"},_),m)}),{imgNode:L,zoom:F,currentPos:H}=r.current||{};return w.createElement(G,{spinning:N||Z,delay:300,style:M},z&&L?w.createElement(K,{size:_,imgNode:L,zoom:F,currentPos:H}):x)};var te=w.forwardRef(ee);export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getClassName as
|
|
1
|
+
import{getClassName as N}from"../../utils/dom.js";import l,{useRef as P,useState as A,useContext as U,useMemo as F,useCallback as M,useEffect as T}from"react";import q from"../AnnotationView/index.js";import w from"../../hooks/useSize.js";import{useSingleBox as G}from"./hooks/useSingleBox.js";import{useHighlight as J}from"./hooks/useHighlight.js";import K from"./components/HighlightVisible/index.js";import{PointCloudContext as Q}from"./PointCloudContext.js";import W from"./hooks/useDataLinkSwitch.js";import X from"../pointCloud2DRectOperationView/index.js";var Y=(o,r,e)=>new Promise((s,c)=>{var f=t=>{try{i(e.next(t))}catch(n){c(n)}},u=t=>{try{i(e.throw(t))}catch(n){c(n)}},i=t=>t.done?s(t.value):Promise.resolve(t.value).then(f,u);i((e=e.apply(o,r)).next())});const Z=({view2dData:o,setSelectedID:r,currentData:e,showEnlarge:s,checkMode:c=!1,measureVisible:f})=>{var u,i;const t=P(null),n=P(),{selectedBox:d}=G(),g=w(t),{url:x,calib:k,path:j}=o,{toggle2dVisible:y,isHighlightVisible:_}=J({currentData:e}),[v,b]=A(!1),{cuboidBoxIn2DView:p,cacheImageNodeSize:z}=U(Q),B=!o,I=F(()=>({zIndex:s?-1:101,is2DView:!p,imageName:o.path}),[s,p,o.path]),{rendered:O,isLinking:R}=W(I),C=m=>{h(),z({path:j,imgNode:m})},h=M(()=>{var m,L;const S=(m=n.current)==null?void 0:m.toolInstance;if(r(""),!d||!S)return;const a=o.annotations.find(H=>H.annotation.id===d.info.id);let V="";a&&((L=a==null?void 0:a.annotation.pointList)==null?void 0:L.length)>0&&(S.focusPositionByPointList(a==null?void 0:a.annotation.pointList),V=d.info.id,r(V))},[d,n.current,o.annotations]);T(()=>{h()},[h]);const E=()=>Y(void 0,null,function*(){b(!0),yield y(x,k),b(!1)});return l.createElement("div",{className:N("point-cloud-2d-image"),ref:t},p?l.createElement(q,{src:(u=o==null?void 0:o.url)!=null?u:"",fallbackSrc:(i=o==null?void 0:o.fallbackUrl)!=null?i:"",annotations:o.annotations,size:g,ref:n,globalStyle:{display:B?"none":"block"},afterImgOnLoad:C,zoomInfo:{min:.01,max:1e3,ratio:.4},measureVisible:f}):l.createElement(l.Fragment,null,l.createElement(X,{shouldExcludePointCloudBoxListUpdate:!R,mappingData:o,size:g,checkMode:c,afterImgOnLoad:C}),O),k&&l.createElement(K,{visible:_(x),onClick:E,loading:v,style:{position:"absolute",right:16,top:16,zIndex:s?-1:101}}))};export{Z as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getClassName as Q}from"../../utils/dom.js";import i,{useState as L,useContext as
|
|
1
|
+
import{getClassName as Q}from"../../utils/dom.js";import i,{useState as L,useContext as ae,useEffect as W}from"react";import{PointCloudContainer as ce}from"./PointCloudLayout.js";import{PointCloudContext as de}from"./PointCloudContext.js";import{connect as me}from"react-redux";import{cKeyCode as fe,pointCloudLidar2image as pe,pointListLidar2Img as ge}from"@labelbee/lb-annotation";import{LabelBeeContext as ve}from"../../store/ctx.js";import{a2MapStateToProps as be}from"../../store/annotation/map.js";import{toolStyleConverter as X}from"@labelbee/lb-utils";import ye from"./PointCloud2DSingleView.js";import Y from"./components/TitleButton/index.js";import{LeftOutlined as Ee}from"@ant-design/icons";import he from"classnames";import _e from"../../assets/annotation/common/icon_esc.svg.js";import we from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import Ce from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";import{isNumber as Pe}from"lodash";import{getBoundingRect as Le,isBoundingRectInImage as xe}from"../../utils/index.js";var Ie=Object.defineProperty,ke=Object.defineProperties,Fe=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,Oe=Object.prototype.hasOwnProperty,je=Object.prototype.propertyIsEnumerable,D=(e,n,o)=>n in e?Ie(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,m=(e,n)=>{for(var o in n||(n={}))Oe.call(n,o)&&D(e,o,n[o]);if(Z)for(var o of Z(n))je.call(n,o)&&D(e,o,n[o]);return e},f=(e,n)=>ke(e,Fe(n));const j=fe.default,Ne=({showEnlarge:e,isEnlargeTopView:n,data:o,setIsEnlarge:y,setCurIndex:g,curIndex:E=0,index:x,annotations2d:h})=>n?i.createElement(Y,{title:o==null?void 0:o.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?i.createElement("div",{style:{display:"flex",alignItems:"center"}},i.createElement(Ee,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{y(!1),g(void 0)}}),i.createElement("span",null,o==null?void 0:o.calName),i.createElement("span",{style:{marginLeft:"8px"}},E+1,"/",h==null?void 0:h.length)):i.createElement(Y,{title:o==null?void 0:o.calName,onClick:()=>{y(!0),g(x)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),Re=({currentData:e,config:n,thumbnailWidth:o,isEnlargeTopView:y,highlightAttribute:g,loadPCDFileLoading:E,checkMode:x,measureVisible:h})=>{var N;const[p,ee]=L([]),{topViewInstance:te,displayPointCloudList:R,polygonList:S,imageSizes:I,selectedIDs:V}=ae(de),[k,oe]=L(""),[_,F]=L(!1),[u,w]=L(void 0);W(()=>{var l;if(!E&&te&&(e==null?void 0:e.mappingImgList)&&((l=e==null?void 0:e.mappingImgList)==null?void 0:l.length)>0){const r={fill:"transparent",color:"green"};let s=[];e==null||e.mappingImgList.forEach(t=>{var v,K,$,q;const H=R.reduce((c,d)=>{var b,a;const C=d.id===k||g===d.attribute,{transferViewData:O,viewRangePointList:P}=(b=pe(d,t.calib,{createRange:C}))!=null?b:{};if(!O||!P)return[];const re=O.reduce((G,J)=>J.type==="line"?[...G,...J.pointList]:G,[]),se=f(m({},Le(re)),{imageName:t.path});if(!xe(se,t.path,I))return c;const B=(a=X.getColorFromConfig({attribute:d.attribute},f(m({},n),{attributeConfigurable:!0}),{}))==null?void 0:a.stroke,ue=ne({viewDataPointList:O,pointCloudBox:d,defaultViewStyle:r,stroke:B}),M=[...c,...ue];return(P==null?void 0:P.length)>0&&M.unshift({type:"polygon",annotation:f(m({id:k,pointList:P},r),{stroke:B,fill:"rgba(255, 255, 255, 0.6)"})}),M},[]),U=I[(v=t==null?void 0:t.path)!=null?v:""];U&&Pe((K=t==null?void 0:t.calib)==null?void 0:K.groundHeight)&&S.forEach(c=>{const d=c.pointList.map(a=>{var C;return f(m({},a),{z:(C=t==null?void 0:t.calib)==null?void 0:C.groundHeight})}),b=ge(d,t==null?void 0:t.calib,U);if(b){const a=X.getColorFromConfig({attribute:c.attribute},f(m({},n),{attributeConfigurable:!0}),{});H.push({type:"polygon",annotation:f(m({id:c.id,pointList:b},r),{stroke:a==null?void 0:a.stroke,fill:V.includes(c.id)?a==null?void 0:a.fill:"rgba(255, 255, 255, 0.6)"})})}}),s.push({annotations:H,url:t==null?void 0:t.url,fallbackUrl:($=t==null?void 0:t.fallbackUrl)!=null?$:"",calName:(q=t==null?void 0:t.calib)==null?void 0:q.calName,calib:t==null?void 0:t.calib,path:t==null?void 0:t.path})}),ee(s)}},[R,e==null?void 0:e.mappingImgList,k,g,E,S,I,V]),W(()=>(window.addEventListener("keydown",A),()=>{window.removeEventListener("keydown",A)}),[u]);const A=l=>{const{keyCode:r}=l;switch(r){case j.Esc:_&&F(!1);break;case j.Left:z();break;case j.Right:T();break}},z=()=>{u===void 0||!_||Number(u)>0&&w(u-1)},T=()=>{u===void 0||!_||Number(u)<(p==null?void 0:p.length)-1&&w(u+1)},ne=({viewDataPointList:l,pointCloudBox:r,defaultViewStyle:s,stroke:t})=>l?l.map(v=>({type:v.type,annotation:f(m({id:r.id,pointList:v.pointList},s),{stroke:t})})):[],ie=!e||!(e==null?void 0:e.mappingImgList)||!(((N=e==null?void 0:e.mappingImgList)==null?void 0:N.length)>0),le=i.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},i.createElement("img",{src:we,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>z()}),i.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),i.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),i.createElement("img",{src:Ce,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>T()}),i.createElement("img",{src:_e,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{F(!1),w(void 0)}}),i.createElement("span",null,"\u952E\u9000\u51FA"));return(p==null?void 0:p.length)>0?i.createElement(i.Fragment,null,p.map((l,r)=>{const s=_&&r===u;return i.createElement(ce,{className:he({[Q("point-cloud-2d-container")]:!0,[Q("point-cloud-container","zoom")]:s}),title:i.createElement(Ne,{showEnlarge:s,isEnlargeTopView:y,data:l,setIsEnlarge:F,setCurIndex:w,curIndex:u,index:r,annotations2d:p}),titleOnSurface:!s,style:{display:ie?"none":"flex",width:s?"100%":o},key:r,toolbar:le},(l==null?void 0:l.annotations)&&(l==null?void 0:l.url)&&i.createElement(ye,{key:l.url,currentData:e,view2dData:l,setSelectedID:oe,showEnlarge:s,checkMode:x,measureVisible:h}))})):null};var Se=me(be,null,null,{context:ve})(Re);export{Se as default};
|