From 64aee837f25ac76600a5f2216a8647ee9c7bcae6 Mon Sep 17 00:00:00 2001 From: Rodrigo Bertoldo de Sousa Martins Date: Fri, 11 Sep 2026 11:15:18 -0300 Subject: [PATCH] tira espinhos --- frontend/src/components/viewer/SystemModel.tsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/viewer/SystemModel.tsx b/frontend/src/components/viewer/SystemModel.tsx index f774736..417a005 100644 --- a/frontend/src/components/viewer/SystemModel.tsx +++ b/frontend/src/components/viewer/SystemModel.tsx @@ -88,8 +88,20 @@ export function SystemModel({ useEffect(() => { root.traverse((obj) => { + // O FBX original do Z-Anatomy tem "espinhos" de anotação (linhas + // apontando pra um rótulo, usadas no app de origem) que não são + // Mesh — são Line/LineSegments/Points. Como eles nunca batem com + // nenhuma das estruturas catalogadas, sempre deveriam ficar + // ocultos, mas um filtro que só olhava "isMesh" deixava passar + // batido (objeto sem dono nunca tinha visible=false setado). + const renderable = obj as THREE.Object3D & { + isMesh?: boolean; + isLine?: boolean; + isLineSegments?: boolean; + isPoints?: boolean; + }; + if (!renderable.isMesh && !renderable.isLine && !renderable.isLineSegments && !renderable.isPoints) return; const mesh = obj as THREE.Mesh; - if (!mesh.isMesh) return; const structure = resolveStructure(mesh); if (!structure) { // Malha sem correspondência no manifesto (não catalogada) — oculta.