feat/vtk-3d-view #7
|
|
@ -397,12 +397,21 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
|
||||
// ── 二维数据集栏:天地图底图开关(③,复用轨迹图 token,经同一共享 GeoLocalFrame 配准)──
|
||||
auto* basemap = new geopro::app::TileBasemap(*scene, renderWindowPtr, frame, &window);
|
||||
// 当前底图选择(默认 天地图=Satellite,对齐 Column2DDataset 默认项);数据重锚后据此在数据位置加载。
|
||||
auto basemapKind =
|
||||
std::make_shared<geopro::app::TileBasemap::Kind>(geopro::app::TileBasemap::Satellite);
|
||||
QObject::connect(drawer->col2D(), &geopro::app::Column2DDataset::basemapChanged, basemap,
|
||||
[basemap](int idx) {
|
||||
// 地图下拉:0 天地图(卫星影像,对齐原版观感) / 1 Google(暂未实现→隐藏) / 2 隐藏。
|
||||
basemap->show(idx == 0 ? geopro::app::TileBasemap::Satellite
|
||||
: geopro::app::TileBasemap::Hidden);
|
||||
[basemap, basemapKind](int idx) {
|
||||
// 地图下拉:0 天地图(卫星影像) / 1 Google(暂未实现→隐藏) / 2 隐藏。
|
||||
*basemapKind = (idx == 0) ? geopro::app::TileBasemap::Satellite
|
||||
: geopro::app::TileBasemap::Hidden;
|
||||
basemap->show(*basemapKind);
|
||||
});
|
||||
// 首个真实剖面到达 → frame 重锚到数据 lat/lon 后,把选中的底图加载到数据所在位置
|
||||
// (默认天地图即在此刻出现,避免启动时在样本原点拉无关瓦片)。
|
||||
sceneView->onFrameReanchored = [basemap, basemapKind]() {
|
||||
if (*basemapKind != geopro::app::TileBasemap::Hidden) basemap->show(*basemapKind);
|
||||
};
|
||||
|
||||
// ── 中央“空状态”引导浮层:未接入真实 sections 时,引导首次使用者从左侧入手。──
|
||||
// 透明背景 + 鼠标穿透(不挡 QVTK 交互);CenterOverlay 随视口尺寸保持居中;
|
||||
|
|
@ -788,11 +797,13 @@ void buildWorkbench(QMainWindow& window, geopro::data::LocalSampleRepository& re
|
|||
if (vtkFsBtn) {
|
||||
vtkFsBtn->setCheckable(true);
|
||||
QObject::connect(vtkFsBtn, &QToolButton::toggled, &window,
|
||||
[applyFullscreen, vtkDock, allDocks, detailFsBtn](bool on) {
|
||||
[applyFullscreen, vtkDock, allDocks, detailFsBtn, drawer](bool on) {
|
||||
if (on && detailFsBtn && detailFsBtn->isChecked()) {
|
||||
QSignalBlocker b(detailFsBtn);
|
||||
detailFsBtn->setChecked(false);
|
||||
}
|
||||
// VTK 全屏含左侧三栏(drawer 本就在 vtkDock 内):进入时确保展开可见。
|
||||
if (on) drawer->expand();
|
||||
applyFullscreen(vtkDock, allDocks, on);
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ Column2DDataset::Column2DDataset(QWidget* parent) : QWidget(parent) {
|
|||
basemap->addItem(QStringLiteral("天地图"));
|
||||
basemap->addItem(QStringLiteral("Google Map"));
|
||||
basemap->addItem(QStringLiteral("隐藏"));
|
||||
basemap->setCurrentIndex(2); // 默认隐藏:选「天地图」即触发 currentIndexChanged→显示
|
||||
basemap->setCurrentIndex(0); // 默认天地图:数据重锚后由 onFrameReanchored 在数据位置加载
|
||||
connect(basemap, qOverload<int>(&QComboBox::currentIndexChanged), this,
|
||||
[this](int index) { emit basemapChanged(index); });
|
||||
form->addRow(QStringLiteral("底图源"), basemap);
|
||||
|
|
|
|||
Loading…
Reference in New Issue