#ifndef CSCANGRIDDER_H #define CSCANGRIDDER_H #include "GPRDataModel.h" #include struct CScanGridOptions { int sampleIndex = 0; double cellSizeM = 0.05; double searchRadiusM = 0.50; double idwPower = 2.0; bool smoothingEnabled = true; double smoothingSigmaCells = 0.9; int maxGridWidth = 2048; int maxGridHeight = 2048; int maxGridCells = 250000; double clipLowPercent = 2.0; double clipHighPercent = 98.0; }; struct CScanGridResult { bool valid = false; double originX = 0.0; double originY = 0.0; double dataMinX = 0.0; double dataMinY = 0.0; double dataMaxX = 0.0; double dataMaxY = 0.0; double cellSizeM = 0.05; int width = 0; int height = 0; QVector values; QVector validMask; QVector nearestLine; QVector nearestChannel; QVector nearestTrace; float displayMin = 0.0f; float displayMax = 1.0f; }; class CScanGridder { public: static CScanGridResult build(const QVector &surveyLines, CScanGridOptions options); }; #endif // CSCANGRIDDER_H