feat/vtk-3d-view #7
|
|
@ -36,7 +36,7 @@
|
|||
---
|
||||
|
||||
## OPT-002 · 多三维体并发的切片渲染
|
||||
- **状态**:🟢 Done(issue2/③/反向②,commit `69e8790`);④ 切片拾取串选仍 🔴 Open(见下)
|
||||
- **状态**:🟢 Done(issue2/③/反向② `69e8790`;④ 拾取串选 `63cda56`,体 PickableOff,逻辑修复待 live 复核)
|
||||
- **记录日期**:2026-06-25
|
||||
- **背景/现状**:切片渲染绑定单一「当前体」——`syncSlices` 只显示 `sp.volumeDsId == currentVolumeDsId()`
|
||||
的切片,`currentVolumeDsId` = 最后添加的体(`VtkSceneView::volumeOwnerDs_`)。勾选第二个三维体后它
|
||||
|
|
@ -50,9 +50,8 @@
|
|||
- **同簇问题(一并改造)**:
|
||||
- **③ 右键体却把切片建到 current 体**:右键三维体 A「生成切片」时仍用 `currentVolumeDsId()`(=最后渲染的
|
||||
体)创建切片。需把目标体 dsId 随右键带下来,并让 addSlice 用 A 的 image(依赖多体 image 管理)。
|
||||
- **④ 切片拾取串选(仍 Open)**:点任意切片却选中上下切片。根因是重叠切片下 VTK 的事件路由「最前
|
||||
平面优先」+ `nearestSlice` 启发式:多张切片在屏幕投影重叠时,最前/最近的那张被选中。
|
||||
`vtkImagePlaneWidget`(VTK9.6) 不暴露 texture-plane actor,pick-list 精确化方案已试→回退。
|
||||
**须在可交互点击的运行环境里实地调试**(点击重叠的 3D 切片才能验证),盲改会破坏现有可用的选择。
|
||||
候选方案:自管切片 actor 做精确 pick / 重叠时让用户循环切换 / 调 widget 优先级。
|
||||
- **更新**:2026-06-25 issue2+③+反向② 已实现(`69e8790`);④ 留待能 live 调试的会话单独做。
|
||||
- **④ 切片拾取串选**:已修(`63cda56`)。根因=点击落体内部时 picker 命中体、worldPoint 落体内 →
|
||||
`nearestSlice` 按平面距离选错切片。修法=体 actor `PickableOff`,光标拾取只落切片平面 → worldPoint
|
||||
落在光标下那张切片 → 选对(`onPick` 仅命中时触发,未命中不误选)。重叠切片仍按最前优先(合理)。
|
||||
逻辑闭合但**未 live 点击验证**(工具无法交互点击 3D 切片);若仍有偏差需 live 复核(重叠循环切换等)。
|
||||
- **更新**:2026-06-25 issue2+③+反向²(`69e8790`)+④(`63cda56`) 全部实现。
|
||||
|
|
|
|||
Loading…
Reference in New Issue