gaozheng
|
fa4bbf08b3
|
feat(data): ApiProjectRepository 实现 5 个导航接口
|
2026-06-09 11:40:40 +08:00 |
gaozheng
|
695aa8c310
|
fix(data): buildStructTree 用 visited 集防环(不可信结构数据避免无限递归)
|
2026-06-09 11:38:02 +08:00 |
gaozheng
|
2bc22a55d6
|
feat(data): buildStructTree 扁平→树(叶子=TM,含直挂/孤儿/空表)
|
2026-06-09 11:33:14 +08:00 |
gaozheng
|
a32bd763da
|
feat(data): NavDto parseProjects/parseStructNodes/parseDatasets
|
2026-06-09 11:16:36 +08:00 |
gaozheng
|
bf67c01ac9
|
feat(data): NavDto 脚手架 + parseWorkspaces(含测试接入)
|
2026-06-09 11:00:39 +08:00 |
gaozheng
|
fc458ec702
|
feat(data): 导航模型(Workspace/ProjectSummary/StructNode) + IProjectRepository 接口
|
2026-06-09 10:56:51 +08:00 |
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 |
gaozheng
|
f51fe44533
|
feat(render): 散点#17(ScatterActor) — 数据详情「反演剖面/原数据」切换
- ScatterActor(buildScatter): ScatterField+ColorScale → vtkPolyData 彩色方块散点
(x=距离/y=深度取负, 与#18同坐标系; 点标量+LUT, 色阶范围优先colorBar真实分段值)
- 离屏 verify_scatter.png 核对吻合 Python 真值 ref_17(三角拟断面/顶部深蓝/右侧紫)
- 接入 app 数据详情: 工具条「反演剖面(#18)/原数据(#17)」互斥切换, rebuildDetail 统一重建
- LocalSampleRepository.loadScatterColorScale: 散点自带色阶(范围/分段与网格色阶不同)
- 修复陈旧测试 test_curtain(断言改为 vtkPolyDataMapper+banded 非空 polydata)
- 新增 test_scatter 2 例(点数/verts/上色/y取负/退化安全); 全 31 测试绿
|
2026-06-08 07:43:49 +08:00 |
gaozheng
|
7713271557
|
refactor(app): 中央地图/3D单场景(竖直帘面)+下方数据详情(#18平面剖面), 去除体素节点与模式混乱
|
2026-06-07 22:53:29 +08:00 |
gaozheng
|
51f217e1dd
|
refactor(app): 视图改为对象树勾选驱动+单一2D/3D相机, 体素作为dd_voxel数据集(去除三模式混乱)
|
2026-06-07 22:29:21 +08:00 |
gaozheng
|
ebf1e0929d
|
feat(render): dd_voxel 体绘制(IDW->vtkImageData->GPU RayCast) + 交互切片
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-07 21:51:21 +08:00 |
gaozheng
|
f48b9ebb8f
|
feat(data): Repository 接口 + LocalSampleRepository(QFile 读中文路径)
- 新增 repo/RepoTypes.hpp(POD 项目结构树)、IDatasetRepository.hpp(同步接口)
- LocalSampleRepository 用 QFile + QString::fromUtf8 读真实中文路径样本(UTF-8),
合成单 GS/TM/DS 树(DsNode.id=grid1),映射 grid/colorscale/scatter/anomaly 文件
- geopro_data 链 Qt6::Core(AUTOMOC OFF、无 Q_OBJECT);core 仍无 Qt 依赖
- 测试 geopro_tests 因链 Qt 需运行时 DLL 在旁:POST_BUILD 拷贝 TARGET_RUNTIME_DLLS
+ gtest DISCOVERY_MODE PRE_TEST(推迟枚举到运行期)
- 新增 tests/data/test_local_repo.cpp:实测中文路径读取 + scatter 2597/anomaly 3 全链路
|
2026-06-07 20:35:20 +08:00 |
gaozheng
|
fe5936a3a6
|
feat(data): 样本 JSON 解析器(grid/scatter/colorscale/anomaly)
|
2026-06-07 20:27:58 +08:00 |
gaozheng
|
87eba2c5a3
|
scaffold: M1 工程骨架(CMake+vcpkg+分层目录+spike冒烟程序)
- 顶层 CMakeLists / CMakePresets / vcpkg.json(全 vcpkg, Qt+VTK[qt] 共用一份 Qt)
- .clang-format / .clangd / .editorconfig(AI 编码上下文基础设施, 规约 §10.1)
- src 分层目录(core/data/net/render/view/controller/app)+ 各层 README
- src/app: Qt+VTK 冒烟程序(锥体), 作 spike#1/#2 起点
- tests: gtest 冒烟 + ctest 接入
- README
|
2026-06-07 17:41:10 +08:00 |