From 51090962c348cc0faf887eda4fb30620d5a73b88 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Thu, 25 Jun 2026 20:38:12 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20OPT-002=20=E6=A0=87=E8=AE=B0=20issue2/?= =?UTF-8?q?=E2=91=A2/=E5=8F=8D=E5=90=91=E2=91=A1=20=E5=B7=B2=E5=AE=8C?= =?UTF-8?q?=E6=88=90(69e8790),=E2=91=A3=E6=8B=BE=E5=8F=96=E4=B8=B2?= =?UTF-8?q?=E9=80=89=E7=95=99=E5=BE=85live=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/OPTIMIZATION-BACKLOG.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/OPTIMIZATION-BACKLOG.md b/docs/OPTIMIZATION-BACKLOG.md index 1c05551..4555012 100644 --- a/docs/OPTIMIZATION-BACKLOG.md +++ b/docs/OPTIMIZATION-BACKLOG.md @@ -36,7 +36,7 @@ --- ## OPT-002 · 多三维体并发的切片渲染 -- **状态**:🔴 Open +- **状态**:🟢 Done(issue2/③/反向②,commit `69e8790`);④ 切片拾取串选仍 🔴 Open(见下) - **记录日期**:2026-06-25 - **背景/现状**:切片渲染绑定单一「当前体」——`syncSlices` 只显示 `sp.volumeDsId == currentVolumeDsId()` 的切片,`currentVolumeDsId` = 最后添加的体(`VtkSceneView::volumeOwnerDs_`)。勾选第二个三维体后它 @@ -50,8 +50,9 @@ - **同簇问题(一并改造)**: - **③ 右键体却把切片建到 current 体**:右键三维体 A「生成切片」时仍用 `currentVolumeDsId()`(=最后渲染的 体)创建切片。需把目标体 dsId 随右键带下来,并让 addSlice 用 A 的 image(依赖多体 image 管理)。 - - **④ 切片拾取串选**:点任意切片却选中上下切片。`pickSliceAtCursor` 用 vtkCellPicker 拾任意几何 → - `nearestSlice` 按平面距离选最近切面,拾到体内部点时会选错。`vtkImagePlaneWidget`(VTK9.6) 不暴露 - texture-plane actor,无法用 pick list 限定到切片;需另案:自管切片 actor / 自定义 picker / - 依赖 widget 自身交互(onInteract→selectByTool)而非启发式拾取。已试 pick-list 因无 actor accessor 回退。 -- **更新**:2026-06-25 并入 ③④(原 issue2 的同源多体/拾取簇)。 + - **④ 切片拾取串选(仍 Open)**:点任意切片却选中上下切片。根因是重叠切片下 VTK 的事件路由「最前 + 平面优先」+ `nearestSlice` 启发式:多张切片在屏幕投影重叠时,最前/最近的那张被选中。 + `vtkImagePlaneWidget`(VTK9.6) 不暴露 texture-plane actor,pick-list 精确化方案已试→回退。 + **须在可交互点击的运行环境里实地调试**(点击重叠的 3D 切片才能验证),盲改会破坏现有可用的选择。 + 候选方案:自管切片 actor 做精确 pick / 重叠时让用户循环切换 / 调 widget 优先级。 +- **更新**:2026-06-25 issue2+③+反向② 已实现(`69e8790`);④ 留待能 live 调试的会话单独做。