28 lines
929 B
C++
28 lines
929 B
C++
#ifndef GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP
|
||
#define GEOPRO_CORE_ALGO_GPRVOLUMEBUILDER_HPP
|
||
|
||
#include <array>
|
||
|
||
#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<double, 3> origin{{0, 0, 0}};
|
||
std::array<double, 3> 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
|