fix #IMECK 单点空间选板,现在只选择最近的板件.

pull/113/head
ChenX 6 years ago
parent f47a2d2fb5
commit 53e6d2d26b

@ -70,30 +70,14 @@ export function PointPickSpaceParse(ptVcs: Vector3, view: Viewer, objectCol: Obj
{
let edgeP = edgePts[i];
let selectLine = new SelectLine(view, mouseP, edgeP);
selectLine.Select(undefined, {
filterFunction: (obj) =>
{
if (obj.userData && obj.userData instanceof Board)
{
let br = obj.userData;
if (selectBoardCol.includes(br))
return false;
//根据Orbit的规则,如果按X轴选择,则不选择层板
if (i % 2 === 0 && br.BoardType === BoardType.Layer)
return false;
return true;
}
return false;
}
});
selectLine.Select(undefined, { filterTypes: [Board] });
let brs = selectLine.SelectEntityList as Board[];
let compareFn = comparePoint(edgeSorts[i]);
brs.sort((b1, b2) => compareFn(view.WorldToScreen(b1.MinPoint), view.WorldToScreen(b2.MinPoint)));
if (brs.length > 0)
brs.sort((b1, b2) => compareFn(view.WorldToScreen(b1.MinPoint), view.WorldToScreen(b2.MinPoint)));
if (brs.length > 0 && selectBoardCol.indexOf(brs[0]) === -1)
selectBoardCol.push(brs[0]);
}
}

Loading…
Cancel
Save