@labelbee/lb-annotation 1.16.0-alpha.5 → 1.16.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var THREE=require("three"),lbUtils=require("@labelbee/lb-utils"),highlightWorker$1=require("../../_virtual/highlightWorker.js"),filterBoxWorker=require("../../_virtual/filterBoxWorker.js"),polygonTool=require("../../utils/tool/polygonTool.js"),uuid=require("../../utils/uuid.js"),MathUtils=require("../../utils/MathUtils.js"),PCDLoader=require("./PCDLoader.js"),OrbitControls=require("./OrbitControls.js"),cache=require("./cache.js"),matrix=require("./matrix.js"),segmentation=require("./segmentation.js"),index=require("./store/index.js"),index$1=require("./render/index.js"),eventListener=require("../toolOperation/eventListener.js");require("../../constant/tool.js"),require("../scheduler.js");function _interopNamespace(g){if(g&&g.__esModule)return g;var t=Object.create(null);return g&&Object.keys(g).forEach(function(e){if(e!=="default"){var i=Object.getOwnPropertyDescriptor(g,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:function(){return g[e]}})}}),t.default=g,Object.freeze(t)}var THREE__namespace=_interopNamespace(THREE),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(g,t,e)=>t in g?__defProp(g,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):g[t]=e,__spreadValues=(g,t)=>{for(var e in t||(t={}))__hasOwnProp.call(t,e)&&__defNormalProp(g,e,t[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(t))__propIsEnum.call(t,e)&&__defNormalProp(g,e,t[e]);return g},__spreadProps=(g,t)=>__defProps(g,__getOwnPropDescs(t)),__async=(g,t,e)=>new Promise((i,r)=>{var s=h=>{try{n(e.next(h))}catch(o){r(o)}},a=h=>{try{n(e.throw(h))}catch(o){r(o)}},n=h=>h.done?i(h.value):Promise.resolve(h.value).then(s,a);n((e=e.apply(g,t)).next())});const DEFAULT_DISTANCE=30,highlightWorker=new highlightWorker$1({type:"module"});class PointCloud extends eventListener{constructor({container:t,noAppend:e,isOrthographicCamera:i,orthographicParams:r,backgroundColor:s="#4C4C4C",config:a,isSegment:n,checkMode:h}){super();this.zAxisLimit=10,this.initCameraPosition=this.DEFAULT_INIT_CAMERA_POSITION,this.isOrthographicCamera=!1,this.pointsUuid="",this.pointCloudObjectName="pointCloud",this.rangeObjectName="range",this.showDirection=!0,this.pointsMaterialSize=1,this.isSegment=!1,this.checkMode=!1,this.nextTick=()=>{!this.segmentOperation||this.segmentOperation._raycasting()},this.keydown=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!0,this.store.setForbidOperation(!0);break}},this.keyup=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!1,this.store.setForbidOperation(!1);break}},this.addSphereToSense=(o,c="blue")=>{var l;const d=(l=o.id)!=null?l:uuid();this.removeObjectByName(d,"sphere");const{radius:u,widthSegments:m,heightSegments:p}=lbUtils.DEFAULT_SPHERE_PARAMS,{center:f}=o,y=new THREE__namespace.Group,x=new THREE__namespace.SphereGeometry(u,m,p),C=new THREE__namespace.MeshBasicMaterial({color:c}),w=new THREE__namespace.Mesh(x,C);w.position.set(f.x,f.y,f.z),y.add(w),y.name=`sphere
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var THREE=require("three"),lbUtils=require("@labelbee/lb-utils"),highlightWorker$1=require("../../_virtual/highlightWorker.js"),filterBoxWorker=require("../../_virtual/filterBoxWorker.js"),polygonTool=require("../../utils/tool/polygonTool.js"),uuid=require("../../utils/uuid.js"),MathUtils=require("../../utils/MathUtils.js"),PCDLoader=require("./PCDLoader.js"),OrbitControls=require("./OrbitControls.js"),cache=require("./cache.js"),matrix=require("./matrix.js"),segmentation=require("./segmentation.js"),index=require("./store/index.js"),index$1=require("./render/index.js"),eventListener=require("../toolOperation/eventListener.js");require("../../constant/tool.js"),require("../scheduler.js");function _interopNamespace(g){if(g&&g.__esModule)return g;var t=Object.create(null);return g&&Object.keys(g).forEach(function(e){if(e!=="default"){var i=Object.getOwnPropertyDescriptor(g,e);Object.defineProperty(t,e,i.get?i:{enumerable:!0,get:function(){return g[e]}})}}),t.default=g,Object.freeze(t)}var THREE__namespace=_interopNamespace(THREE),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(g,t,e)=>t in g?__defProp(g,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):g[t]=e,__spreadValues=(g,t)=>{for(var e in t||(t={}))__hasOwnProp.call(t,e)&&__defNormalProp(g,e,t[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(t))__propIsEnum.call(t,e)&&__defNormalProp(g,e,t[e]);return g},__spreadProps=(g,t)=>__defProps(g,__getOwnPropDescs(t)),__async=(g,t,e)=>new Promise((i,r)=>{var s=h=>{try{n(e.next(h))}catch(o){r(o)}},a=h=>{try{n(e.throw(h))}catch(o){r(o)}},n=h=>h.done?i(h.value):Promise.resolve(h.value).then(s,a);n((e=e.apply(g,t)).next())});const DEFAULT_DISTANCE=30,highlightWorker=new highlightWorker$1({type:"module"});class PointCloud extends eventListener{constructor({container:t,noAppend:e,isOrthographicCamera:i,orthographicParams:r,backgroundColor:s="#4C4C4C",config:a,isSegment:n,checkMode:h}){super();this.zAxisLimit=10,this.initCameraPosition=this.DEFAULT_INIT_CAMERA_POSITION,this.isOrthographicCamera=!1,this.pointsUuid="",this.pointCloudObjectName="pointCloud",this.rangeObjectName="range",this.showDirection=!0,this.pointsMaterialSize=1,this.isSegment=!1,this.checkMode=!1,this.nextTick=()=>{!this.segmentOperation||this.segmentOperation._raycasting()},this.keydown=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!0,this.store.setForbidOperation(!0);break}},this.keyup=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!1,this.store.setForbidOperation(!1);break}},this.addSphereToSense=(o,c="blue")=>{var l;const d=(l=o.id)!=null?l:uuid();this.removeObjectByName(d,"sphere");const{radius:u,widthSegments:m,heightSegments:p}=lbUtils.DEFAULT_SPHERE_PARAMS,{center:f}=o,y=new THREE__namespace.Group,x=new THREE__namespace.SphereGeometry(u,m,p),C=new THREE__namespace.MeshBasicMaterial({color:c}),w=new THREE__namespace.Mesh(x,C);w.position.set(f.x,f.y,f.z),y.add(w),y.name=`sphere${d}`,this.scene.add(y)},this.generateSphere=o=>{const{fill:c}=lbUtils.toolStyleConverter.getColorFromConfig({attribute:o.attribute},__spreadProps(__spreadValues({},this.config),{attributeConfigurable:!0}),{});this.addSphereToSense(o,c),this.render()},this.generateSpheres=o=>{o.forEach(c=>{const{fill:l}=lbUtils.toolStyleConverter.getColorFromConfig({attribute:c.attribute},__spreadProps(__spreadValues({},this.config),{attributeConfigurable:!0}),{});this.addSphereToSense(c,l)}),this.render()},this.addBoxToSense=(o,c=16777215)=>{var l;const d=(l=o.id)!=null?l:uuid();this.removeObjectByName(d,"box");const{center:u,width:m,height:p,depth:f,rotation:y}=o,x=new THREE__namespace.Group,C=new THREE__namespace.BoxGeometry(m,p,f),w=new THREE__namespace.MeshBasicMaterial({color:"blue"}),b=new THREE__namespace.Mesh(C,w),P=new THREE__namespace.BoxHelper(b,c),M=this.generateBoxArrow(o),v=this.generateBoxTrackID(o);v&&x.add(v),x.add(P),x.add(M),u&&x.position.set(u.x,u.y,u.z),y&&x.rotation.set(0,0,y),x.name=`box${d}`,this.scene.add(x)},this.applyCameraTarget=o=>{if(this.camera.type==="OrthographicCamera"&&o){const c=this.getOrthographicCameraTarget(o);this.updateCameraZoom(o.zoom),this.updateCamera(o.position,c)}},this.initShaderMaterial=()=>({vertexShader:`
|
|
2
2
|
attribute vec3 dimensions;
|
|
3
3
|
varying vec3 vDimensions;
|
|
4
4
|
uniform float pointSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),lassoSelector=require("./selector/lassoSelector.js"),circleSelector=require("./selector/circleSelector.js");class PointCloudSegmentOperation{constructor(e){this.onMouseMove=t=>{if((this.store.isCheckStatus||this.store.isReadyStatus)&&this.store.updateMouse({x:t.offsetX,y:t.offsetY}),this.isForbid||this.store.checkMode)return;const s={offsetX:t.offsetX,offsetY:t.offsetY,button:t.buttons};this.currentTool.mouseMove(s)},this.onMouseDown=t=>{this.isForbid||this.store.checkMode||this.currentTool.mouseDown(t)},this.onMouseUp=t=>{this.isForbid||this.store.orbiting===!0||this.store.checkMode||this.baseMouseDown(t)||this.currentTool.mouseUp(t)},this.baseMouseDown=t=>{if(!this.store.checkMode)switch(t.button){case 0:if(this.store.isReadyStatus||this.store.isCheckStatus)return this.store.checkPoints(),!0;break}},this._raycasting=()=>{if([lbUtils.EPointCloudSegmentStatus.Ready,lbUtils.EPointCloudSegmentStatus.Check].includes(this.store.segmentStatus)){const{mouse:t,camera:s,raycaster:o}=this.store;o.setFromCamera(t,s);const r=o.intersectObjects(this.store.allSegmentPoints,!1)[0];r?this.store.highlightPoints(r.object):(this.store.resetAllSegDataSizeAndRender(),this.store.resetHoverPointsID())}},this.dom=e.dom,this.store=e.store,this.lassoSelector=new lassoSelector(this.store),this.circleSelector=new circleSelector(this.store),this.currentTool=this.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),lassoSelector=require("./selector/lassoSelector.js"),circleSelector=require("./selector/circleSelector.js");class PointCloudSegmentOperation{constructor(e){this.onMouseMove=t=>{if((this.store.isCheckStatus||this.store.isReadyStatus)&&this.store.updateMouse({x:t.offsetX,y:t.offsetY}),this.isForbid||this.store.checkMode)return;const s={offsetX:t.offsetX,offsetY:t.offsetY,button:t.buttons};this.currentTool.mouseMove(s)},this.onMouseDown=t=>{this.isForbid||this.store.checkMode||this.currentTool.mouseDown(t)},this.onMouseUp=t=>{this.isForbid||this.store.orbiting===!0||this.store.checkMode||this.baseMouseDown(t)||this.currentTool.mouseUp(t)},this.baseMouseDown=t=>{if(!this.store.checkMode)switch(t.button){case 0:if(this.store.isReadyStatus||this.store.isCheckStatus)return this.store.checkPoints(),!0;break}},this._raycasting=()=>{if([lbUtils.EPointCloudSegmentStatus.Ready,lbUtils.EPointCloudSegmentStatus.Check].includes(this.store.segmentStatus)){const{mouse:t,camera:s,raycaster:o}=this.store;o.setFromCamera(t,s);const r=o.intersectObjects(this.store.allSegmentPoints,!1)[0];r?this.store.highlightPoints(r.object):(this.store.resetAllSegDataSizeAndRender(),this.store.resetHoverPointsID())}},this.dom=e.dom,this.store=e.store,this.lassoSelector=new lassoSelector(this.store),this.circleSelector=new circleSelector(this.store),this.currentTool=this.lassoSelector,this.currentToolName="LassoSelector",this.dom.addEventListener("pointermove",this.onMouseMove.bind(this)),this.dom.addEventListener("pointerdown",this.onMouseDown.bind(this)),this.dom.addEventListener("pointerup",this.onMouseUp.bind(this)),this.updateSelector2Lasso=this.updateSelector2Lasso.bind(this),this.updateSelector2Circle=this.updateSelector2Circle.bind(this)}getCoordinate(e){const t=this.dom.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}get forbidOperation(){return this.store.forbidOperation}get isForbid(){return this.forbidOperation}updateSelector2Lasso(){this.currentTool=this.lassoSelector,this.currentToolName="LassoSelector"}updateSelector2Circle(){this.currentTool=this.circleSelector,this.currentToolName="CircleSelector"}}exports.PointCloudSegmentOperation=PointCloudSegmentOperation;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as c from"three";import{toolStyleConverter as O,PerspectiveShiftUtils as M,EPerspectiveView as C,PointCloudUtils as N,DEFAULT_SPHERE_PARAMS as z}from"@labelbee/lb-utils";import V from"../../_virtual/highlightWorker.js";import F from"../../_virtual/filterBoxWorker.js";import{isInPolygon as R}from"../../utils/tool/polygonTool.js";import A from"../../utils/uuid.js";import W from"../../utils/MathUtils.js";import{PCDLoader as Z}from"./PCDLoader.js";import{OrbitControls as H}from"./OrbitControls.js";import{PointCloudCache as U}from"./cache.js";import{getCuboidFromPointCloudBox as k}from"./matrix.js";export{createThreeMatrix4,getCuboidFromPointCloudBox,lidar2image,pointCloudLidar2image,rotatePoint,transferKitti2Matrix}from"./matrix.js";import{PointCloudSegmentOperation as G}from"./segmentation.js";import $ from"./store/index.js";import X from"./render/index.js";import Y from"../toolOperation/eventListener.js";import"../../constant/tool.js";import"../scheduler.js";var q=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,j=(w,t,e)=>t in w?q(w,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):w[t]=e,b=(w,t)=>{for(var e in t||(t={}))J.call(t,e)&&j(w,e,t[e]);if(_)for(var e of _(t))tt.call(t,e)&&j(w,e,t[e]);return w},P=(w,t)=>K(w,Q(t)),T=(w,t,e)=>new Promise((i,r)=>{var s=l=>{try{n(e.next(l))}catch(o){r(o)}},a=l=>{try{n(e.throw(l))}catch(o){r(o)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,a);n((e=e.apply(w,t)).next())});const et=30,L=new V({type:"module"});class it extends Y{constructor({container:t,noAppend:e,isOrthographicCamera:i,orthographicParams:r,backgroundColor:s="#4C4C4C",config:a,isSegment:n,checkMode:l}){super();this.zAxisLimit=10,this.initCameraPosition=this.DEFAULT_INIT_CAMERA_POSITION,this.isOrthographicCamera=!1,this.pointsUuid="",this.pointCloudObjectName="pointCloud",this.rangeObjectName="range",this.showDirection=!0,this.pointsMaterialSize=1,this.isSegment=!1,this.checkMode=!1,this.nextTick=()=>{!this.segmentOperation||this.segmentOperation._raycasting()},this.keydown=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!0,this.store.setForbidOperation(!0);break}},this.keyup=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!1,this.store.setForbidOperation(!1);break}},this.addSphereToSense=(o,h="blue")=>{var d;const u=(d=o.id)!=null?d:A();this.removeObjectByName(u,"sphere");const{radius:m,widthSegments:g,heightSegments:p}=z,{center:f}=o,x=new c.Group,y=new c.SphereGeometry(m,g,p),S=new c.MeshBasicMaterial({color:h}),v=new c.Mesh(y,S);v.position.set(f.x,f.y,f.z),x.add(v),x.name=`sphere
|
|
1
|
+
import*as c from"three";import{toolStyleConverter as O,PerspectiveShiftUtils as M,EPerspectiveView as C,PointCloudUtils as N,DEFAULT_SPHERE_PARAMS as z}from"@labelbee/lb-utils";import V from"../../_virtual/highlightWorker.js";import F from"../../_virtual/filterBoxWorker.js";import{isInPolygon as R}from"../../utils/tool/polygonTool.js";import A from"../../utils/uuid.js";import W from"../../utils/MathUtils.js";import{PCDLoader as Z}from"./PCDLoader.js";import{OrbitControls as H}from"./OrbitControls.js";import{PointCloudCache as U}from"./cache.js";import{getCuboidFromPointCloudBox as k}from"./matrix.js";export{createThreeMatrix4,getCuboidFromPointCloudBox,lidar2image,pointCloudLidar2image,rotatePoint,transferKitti2Matrix}from"./matrix.js";import{PointCloudSegmentOperation as G}from"./segmentation.js";import $ from"./store/index.js";import X from"./render/index.js";import Y from"../toolOperation/eventListener.js";import"../../constant/tool.js";import"../scheduler.js";var q=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,tt=Object.prototype.propertyIsEnumerable,j=(w,t,e)=>t in w?q(w,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):w[t]=e,b=(w,t)=>{for(var e in t||(t={}))J.call(t,e)&&j(w,e,t[e]);if(_)for(var e of _(t))tt.call(t,e)&&j(w,e,t[e]);return w},P=(w,t)=>K(w,Q(t)),T=(w,t,e)=>new Promise((i,r)=>{var s=l=>{try{n(e.next(l))}catch(o){r(o)}},a=l=>{try{n(e.throw(l))}catch(o){r(o)}},n=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,a);n((e=e.apply(w,t)).next())});const et=30,L=new V({type:"module"});class it extends Y{constructor({container:t,noAppend:e,isOrthographicCamera:i,orthographicParams:r,backgroundColor:s="#4C4C4C",config:a,isSegment:n,checkMode:l}){super();this.zAxisLimit=10,this.initCameraPosition=this.DEFAULT_INIT_CAMERA_POSITION,this.isOrthographicCamera=!1,this.pointsUuid="",this.pointCloudObjectName="pointCloud",this.rangeObjectName="range",this.showDirection=!0,this.pointsMaterialSize=1,this.isSegment=!1,this.checkMode=!1,this.nextTick=()=>{!this.segmentOperation||this.segmentOperation._raycasting()},this.keydown=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!0,this.store.setForbidOperation(!0);break}},this.keyup=o=>{if(!!this.store)switch(o.key){case" ":this.controls.enablePan=!1,this.store.setForbidOperation(!1);break}},this.addSphereToSense=(o,h="blue")=>{var d;const u=(d=o.id)!=null?d:A();this.removeObjectByName(u,"sphere");const{radius:m,widthSegments:g,heightSegments:p}=z,{center:f}=o,x=new c.Group,y=new c.SphereGeometry(m,g,p),S=new c.MeshBasicMaterial({color:h}),v=new c.Mesh(y,S);v.position.set(f.x,f.y,f.z),x.add(v),x.name=`sphere${u}`,this.scene.add(x)},this.generateSphere=o=>{const{fill:h}=O.getColorFromConfig({attribute:o.attribute},P(b({},this.config),{attributeConfigurable:!0}),{});this.addSphereToSense(o,h),this.render()},this.generateSpheres=o=>{o.forEach(h=>{const{fill:d}=O.getColorFromConfig({attribute:h.attribute},P(b({},this.config),{attributeConfigurable:!0}),{});this.addSphereToSense(h,d)}),this.render()},this.addBoxToSense=(o,h=16777215)=>{var d;const u=(d=o.id)!=null?d:A();this.removeObjectByName(u,"box");const{center:m,width:g,height:p,depth:f,rotation:x}=o,y=new c.Group,S=new c.BoxGeometry(g,p,f),v=new c.MeshBasicMaterial({color:"blue"}),B=new c.Mesh(S,v),I=new c.BoxHelper(B,h),E=this.generateBoxArrow(o),D=this.generateBoxTrackID(o);D&&y.add(D),y.add(I),y.add(E),m&&y.position.set(m.x,m.y,m.z),x&&y.rotation.set(0,0,x),y.name=`box${u}`,this.scene.add(y)},this.applyCameraTarget=o=>{if(this.camera.type==="OrthographicCamera"&&o){const h=this.getOrthographicCameraTarget(o);this.updateCameraZoom(o.zoom),this.updateCamera(o.position,h)}},this.initShaderMaterial=()=>({vertexShader:`
|
|
2
2
|
attribute vec3 dimensions;
|
|
3
3
|
varying vec3 vDimensions;
|
|
4
4
|
uniform float pointSize;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EPointCloudSegmentStatus as r}from"@labelbee/lb-utils";import n from"./selector/lassoSelector.js";import c from"./selector/circleSelector.js";class h{constructor(e){this.onMouseMove=t=>{if((this.store.isCheckStatus||this.store.isReadyStatus)&&this.store.updateMouse({x:t.offsetX,y:t.offsetY}),this.isForbid||this.store.checkMode)return;const s={offsetX:t.offsetX,offsetY:t.offsetY,button:t.buttons};this.currentTool.mouseMove(s)},this.onMouseDown=t=>{this.isForbid||this.store.checkMode||this.currentTool.mouseDown(t)},this.onMouseUp=t=>{this.isForbid||this.store.orbiting===!0||this.store.checkMode||this.baseMouseDown(t)||this.currentTool.mouseUp(t)},this.baseMouseDown=t=>{if(!this.store.checkMode)switch(t.button){case 0:if(this.store.isReadyStatus||this.store.isCheckStatus)return this.store.checkPoints(),!0;break}},this._raycasting=()=>{if([r.Ready,r.Check].includes(this.store.segmentStatus)){const{mouse:t,camera:s,raycaster:o}=this.store;o.setFromCamera(t,s);const i=o.intersectObjects(this.store.allSegmentPoints,!1)[0];i?this.store.highlightPoints(i.object):(this.store.resetAllSegDataSizeAndRender(),this.store.resetHoverPointsID())}},this.dom=e.dom,this.store=e.store,this.lassoSelector=new n(this.store),this.circleSelector=new c(this.store),this.currentTool=this.
|
|
1
|
+
import{EPointCloudSegmentStatus as r}from"@labelbee/lb-utils";import n from"./selector/lassoSelector.js";import c from"./selector/circleSelector.js";class h{constructor(e){this.onMouseMove=t=>{if((this.store.isCheckStatus||this.store.isReadyStatus)&&this.store.updateMouse({x:t.offsetX,y:t.offsetY}),this.isForbid||this.store.checkMode)return;const s={offsetX:t.offsetX,offsetY:t.offsetY,button:t.buttons};this.currentTool.mouseMove(s)},this.onMouseDown=t=>{this.isForbid||this.store.checkMode||this.currentTool.mouseDown(t)},this.onMouseUp=t=>{this.isForbid||this.store.orbiting===!0||this.store.checkMode||this.baseMouseDown(t)||this.currentTool.mouseUp(t)},this.baseMouseDown=t=>{if(!this.store.checkMode)switch(t.button){case 0:if(this.store.isReadyStatus||this.store.isCheckStatus)return this.store.checkPoints(),!0;break}},this._raycasting=()=>{if([r.Ready,r.Check].includes(this.store.segmentStatus)){const{mouse:t,camera:s,raycaster:o}=this.store;o.setFromCamera(t,s);const i=o.intersectObjects(this.store.allSegmentPoints,!1)[0];i?this.store.highlightPoints(i.object):(this.store.resetAllSegDataSizeAndRender(),this.store.resetHoverPointsID())}},this.dom=e.dom,this.store=e.store,this.lassoSelector=new n(this.store),this.circleSelector=new c(this.store),this.currentTool=this.lassoSelector,this.currentToolName="LassoSelector",this.dom.addEventListener("pointermove",this.onMouseMove.bind(this)),this.dom.addEventListener("pointerdown",this.onMouseDown.bind(this)),this.dom.addEventListener("pointerup",this.onMouseUp.bind(this)),this.updateSelector2Lasso=this.updateSelector2Lasso.bind(this),this.updateSelector2Circle=this.updateSelector2Circle.bind(this)}getCoordinate(e){const t=this.dom.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}}get forbidOperation(){return this.store.forbidOperation}get isForbid(){return this.forbidOperation}updateSelector2Lasso(){this.currentTool=this.lassoSelector,this.currentToolName="LassoSelector"}updateSelector2Circle(){this.currentTool=this.circleSelector,this.currentToolName="CircleSelector"}}export{h as PointCloudSegmentOperation};
|