ViewAdaptiveVolumeSource 构造时一次性在主线程建整卷最粗「各轴≤16384」层 单纹理底图 baseImage(),永远持有、永不释放、绝不被异步路径触碰——任何视角/ 任何运动中底图都盖住整个体,拖动/缩放绝不空白。高清(currentImages)异步重组 当前视野后叠在底图之上局部覆盖,未就绪时只显底图。gpr_poc view 用两个 vtkVolume (底图先渲、高清叠加),新增 --preview --base 出整卷概览底图截图。为 morph(C3-4)/ 运动跟踪(C3-7)打两层结构。 |
||
|---|---|---|
| .. | ||
| actors | ||
| ground | ||
| interact | ||
| lod | ||
| source | ||
| CMakeLists.txt | ||
| CameraPreset.cpp | ||
| CameraPreset.hpp | ||
| ColorLutBuilder.cpp | ||
| ColorLutBuilder.hpp | ||
| ContourBands.cpp | ||
| ContourBands.hpp | ||
| README.md | ||
| Scene.cpp | ||
| Scene.hpp | ||
| VoxelFromScatters.cpp | ||
| VoxelFromScatters.hpp | ||
README.md
render — VTK 渲染层
独占 vtkRenderWindow,统一创建/持有所有 actor(view 不持有 actor)。单一场景 + 相机预设(设计 §4)。
子目录:
Scene— 场景图、项目世界坐标空间、可见性;持有 RenderWindowactors/— ScatterActor, GridContourActor, VoxelVolumeActor, AnomalyActor, TerrainActorcolor/— ColorLutBuilder(colorBar → 离散 vtkLookupTable), ScalarBarcamera/— CameraPreset(Top2D / Free3D)interact/— SlicePlaneMath(纯几何,可测)+ SliceTool(vtkImagePlaneWidget:轴向 + 任意 45° reslice 着色剖面)+ PickInteractorStyle(拾取/双击正视/滚轮)+ InteractionManager(持切片/选中态/分发)。切片走 vtkImageReslice 路线(vtkImagePlaneWidget 内部 reslice + 纹理),非 vtkCutter(spec §9.1)ground/— IGroundLayer + DemImageGroundLayer(M1);TileGroundLayer(M1.5)
网格管线:vtkImageData(+vtkWarpScalar) → vtkDataSetSurfaceFilter → vtkBandedPolyDataContourFilter(GenerateContourEdgesOn)(设计 §4.3)。