Go to file
gaozheng 7007619bf2 feat(render): DEM 地形+影像贴图(spec ④) + dd_slice 交互切片
- TerrainActor(buildTerrain): GDAL 读 dem.tif(高程)+ image.tif(影像); DEM CRS→4326→
  GeoLocalFrame 配准成 vtkStructuredGrid warp 面; 影像经 GDAL 读像素(行翻转正立)作纹理,
  按经纬→EPSG:3857→像素 算纹理坐标贴图(影像/DEM 异源 CRS 重投影对位)。影像读失败→按高程上色。
  离屏 verify_terrain_3d.png 核对: 卫星影像正立贴微起伏面、配准对位。+2 单测。
- 注: 影像须 GDAL 读(vtkTIFFReader 对此压缩 TIFF 报错"reading the row")。
- dd_slice: 3D「视图详情」加「切片」图层 = vtkImagePlaneWidget 在体素 image 拖切面(spec M1-b)。
- 接入 app: 3D 浮层五图层(帘面/体素/切片/地形); repo.demPath()/imagePath(); PROJ 不可用则禁用。
- vcpkg 加 gdal(连带 hdf5/netcdf/geos 等, 已缓存); 全 40 测试绿; app 构建干净。
- 注: 地形/切片 Z 基准与帘面/体素纵向夸张未统一(spec M-3 待办); dem 低分辨率→起伏细微。
2026-06-08 11:25:45 +08:00
ScreenShot spike(S2): ADS+QVTKOpenGLStereoWidget 浮动/重停靠不黑屏(用户实测) — 三 spike 全绿 2026-06-07 19:35:46 +08:00
docs feat(render): DEM 地形+影像贴图(spec ④) + dd_slice 交互切片 2026-06-08 11:25:45 +08:00
resources feat(net): RSA 加密器(OpenSSL PKCS1v1.5+base64) + 捕获真实 RSA 公钥 2026-06-07 21:17:38 +08:00
src feat(render): DEM 地形+影像贴图(spec ④) + dd_slice 交互切片 2026-06-08 11:25:45 +08:00
tests feat(render): DEM 地形+影像贴图(spec ④) + dd_slice 交互切片 2026-06-08 11:25:45 +08:00
tools spike: 准备 S1 冒烟构建 + voxel 离线验证 2026-06-07 19:17:11 +08:00
.clang-format scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序) 2026-06-07 17:41:10 +08:00
.clangd scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序) 2026-06-07 17:41:10 +08:00
.editorconfig scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序) 2026-06-07 17:41:10 +08:00
.gitattributes chore: 添加 .gitattributes 规范行尾(文本 LF, 二进制不转换) 2026-06-07 17:41:36 +08:00
.gitignore build: 切换为方案②-修订(官方 MSVC Qt + 源码 VTK + vcpkg 仅非Qt依赖) 2026-06-07 18:28:30 +08:00
CMakeLists.txt spike(S2): ADS+QVTKOpenGLStereoWidget 浮动/重停靠不黑屏(用户实测) — 三 spike 全绿 2026-06-07 19:35:46 +08:00
CMakePresets.json build: VTK 改用 9.6.2(对 Qt6.11 兼容更好), 源码/构建放 D:; 冒烟程序用 Release 预设匹配 Release VTK 2026-06-07 18:41:24 +08:00
README.md scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序) 2026-06-07 17:41:10 +08:00
vcpkg.json feat(render): DEM 地形+影像贴图(spec ④) + dd_slice 交互切片 2026-06-08 11:25:45 +08:00

README.md

Geopro 3.0 桌面客户端

地球物理勘探数据可视化桌面客户端Qt 6 + VTK 9C++)。复刻 Geopro 3.0 核心「项目分析视图」。

M1 范围、架构与决策见 docs/superpowers/specs/2026-06-07-geopro-desktop-m1-design.md。 上位技术基线见 docs/Geopro3.0_技术选型与架构规约.md。 环境搭建见 docs/ENV_SETUP_Windows.md

技术栈

Qt 6.8 LTSQtWidgets+ VTK 9.3+ · CMake + vcpkg全量含 Qt· MSVC 2022 / C++17 · ADS 停靠 · GDAL/PROJ · OpenSSL · QtKeychain。

目录(设计 §3

src/core/        纯业务,零 Qt/VTK
src/data/        Repository + 解析器
src/net/         ApiClient / AuthService / Credential
src/render/      VTK 场景与 actor单一场景 + 相机预设)
src/view/        QtWidgets 面板
src/controller/  联动编排
src/app/         入口 + 主窗M1 spikeQt+VTK 冒烟程序)
tests/           gtest / Qt Test
tools/           离线验证脚本validate_samples.py
docs/            规约、API、样本数据、设计文档

快速开始

前置VS2022(C++ 桌面开发)、Git、vcpkgVCPKG_ROOT)。详见 ENV_SETUP_Windows.md。

# x64 Native Tools 命令行,项目根
vcpkg x-update-baseline --add-initial-baseline   # 锁依赖版本
cmake --preset msvc-debug                        # 首次编译 Qt+VTK较久
cmake --build build/debug
.\build\debug\src\app\geopro_desktop.exe         # spike 冒烟:应显示一个锥体
ctest --test-dir build/debug                      # 运行单测

当前状态

M1 设计完成v2经双专家评审。进入 spike 预研(设计 §15① 全 vcpkg 构建/部署 ② ADS + QVTKOpenGLStereoWidget 停靠稳定 ③ 真实样本跑通 banded contour。spike 通过后展开完整实现计划。