Changes
Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com>
This commit is contained in:
@@ -723,26 +723,16 @@ function SelectionHandler() {
|
|||||||
mouse.y = -((e.clientY - rect.top) / rect.height) * 2 + 1;
|
mouse.y = -((e.clientY - rect.top) / rect.height) * 2 + 1;
|
||||||
raycaster.setFromCamera(mouse, camera);
|
raycaster.setFromCamera(mouse, camera);
|
||||||
const intersects = raycaster.intersectObjects(scene.children, true);
|
const intersects = raycaster.intersectObjects(scene.children, true);
|
||||||
const hit = intersects.find((i) => {
|
const hit = intersects.find((i) => isPickableModelMesh(i.object));
|
||||||
const o = i.object;
|
|
||||||
if (!(o instanceof THREE.Mesh)) return false;
|
|
||||||
if (o.userData.__edgeLine) return false;
|
|
||||||
if (o.geometry instanceof THREE.SphereGeometry) return false;
|
|
||||||
if (o.geometry instanceof THREE.RingGeometry) return false;
|
|
||||||
if (o.geometry instanceof THREE.PlaneGeometry) return false;
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
if (!hit) return;
|
if (!hit) return;
|
||||||
|
|
||||||
|
const element = findElementRoot(hit.object);
|
||||||
let cur: THREE.Object3D | null = hit.object;
|
let cur: THREE.Object3D | null = hit.object;
|
||||||
let element: THREE.Object3D | null = null;
|
|
||||||
let modelId: string | null = null;
|
let modelId: string | null = null;
|
||||||
while (cur) {
|
while (cur) {
|
||||||
if (!element && cur.userData?.ifcElement) element = cur;
|
|
||||||
if (!modelId && cur.userData?.modelId) modelId = cur.userData.modelId as string;
|
if (!modelId && cur.userData?.modelId) modelId = cur.userData.modelId as string;
|
||||||
cur = cur.parent;
|
cur = cur.parent;
|
||||||
}
|
}
|
||||||
if (!element) element = hit.object;
|
|
||||||
if (!modelId) modelId = useModelStore.getState().activeModelId;
|
if (!modelId) modelId = useModelStore.getState().activeModelId;
|
||||||
if (!modelId || !element) return;
|
if (!modelId || !element) return;
|
||||||
const key = elementKey(modelId, element);
|
const key = elementKey(modelId, element);
|
||||||
|
|||||||
Reference in New Issue
Block a user