#ifndef GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP #define GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP #include #include "algo/IInterpolator.hpp" // GridSpec #include "model/GprSurvey.hpp" #include "model/ScalarVolumeI16.hpp" // ScalarVolumeI16, Quant namespace geopro::core { // 结构化建体产物:int16 量化体 + 量化映射 + 几何(origin/spacing)+ 物理值域。 struct BuiltI16 { ScalarVolumeI16 vol{0, 0, 0}; Quant quant; std::array origin{{0, 0, 0}}; std::array spacing{{0, 0, 0}}; double vminPhys = 0, vmaxPhys = 0; }; // 结构化建体:X/Z 直接落格(取最近道/采样)+ 仅 Y 向跨通道 1D 线性插值。 // 超 X/Z 范围或 Y 越界且超 maxDist 的网格点 → ScalarVolumeI16::kBlank(不外推)。 BuiltI16 buildGprVolume(const GprSurvey& s, const GridSpec& spec); } // namespace geopro::core #endif // GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP