#ifndef SCENARIOPARAMS_H #define SCENARIOPARAMS_H #include <QObject> template<typename T> struct field_t { T value; bool isUpdated; }; typedef struct ScenGenOutput_t { field_t<bool> linear; field_t<bool> virtualConvex; field_t<float> depth; field_t<float> probeRadius; field_t<float> fieldOfView; field_t<float> probeGeometry; field_t<float> probeFieldOfView; field_t<float> startDepth; field_t<int> rxLineNo; field_t<int> rxFocusPointNo; field_t<float> rxLineDaz; field_t<float> rxPointDax; field_t<float> vcMaxTheta; field_t<float> angle; field_t<float> steering; field_t<float> minScanAx; field_t<float> minScanAz; field_t<float> maxScanAx; field_t<float> virtualOriginalZ; field_t<uint> outputWidth; field_t<uint> outputHeight; field_t<int> compressionType; field_t<int> dynContSelector; field_t<int> dynContGain; field_t<int> grayMapSelector; field_t<int> tintMapSelector; field_t<int> sri; field_t<int> rejectThreshold; field_t<int> enhance; field_t<int> enhanceAlgorithm; field_t<int> persist; }ScenGenOutput_t; template<typename T> void update_field(field_t<T> *t, T value) { t->value = value; t->isUpdated = true; } #endif // SCENARIOPARAMS_H