gaozheng
989158427e
feat(vtk): Plane2D 策略装入平面 z 生命周期(首勾定z/全消消失)+单元测试
2026-06-30 23:21:38 +08:00
gaozheng
24b53f5e0c
refactor(vtk): 删维度相机/显隐耦合与逐ds拖Z(单一自由场景)
2026-06-30 23:09:58 +08:00
gaozheng
ef56529d8c
feat(vtk): 3D 底图控件移渲染区工具栏(天地图/无+透明度滑块)
2026-06-30 22:54:31 +08:00
gaozheng
aea5b6b8cb
refactor(vtk): TileBasemap 透明度参数化(默认0.5)备多实例与可调
2026-06-30 22:46:00 +08:00
gaozheng
1029bf5037
feat(vtk): 导入雷达入口移到顶部设备菜单(临时测试功能集中化)
2026-06-30 22:41:54 +08:00
gaozheng
11d7dd53b9
feat(vtk): 段构造迁描述符;段头图标条由operations/filters驱动+筛选折叠
2026-06-30 22:32:33 +08:00
gaozheng
b0da3c12fb
feat(vtk): 段头响应式图标工具条 SectionIconBar(溢出折叠+单元测试)
2026-06-30 22:18:26 +08:00
gaozheng
e970ab428e
refactor(vtk): 移除退役的 Column2DDataset(并入统一单列)
2026-06-30 22:03:10 +08:00
gaozheng
70f847058d
refactor(vtk): 抽屉去tab单列; 勾选经描述符路由渲染策略(统一入口,无维度散判)
...
- ColumnDrawer 去 QTabWidget/Column2DDataset/analysisModeChanged, body 直持 CategoryAnalysisTab 单列
- VtkSceneController: 统一入口 setCheckedDatasets((dsId,typeId)) 经 catalog.renderStrategyId 派 3 策略
add/remove, 维护每 typeId 活跃计数 onTypeActivated/Deactivated; checkedDs_/checked2dDs_ 合并为 checked_
- 3 策略持控制器友元引用, 委托回 addDatasetAsync/add2DDatasetAsync/view.removeDataset
- main: pushChecked 解析 dsId→typeId 下发统一入口; 删 col2D 全部接线; 2D 轨迹经 trajectory 段并入单列
- rebuildInternal 据 checked_ 经策略重放(主题/VE/坐标轴重建不丢数据)
- 控制器单测迁移至统一 API (18/18 通过)
2026-06-30 21:56:37 +08:00
gaozheng
286054720e
feat(vtk): 数据集单栏 段按数据动态显隐 + 全空占位提示
2026-06-30 21:22:41 +08:00
gaozheng
72b5f6f25f
feat(vtk): 渲染策略接口+字符串键注册表+3骨架策略(volume/curtain/plane2d)
2026-06-30 21:14:12 +08:00
gaozheng
8f7da3657a
feat(vtk): 类目描述符目录 categoryCatalog(classify谓词+扩展契约)取代 categoryConfigs
...
splitByCategory 改遍历 catalog 用 classify 路由(首个 classify==true 入段);新增 5 段含 trajectory。旧 CategoryConfig/categoryConfigs 暂保留供 CategoryAnalysisTab/CategorySection。同步修正 test_dataset_category 旧断言(段数随 catalog=5)。
2026-06-30 21:05:15 +08:00
gaozheng
7d9f34d3ec
docs(vtk): plan 重构对齐类型抽象(描述符目录+渲染策略注册表)
...
Phase A 改为 A1 描述符目录 categoryCatalog(classify谓词+扩展契约) +
A2 渲染策略接口/字符串键注册表/3骨架策略;勾选经描述符路由策略统一入口(无维度散判);
段头图标由 operations(OpKind)/filters(FilterKind) 驱动;平面z(PlaneZRegistry)与
N个平面底图收进 Plane2DRenderStrategy;加新不删旧过渡(Phase F 删旧分类件)。
2026-06-30 20:50:35 +08:00
gaozheng
3b90b7de6a
docs(vtk): spec 加类型抽象层(描述符+渲染策略注册表+扩展契约)
...
§5 重写为 CategoryDescriptor/categoryCatalog + FilterKind/OpKind/SceneKind +
IDatasetRenderStrategy 字符串键注册表;classify 用谓词+byDdCode/byDsTypeCode 便捷器;
消费方(段/列/控制器)只认抽象不再散判;接入新类型=加描述符(必要时补策略/操作/筛选器);
§3/§6/§7/§8/§9/§11/§12 同步改为描述符+策略驱动并加可扩展性验收。
2026-06-30 20:35:08 +08:00
gaozheng
dba1b32a43
docs(vtk): 合并数据集单栏重构 实现计划(6阶段13任务)
...
A 段配置加维度+trajectory分流;B 单列骨架(动态显隐+空占位+去tab);
C 响应式图标条+筛选折叠;D 导入雷达移设备菜单+3D底图移渲染工具栏;
E 单一自由场景+2D按类型平面z;F 2D平面底图(TileBasemap多实例)。
纯逻辑TDD(段分流/图标溢出/平面z生命周期),UI走build.bat+手动验收。
2026-06-30 20:20:35 +08:00
gaozheng
ac50aaa51e
docs(vtk): 修订重构 spec(平面生命周期/废弃逐ds拖z/…溢出/底图选型)
...
§8.2 平面生命周期:首勾建平面定z(之后固定),全消则平面+底图一并销毁;
§11 逐ds独立拖Z(nudgeSelectedMapLinesZ/mapLineZOffset_)废弃移除;
§6 图标「…」溢出:宽度挤压分支必须工作可验证;
§9.2 选型定为参数化 TileBasemap 多实例(groundZ/opacity/Street纯平),1个3D+N个2D。
2026-06-30 20:13:38 +08:00
gaozheng
bc79530456
docs(vtk): 合并数据集单栏重构 spec(动态段+图标工具条+2D平面底图)
...
单列无标题数据集栏:2D/3D 同列分段、按数据动态显隐、段操作改响应式
图标工具条、2D 按类型一块平面 + N 个平面底图、3D 底图移渲染区工具栏、
导入雷达移顶部设备菜单、废弃 view2DMode/锁定俯视相机,单一自由场景共存。
2026-06-30 20:07:52 +08:00
gaozheng
30bdadd234
Merge pull request 'feat/3d-radar-volume-ingest' ( #9 ) from feat/3d-radar-volume-ingest into main
...
Reviewed-on: https://gitea.geomative.cn/gaozheng/geopro/pulls/9
2026-06-30 19:14:55 +08:00
gaozheng
571a72701d
feat(radar): 三维交互精修 + 增益切换 + 视角导航(B#1/#2) + 全链路方案 spec
...
交互精修(雷达+反演通用):
- 切片拾取精确化: 光标射线 vs 切片真实矩形求交 + 可见数据(alpha)双判定, 去外扩
- 取消选中: 点体/空白/帘面即取消(精确命中判据) + Esc 兜底; 选中后上下拖动方向修正
- 滚轮步长: 按沿法向体素间距 x N(Shift 粗调), 不随体长跳变
- 双击正视: 缩放到切片(面内尺寸+视角框住), 不再又小又远
- 不透明度: 各向异性体用特征尺度(门控; 近立方反演维持原对角线)
视角导航(B 方案):
- #1 绕拾取点旋转: 无选中时绕光标射线穿体中段点(按下捕获/拖动固定), 不甩飞
- #2 沿线位置滑块: 雷达专属, 沿最长轴 dolly 到窗口(focusAlongLongAxis), 仅细长体显示
雷达显示增益: 右键切 AGC/保幅 tpow/关, 纯显示重建不动原始数据
spec: 落地 导入->处理->渲染 全链路方案(结合 POC 评估), 定预渲染可选->混合渲染源(IVolumeRenderSource)决策
2026-06-30 18:58:42 +08:00
gaozheng
b2d130a7bf
fix(radar/perf): 大体开启交互期采样距自适应,旋转流畅停手全质量(不降数据)
...
根因:VoxelActor 体绘制 SetAutoAdjustSampleDistances(0)(全程全质量) +
SampleDistance=0.3×minSp。雷达体 dz≈9.4mm(516采样/~4.8m)→ 单条光线 ~1700
采样步,每帧数十亿采样,旋转每帧都全质量 → 卡。原设定是为小反演体(~7ms/帧)调的。
修复:体素>4M 的大体开启 AutoAdjust/InteractiveAdjust——旋转时 VTK 自动加大
采样步保流畅,停手即恢复 0.3×minSp 出全质量帧。只降【渲染期】采样、不动数据;
切片/异常取自全分辨率体,保真不受影响。小体保持全程全质量避免突跳。
2026-06-29 16:44:42 +08:00
gaozheng
cda84adcee
fix(radar): 三维分析栏勾选(体/切片)隐藏不透明引导层,露出渲染
...
根因:中央引导层 emptyState(不透明 QFrame, background=canvas/bg)只在
objectTree.checkedSourcesChanged(对象树测线勾选)时隐藏(main.cpp:1612)。
雷达体由三维分析栏(CategoryAnalysisTab)勾选触发渲染——日志确认 addVolume
radar-1 已渲染——但该路径不碰 emptyState(因 emptyState 在 pushChecked 之后
才声明,分析渲染路径拿不到它),引导层不隐藏 → 盖住已渲染的体,用户只见
"勾选左侧数据集开始渲染"占位文本。
修复:用可后置赋值的回调把引导层隐藏接进 pushChecked(剖面∪三维分析 并集),
场景有勾选内容即隐藏;对象树隐藏条件并入 checkedAnalysis(取消勾选对象树不再
盖住仍渲染的雷达体)。
2026-06-29 15:45:47 +08:00
gaozheng
63ab099f76
fix(radar): 导入入口从隐藏菜单栏改到三维体段头按钮(app无原生菜单栏)
...
根因:app 经 window.setMenuWidget(TopBar) 占用 QMainWindow 菜单栏槽位,
原生 QMenuBar 不显示(全 app 无菜单栏),故 Task8 放在 menuBar() 的「三维雷达」
菜单根本看不到。
修复:入口迁到三维体(voxel)段头「+ 导入雷达测线」按钮(QToolButton+InstantPopup,
镜像现有「+新增三维体」),弹出 规范化(.head/.data)/Impulse(.iprb) 两项 →
CategorySection.radarImportRequested(impulse) → CategoryAnalysisTab 转发 →
main.cpp 走原导入流程。删除死的 menuBar 代码 + QMenuBar include。
2026-06-29 15:13:53 +08:00
gaozheng
e48b679255
docs(radar): 计划 Global Constraints 修正构建命令(build.bat, cmake不在PATH)
2026-06-29 13:37:43 +08:00
gaozheng
1e931e4f85
fix(radar): dd_radar_3d 补进 ddCode→维度映射(dimOf/dimensionOf)
2026-06-29 13:35:47 +08:00
gaozheng
717bdbb70c
feat(radar): Impulse 测线本地导入入口(双数据集互证下游)
...
radarMenu 追加「导入Impulse测线目录(.iprb)…」动作,复用 createGprVolume
(eager 同步建体,预填 cachedGrid)。内层 lambda 按引用捕获 window 修正
QMainWindow 拷贝构造删除/showToast 非 const QWidget* 编译错误。
2026-06-29 13:19:12 +08:00
gaozheng
2ba9d07f6c
feat(radar): 导入入口 + dd_radar_3d 切片/色阶/详情 gate 放开
2026-06-29 13:13:01 +08:00
gaozheng
25bdd5cc71
feat(radar): registerRadarDataset 登记 dd_radar_3d DS + loadVolume 懒加载后台建体
2026-06-29 13:05:02 +08:00
gaozheng
a865264cd1
feat(radar): 数据层 createRadarVolumeGrid(规范化->VolumeGrid)
2026-06-29 12:53:45 +08:00
gaozheng
241319b84b
feat(radar): 规范化体 bridge buildLineVolumeFromNormalized
...
将 RadarVolumeAssembler.cpp 从 geopro_gpr3dv_bridge 迁入纯 geopro_io_gpr,
避免 io_gpr 反链 bridge 形成循环依赖。新增 NormalizedRadarVolumeBridge
组合 reader(.head/.data) + assembleRadarVolume → BuiltI16(X=道/Y=通道/Z=采样)。
2026-06-29 12:46:08 +08:00
gaozheng
d2e7314ffb
feat(radar): 规范化 .cor 轨迹解析(P1 配准预留)
2026-06-29 12:36:49 +08:00
gaozheng
a9e2d98d15
feat(radar): 规范化 .data 立方体读取(position-major/16bit/字节序)
2026-06-29 12:30:28 +08:00
gaozheng
47e94592ce
feat(radar): 规范化 .head 解析(维度/字节序/通道偏移/深度间距)
2026-06-29 12:23:31 +08:00
gaozheng
abd3027610
refactor(gpr): 抽出共享 assembleRadarVolume,Impulse 路改调(消填体 DRY)
2026-06-29 12:14:25 +08:00
gaozheng
18b78a85d3
docs(radar): DS优先(dd_radar_3d)设计修订 + 实现计划(过3轮架构评审)
...
- spec 改 DS 优先:导入→登记 dd_radar_3d DS(非游离 dd_voxel vol-N)→按 DS 渲染。
ddCode 对齐数据字典 DD0623(dd_radar_3d 体/dd_trajectory_data 轨迹/dd_voxel 仅反演)。
关键发现:运行期体渲染只认 volumes_ 成员、不看 ddCode → 接入面极小。
- 实现计划 9 task(TDD):reader→共享 assembleRadarVolume(消DRY)→bridge→
createRadarVolumeGrid→registerRadarDataset+loadVolume 懒加载后台建体→导入入口+
dd_radar_3d 切片/色阶/详情 gate→双数据集互证。
- 3 轮 opus 架构评审已落修:HIGH-1 填体抽共享helper、HIGH-2 明星路in-app属首次、
CRITICAL CategorySection切片gate、HIGH eager建体冻UI/MEDIUM spinner→改懒加载后台线程。
2026-06-29 11:53:33 +08:00
gaozheng
4da11f6185
feat(radar): 三维雷达接入设计 + Mala 转换器原型(已过架构评审)
...
- tools/radar_convert: RADAR_TYPE_MALAMIRA 转换插件原型(info/convert/probe)
.rad→.head / .rd3→.data(原样) / .pos→.cor;probe 用真实数据确诊数据体
主序 = position-major reshape(K,M,N),X=道/Y=通道/Z=采样,无需轴置换
- docs/spec: 2026-06-29 三维雷达体渲染+切片+异常接入设计
核心论点=只换最内层 reader、下游渲染/切片/异常链复用;含已验证数据事实、
内存实算、插件化转换层、双数据集测试策略;已过 opus 架构评审(PASS-WITH-CONCERNS,
HIGH-1 填体逻辑须抽共享helper / HIGH-2 明星路 in-app 渲染属首次非已验证 已并入)
- samples/radar/malamira_南同大道: 6 线 .head/.cor 入库(大 .data gitignore,附重生成命令)
- 记录客户文档 §3.3 BITS 公式 bug(漏 SAMPLES 维),须同步后端
2026-06-29 10:03:48 +08:00
gaozheng
868cc4daba
Merge pull request 'fix/3d-volume-blanking-mask' ( #8 ) from fix/3d-volume-blanking-mask into main
...
Reviewed-on: https://gitea.geomative.cn/gaozheng/geopro/pulls/8
2026-06-28 22:37:24 +08:00
gaozheng
e6fb087a7f
docs(detail-view): 新增数据集详情视图架构与扩展指南
...
给同事无缝接手"新增一种 ds 类型详情页"的交接文档:端到端数据流、5 个核心
抽象(ViewKind/TabSpec/策略+注册表/IDetailView/payload+DetailLoad)、现有 5 种
类型对照表、分层职责(带 file:line)、扩展配方(5A 复用视图/5B 全新视图 + 代码
骨架)、关键约定与坑、触碰文件速查表、自测建议。基于精读全链路 + Explore 代理
交叉验证。
2026-06-28 22:34:54 +08:00
gaozheng
eef8188bcb
feat(3d): 色阶跨视图同步真源 + 三维体/切片白化与不透明度重做
...
- 跨视图色阶单一真源 DatasetViewState:2D详情/3D帘面体共用按dsId的色阶,编辑→真源
→各视图实时联动且无信号回环;散点(type1) load-then-save 回写,避免覆盖网格的
lineConfig/层级方案(共享同一条 businessCode="" 后端记录)。
- 色阶两级透明度:ColorScale.globalOpacity 独立存储不烘焙、渲染时与每色 alpha 相乘;
对话框回显真实值、单色独立;properties 补全 lvlSchemeType/logLinesCount/
equalAreaLayerCount,避免整条覆盖写清空;"整体透明度"改名"不透明度"、显示 0~100。
- 切片白化:SetWindowLevel 钉死 [vmin,vmax] + LUT 0号白化槽,哨兵真透明
(tests/spike/slice_alpha_probe.cpp 真 widget 离屏实测);同时纠正切片颜色映射。
- 切片不透明度:与三维体解耦的独立模型(100%/三维体+50%/跟随),默认100%;保存切片建
自己的色阶对象(颜色快照+不透明度),已保存切片走列表右键"色阶"编辑自身。
- 三维体白化:二值 mask 真白化(NoData 排除出插值,符合 ESRI/GDAL/Surfer 标准);改体
色阶改为原地更新传函(不重建image),未保存切片不再被刷掉且跟随改色;GPU 探测+CPU
回退;体不透明度归一为色阶"不透明度"单一控制(去 kMaxOpacity、移除工具条"透"滑块)。
- 持久化:网格视图补 saveColorGradation;DatasetChartDto.parseColorBar 回读 opacity。
详见 docs/superpowers/specs/2026-06-27-inversion-3d-volume-surfer-method-and-gaps.md §7。
2026-06-28 22:14:46 +08:00
gaozheng
c653a659b2
Merge pull request 'feat/vtk-3d-view' ( #7 ) from feat/vtk-3d-view into main
...
Reviewed-on: https://gitea.geomative.cn/gaozheng/geopro/pulls/7
2026-06-27 18:43:52 +08:00
gaozheng
4f6abf0c83
feat(3d-view): 三维体渲染稳定性修复 + 透明度可调/交互优化
...
- 修偶发"不渲染/淡蓝/很实"根因:合并体值域取"首个到达源色阶"随网络到达
顺序抖动→改取所有源色阶 vmax 中位者(确定性+抗单线离群)
- 体素标量 double→float:GPU 体绘制对 double 处理不稳/间歇出空,float 更稳且省显存
- 源剖面加载瞬时失败(如后端 502)自动重试,避免一条抖动致整体建不出;失败弹 toast 不再静默
- 退化薄体(共面剖面 ny/nz=1)网格每维补到≥2,避免 vtkGPUVolumeRayCastMapper 拒绝渲染
- 三维体透明度可调:工具条「透」按钮+弹出滑块(默认 0.30,实时改已渲染体)
- 工具条 z 序修复:引导层挂 vtkWidget 并 raise,工具条/提示再 raise 其上(缩小渲染区不再被挡)
- 收起左栏同步 QSplitter 尺寸,消除残留空白
- 切换项目清空三维体/切片/异常列表
- VTK 警告/错误转 Qt 日志,不再弹独立 vtkOutputWindow 窗口
- 勾选非三维体 ds 首次加载也显示等待动画(复选框↔spinner)
- 新建三维体后该行多拍重试滚动到分析栏顶部
2026-06-27 18:32:07 +08:00
gaozheng
9b4f172809
fix(3d-view): 二维/三维分析切换时取消前视图选中
...
三维分析选中切片后切到二维分析,残留的selected_使InteractionManager::onWheel
持续消费滚轮(二维下无法缩放),且切回三维仍残留高亮。setMode2D进入二维时清切片
选中+高亮,并经onSliceSelectionChanged("")联动清三维分析列表选中行与异常高亮。
与VtkSceneView::setAnalysisMode2D离开二维时clearMapLineSelection清足迹选中相对称。
2026-06-26 23:43:26 +08:00
gaozheng
d5e3522bfa
feat(project-menu): 项目管理菜单按Excel接入web嵌入页
...
- 项目管理一级菜单仅保留需「直接嵌入」的4个子菜单(在线监测/工具组件/批量导出/
告警管理,共10项,对应Excel「单个项目」页签第10~21行带嵌入地址者);其余全部隐藏
(数据视图/项目配置/数据管理/业务管理/项目资料管理/自动任务/模板管理)
- 新增 ProjectWebView(内嵌QWebEngineView):DocumentCreation阶段注入
localStorage['token']=登录token,早于页面脚本执行
- 中央区用QStackedWidget承载:page0=工作台,page1=web整窗;点菜单项整窗加载,
顶部视图菜单「分析视图」切回工作台
- URL: tenant.geomative.cn/#/embed?space=3&projectId=<运行时项目id>&target=<target>
(space=3为项目空间常量;两个OpenAPI文档均无embed相关space字段)
2026-06-26 23:43:06 +08:00
gaozheng
fadcd12239
fix(gpr): 补 Api3dRepository::createGprVolume 声明 + 仓储透传 targetDy
...
HEAD 的 Api3dRepository.cpp 已定义 createGprVolume,但 .hpp 缺该声明
(成员定义无声明 → geopro_data 编译不过)。本提交补上声明,修复构建。
并把线内通道插值 targetDy(默认 2.5cm) 透传到 createGprVolumeGrid →
app 渲染链也得密 Y 体(与 io::gpr 桥同口径,0=不插值)。
2026-06-26 23:30:04 +08:00
gaozheng
cf1c06cde8
feat(gpr): 三维体 LOD 多线渲染 + 全局切片(深度/横切/顺路) + 诊断
...
渲染架构改 LOD 中心:各线独立 mapper + 视野自适应 LOD,弃 multi-volume 单遍。
实测确诊多线卡顿真因是"没用 LOD、渲整卷大贴图"(passcost 排除固定开销;
overlapStat 实测重叠 ~9× 非 20×;ESS 实测仅 ~2× 不解决重叠),非渲染器问题。
切片(view-all --slice [updown|leftright|frontback]):
- 深度 C-scan:逐线整张水平片(深度共面→拼成完整 C-scan,全覆盖、原生分辨率)
- 横切/顺路:全局世界面 reslice 各线到同一面 + blend(竖直面几何上每线只切细断面)
- ↑↓ 整片扫过 / [ ] 体透明度 / v 体显隐 / --sliceAt 跳位
其他:通道插值(2.5cm,从.ord读)接入 gpr_poc;--bgSuppress 压背景突出反射;
slice 命令复用桌面端 SliceTool 切单线。
诊断命令:ess-stat(空块潜力)/--overlapStat(重叠层数)/passcost(N遍vs重叠隔离)。
分析文档:性能确诊(否定 ESS/OSPRay,LOD 为通用解)。
2026-06-26 23:25:51 +08:00
gaozheng
5bf3a8e5dd
docs(backlog): 登记 OPT-003 二维分析C期 dd_raster(阻塞·待后端栅格端点)
...
A/B 期已实现(6a10975/bdebe54);C 期=dd_raster 栅格地理配准渲染,阻塞在后端无
栅格数据端点(实测 business_OpenAPI.json 无 dd_raster/栅格影像端点)。须后端提供
返回「像素+四至/仿射+投影」的端点后方可落地。
2026-06-26 22:01:11 +08:00
gaozheng
bdebe54859
feat(3d-view): 二维分析B期(足迹高程Z拖动)+选择联动/滚轮升降/工具条禁用
...
- B期:二维分析里选中足迹(单击/Ctrl 多选)→ 竖向拖动只改世界 Z(锁 XY)、
顶部实时高程读数浮层;Z 偏移按 dsId 持久(切走再回/全量重建保留)。
VtkSceneView 加 pickMapLineAt/nudgeSelectedMapLinesZ/selectedMapLineZ(vtkCellPicker
+PickFromList 只拾可见足迹、选中黄高亮加粗、mapLineZOffset_ 持久);PickInteractorStyle
lock2D 下命中足迹→Z 拖动(onPick2D/onDrag2D/onDrag2DEnd + worldPerPixelZ 像素→世界Z);
InteractionManager::pickStyle() 暴露样式;main.cpp 接回调 + 读数浮层。
- 列表↔VTK 双向选择联动:Column2DDataset 多选行 + selectedDatasetsChanged/setSelectedDsIds;
VtkSceneView onMapLineSelectionChanged/setSelectedMapLines;两向各自断环。
- 滚轮升降:onWheel2D——有选中足迹时滚轮改其 Z(一格≈拖动24px)、消费滚轮,否则缩放;
读数浮层滚轮后 1.2s 自动隐藏。
- 工具条:二维分析激活禁用 6 向快捷视图(会改朝向破坏近俯视锁定),切回三维恢复。
2026-06-26 21:56:45 +08:00
gaozheng
6a10975b6b
feat(3d-view): 二维分析A期(一场景两相机)+视图切换/底图/增量修复
...
- 切「二维分析」tab:锁近俯视(下压12°≈78°)、禁旋转(左键平移=仅平移+缩放)、
按维度翻 actor 可见(轨迹↔体/帘面/异常,不清空)、切片 SetEnabled 显隐、坐标轴在二维移除;
地形+底图常驻。ColumnDrawer 新增 analysisModeChanged 信号串起三处协作。
- 修复切回三维数据不取景:按目标维度重置取景基线(VtkSceneController::onAnalysisModeChanged),
computeDataBounds 只计可见 prop,render 朝向认 analysisMode2D_。
- 修复底图在远离锚点的数据处为空(如台湾,frame 锚深圳):底图取瓦片中心+距离剔除
改用相机焦点(cenX_/cenY_)而非坐标系原点。
- 修复删到空不重锚致底图错位:removeDataset 清空 dsProps_ 时复位 frameAnchoredToData_。
- 修复二维分析列表非增量:对象树勾选刷新保留已勾选足迹(对齐 CategorySection::rebuildList),
不再清空渲染/丢失列表选中。
- 新增控制器回归测试 2 项(切模式取景基线)。
2026-06-26 20:53:53 +08:00
gaozheng
4e998374e7
docs(handoff): 2026-06-26 创建异常打磨+切片异常交互+二维分析改造交接
2026-06-26 18:09:35 +08:00
gaozheng
227ee8fdef
docs(spec): 二维分析锁定俯视相机+内容显隐+高程拖动 spec
...
一个场景两相机:二维分析=同一 3D 地形场景的锁定近俯视(禁旋转,仅平移缩放);切 tab 翻另一方数据集
可见标志(不清空,性能零代价);2D 内容选中后沿 Z 高程拖动分离(锁 XY,实时读数);dd_raster 过滤+地理
配准贴地形(C期,依赖端点)。含与雷达反馈的边界、维度口径(对齐 DD0623)、分期 A/B/C、风险、验收。
2026-06-26 18:04:53 +08:00
gaozheng
c1a824e292
fix(data): 二维维度分类对齐数据字典 DD0623(去已删除轨迹类型)
...
据数据字典 DD0623:足迹型 2D 只 dd_trajectory_data 为统一通用轨迹「保留」(已并入
dd_radar_rtk_trajectory);dd_transient_electromagnetic_trajectory_data / dd_radar_channel_trajectory /
dd_radar_rtk_trajectory 字典均标「删除」。dimensionOf(Api3d/LocalSample3d)从 4 种轨迹收敛为
dd_trajectory_data;同步更新测试。(dd_raster=本次新增 2D 栅格,与渲染一并放第二步)
测试:439/439 通过
2026-06-26 17:17:07 +08:00