|
|
|
@ -34,7 +34,8 @@ export function PointPick(ptVcs: Vector3, view: Viewer | PreViewer, selectObject
|
|
|
|
|
}, view.Camera);
|
|
|
|
|
raycaster.ray.origin.sub(raycaster.ray.direction.clone().multiplyScalar(1e3));
|
|
|
|
|
|
|
|
|
|
let selectList = [];
|
|
|
|
|
let pickObj: Object3D;
|
|
|
|
|
let minDis: number;
|
|
|
|
|
for (let obj of selectObject.children)
|
|
|
|
|
{
|
|
|
|
|
if (IsNotRayCaster(obj))
|
|
|
|
@ -46,10 +47,16 @@ export function PointPick(ptVcs: Vector3, view: Viewer | PreViewer, selectObject
|
|
|
|
|
o.raycast(raycaster, intersects)
|
|
|
|
|
})
|
|
|
|
|
if (intersects.length > 0)
|
|
|
|
|
selectList.push(obj);
|
|
|
|
|
if (!minDis || minDis > intersects[0].distance)
|
|
|
|
|
{
|
|
|
|
|
pickObj = obj;
|
|
|
|
|
minDis = intersects[0].distance
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if (selectList.length > 0)
|
|
|
|
|
return selectList;
|
|
|
|
|
if (pickObj)
|
|
|
|
|
return [pickObj];
|
|
|
|
|
|
|
|
|
|
let selectList = [];
|
|
|
|
|
|
|
|
|
|
let pCenter = new THREE.Vector2(ptVcs.x, ptVcs.y);
|
|
|
|
|
let selectSize = new THREE.Vector2(10, 10);
|
|
|
|
|