Commit Graph

64 Commits

Author SHA1 Message Date
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 cdf49020af feat(render): render 层(Scene/ColorLut/GridContourActor/相机预设) + 2D/3D 切换 2026-06-07 21:42:55 +08:00
gaozheng 3d59387ab1 feat(net): ApiClient(QtNetwork 共享会话) + AuthService(验证码+RSA+login2) 2026-06-07 21:26:23 +08:00
gaozheng d32cbbf7c4 feat(net): RSA 加密器(OpenSSL PKCS1v1.5+base64) + 捕获真实 RSA 公钥
- RsaEncryptor: EVP_PKEY 解析公钥(非法 PEM 抛异常) + PKCS#1 v1.5 加密 + base64; 3/3 测试过
- resources/rsa_public_key.pem: 用 Playwright route 注入 setPublicKey hook + 缓存绕过, 真登录捕获的 RSA-2048 公钥
- spec §8.3: RSA 公钥阻塞解除
- vcpkg.json: 加 openssl
2026-06-07 21:17:38 +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 a35ababdd4 feat(core): 补全数据模型(Anomaly + Grid/ScatterField 元字段) 2026-06-07 20:24:05 +08:00
gaozheng 4fdc6f7b86 feat(core): CrsTransform(PROJ 封装, UTM/WGS84/WebMercator 互转)
- RAII 管理 PJ_CONTEXT/PJ;normalize_for_visualization 统一轴序为 (x=经度/东, y=纬度/北)
- vcpkg 加 proj 依赖;core 链接 PROJ::proj(保持 core 纯净,无 Qt/VTK)
- 测试经 CMake gtest_discover_tests 注入 PROJ_DATA,ctest 开箱即用
- 修正用例期望值:UTM49N(516868) 实际经度约 111.16°E(中央经线 111°E);
  WebMercator tfw 原点 114.16°E 在 49N 的 easting 约 825km,均与 PROJ 数据库一致
2026-06-07 20:06:37 +08:00
gaozheng e5a48c5af7 feat(core): IDW 插值器(IInterpolator->ScalarVolume, 含 maxDist 包络裁剪) 2026-06-07 19:53:22 +08:00
gaozheng 868c49ca2c feat(core): 阶梯色阶 colorAt+颜色解析(alpha 量纲按来源) 2026-06-07 19:49:53 +08:00
gaozheng fb0586b6e0 feat(core): 领域模型 ScalarVolume/Grid/ScatterField(点序 i 最快) 2026-06-07 19:46:03 +08:00
gaozheng 238faff56e feat(core): LocalFrame 坐标系(原点偏移+东北轴向+Z基准) 2026-06-07 19:40:23 +08:00
gaozheng 85e4dbea56 spike(S3): VTK banded contour 管线跑通真实网格样本(图#18)
vtkImageData(规则栅格)->vtkDataSetSurfaceFilter->vtkBandedPolyDataContourFilter(GenerateContourEdges) 离屏渲染成功, 验证设计§4.3管线选型(B-1/B-2修正)。
颜色精确映射(colorBar非均匀值)留 render 层用 vtkColorTransferFunction 做。
2026-06-07 19:26: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