From 251046f885ccf1a435ae6885d488f9eeb10c0a81 Mon Sep 17 00:00:00 2001 From: gaozheng Date: Tue, 23 Jun 2026 19:06:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(vtk):=20=E5=88=87=E9=A1=B9=E7=9B=AE=20clear?= =?UTF-8?q?Central=20=E8=A1=A5=E6=B8=85=E5=BA=95=E5=9B=BE=E7=93=A6?= =?UTF-8?q?=E7=89=87(basemap->hide)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 切项目时帘面/体素/切片/2D足迹已清,但底图瓦片(锚在旧项目地理位置)残留。 clearCentral 增 basemap->hide() 移除全部瓦片;新项目数据到来 onFrameReanchored 按新位置重显。至此切项目中央区(三栏+渲染图元+底图)全部清空。 build all 绿,341/341。 --- src/app/main.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/main.cpp b/src/app/main.cpp index bb67387..a59eb5c 100644 --- a/src/app/main.cpp +++ b/src/app/main.cpp @@ -1210,7 +1210,7 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re // 仅真正换项目用(delete-refresh 等 switchProject(currentProjectId) 不走此处,避免误清)。 auto clearCentral = [drawer, sceneCtrl, emptyState, checkedProfiles, checkedAnalysis, pushChecked, lastAnalysisRows, refreshAnalysis, checkedSliceIds, - syncSlices]() { + syncSlices, basemap]() { // 三栏清空(col2D/col3D setDatasets({}) 会顺带发空勾选 → setChecked2DDatasets({})/帘面清空)。 drawer->col3D()->setDatasets({}); drawer->col2D()->setDatasets({}); @@ -1223,6 +1223,7 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re pushChecked(); // setCheckedDatasets({}) → 帘面/体素清空 syncSlices(); // 切片随空勾选调和 sceneCtrl->setChecked2DDatasets({}); // 2D 足迹显式撤场(与 col2D 空勾选双保险) + basemap->hide(); // 底图瓦片清空(锚在旧项目位置;新项目数据到来 re-anchor 时按新位置重显) // 空状态浮层恢复(对象树勾选会随 structureLoaded 重建而清,无需手动)。 emptyState->setVisible(true); };