沿X按brick对齐分slab逐块建level0体:assembleGprSurveySlab→共享采样核 sampleGprPoint→writeBrick→释放,峰值内存只随单slab,不持整卷。产出与非流式 buildGprVolume+ChunkedVolumeStore::write逐brick+meta完全一致(对拍守护)。 - 真DRY:抽buildGprVolume的逐点采样核(X/Z落格+Y向1D插值+quant.toQ)为共享自由 函数geopro::core::sampleGprPoint,整卷版与流式版同调,零漂移;原对拍测试守护 buildGprVolume公开行为不变。 - 依赖方向:StreamingVolumeBuilder置src/data,命名空间geopro::data,编进 geopro_store(store增链geopro_io_gpr;io_gpr仅依赖core,无环),core保持纯净。 - 全局量化一致:扫全线全部道tile定vmin/vmax(每次只持一道块),scale/offset与 buildGprVolume同式,逐体素量化一致。 - B3 MEDIUM:StreamingVolumeWriter改持久ofstream成员(构造开/writeBrick复用/ finalize关),消除每块open/close;同步更新对应回归测试的writer作用域。 |
||
|---|---|---|
| .. | ||
| algo | ||
| geo | ||
| model | ||
| CMakeLists.txt | ||
| README.md | ||
README.md
core — 纯业务层
铁律:绝不 #include 任何 Qt / VTK 头(含 IInterpolator,返回 core::ScalarVolume)。可独立单元测试。
子目录(设计 §3):
model/— 领域模型:Project, GsObject, TmObject, DsObject, Anomaly, ColorScale, Grid, ScatterField, ScalarVolumegeo/— LocalFrame(原点 + Z 基准 + 轴向)、CrsTransform(PROJ 封装,多 CRS)algo/— IInterpolator 接口 + IdwInterpolator(返回 core 中立的 ScalarVolume)