fix(vtk): 轴向切片禁用旋转(G22-24 角度不能再调整),仅任意切片可转(F25)

上一版让所有切片都能拖边缘旋转,违反 G22-24(上下/前后/左右角度不能再调整)。
修: 轴向切片 SetMarginSizeX/Y(0) 去掉旋转抓取区→只能移动不能转;
任意切片(Oblique)保留默认 margin→可拖边缘旋转(F25)。ctest 221/221
This commit is contained in:
gaozheng 2026-06-16 11:14:05 +08:00
parent f3a1ba9f99
commit a7edfa5c78
1 changed files with 7 additions and 2 deletions

View File

@ -78,10 +78,15 @@ SliceTool::SliceTool(vtkImageData* image, vtkRenderWindowInteractor* interactor,
} }
} }
// 照原型配置(f57291a):左键拖动=移动切面(默认左键是窗位调整,无用);中键=取值光标。 // 左键拖动=移动切面(默认左键是窗位调整,无用);中键=取值光标。
// 切面边缘(margins)拖动可旋转切面 → 任意切片"可任意调整角度"(F25)。
widget_->SetLeftButtonAction(vtkImagePlaneWidget::VTK_SLICE_MOTION_ACTION); widget_->SetLeftButtonAction(vtkImagePlaneWidget::VTK_SLICE_MOTION_ACTION);
widget_->SetMiddleButtonAction(vtkImagePlaneWidget::VTK_CURSOR_ACTION); widget_->SetMiddleButtonAction(vtkImagePlaneWidget::VTK_CURSOR_ACTION);
// 旋转只允许"任意切片"(F25 可任意调整);轴向(上下/前后/左右)角度固定(G22-24 角度不能再调整)
// 把切面边缘(margins, 旋转抓取区)设为 0 → 抓哪里都只移动、不旋转。
if (axis_ != SliceAxis::Oblique) {
widget_->SetMarginSizeX(0.0);
widget_->SetMarginSizeY(0.0);
}
widget_->On(); widget_->On();
// 保持 widget 交互开启:任意切片可拖动调整角度/位置(F25 '可任意调整')。 // 保持 widget 交互开启:任意切片可拖动调整角度/位置(F25 '可任意调整')。