fix(3d-view): 二维/三维分析切换时取消前视图选中
三维分析选中切片后切到二维分析,残留的selected_使InteractionManager::onWheel
持续消费滚轮(二维下无法缩放),且切回三维仍残留高亮。setMode2D进入二维时清切片
选中+高亮,并经onSliceSelectionChanged("")联动清三维分析列表选中行与异常高亮。
与VtkSceneView::setAnalysisMode2D离开二维时clearMapLineSelection清足迹选中相对称。
This commit is contained in:
parent
d5e3522bfa
commit
9b4f172809
|
|
@ -263,6 +263,17 @@ void InteractionManager::closeAll() {
|
|||
PickInteractorStyle* InteractionManager::pickStyle() const { return style_; }
|
||||
|
||||
void InteractionManager::setMode2D(bool is2D) {
|
||||
// 进入二维分析:主动取消「三维前视图」的所有选中。否则残留的选中切片会让 onWheel 持续消费滚轮
|
||||
// (二维下无法缩放),且切回三维仍残留高亮。清 selected_ + 切片高亮;再经 onSliceSelectionChanged("")
|
||||
// 联动清三维分析列表选中行与异常高亮(app 层接线)。与 VtkSceneView::setAnalysisMode2D 离开二维时
|
||||
// clearMapLineSelection 清足迹选中相对称。
|
||||
if (is2D) {
|
||||
if (selected_ >= 0) {
|
||||
selected_ = -1;
|
||||
updateSelectionVisual(); // 清切片高亮(切回三维不残留选中)
|
||||
}
|
||||
if (onSliceSelectionChanged) onSliceSelectionChanged(std::string{});
|
||||
}
|
||||
// 切片属三维内容:二维分析隐藏(不销毁→切回零重建)、三维分析显示。
|
||||
for (auto& s : slices_)
|
||||
if (s) s->setVisible(!is2D);
|
||||
|
|
|
|||
Loading…
Reference in New Issue