#ifndef SSMPROBEPROPERTIES_H #define SSMPROBEPROPERTIES_H #include #include #include "model/databaseManager/dto/ProbeProperties/DbmProbeProperties.h" struct SsmProbeProperties_t { bool linear; float pitch; float radius; int subAzimuthNo; int subElevationNo; int elementNo; float elementWidth; float elementHeight; float fieldOfView; QList impulseResponse; QList angleValues; QList focusValues; QList hiFocusValues; int multiFocusStep; QList otiC0Values; QList > ffcValues; QList depthData; QList frequencyValues; QList hiFrequencyValues; QList dFrequencyValues; QList pwFrequencyValues; QList > criSteeringAngles; float rxGain; float txGain; QList lineDensityValues; QList dLineDensityValues; int halfCycleNoValues; int ffcHalfCycleNoValues; QList hiHalfCycleNoValues; QList dopplerHalfCycleNoValues; QList priExtensionValue; float dPriExtensionValue; float txResolution; float rxResolution; float mLinesPri; int simultPwFrameRate; QList virtualConvexLineDensityValues; float vcMaxTheta; QList piValues; QList hiNames; QList AtgcB; QList AtgcD; QList AtgcPW; QList AtgcReserve; void init(DbmDtoProbeProperties temp) { linear = !temp.geometry; pitch = static_cast(temp.pitch); radius = static_cast(temp.radius); subAzimuthNo = temp.subAzimuthNo; subElevationNo = temp.subElevationNo; elementNo = temp.elementNo; elementWidth = static_cast(temp.elementWidth); elementHeight = static_cast(temp.elementHeight); fieldOfView = static_cast(temp.fov); multiFocusStep = temp.multiFocusStep; rxGain = static_cast(temp.rxGain); txGain = static_cast(temp.txGain); halfCycleNoValues = temp.halfCycleNoValues; ffcHalfCycleNoValues = temp.ffcHalfCycleNoValues; dPriExtensionValue = static_cast(temp.dPriExtensionValue); txResolution = static_cast(temp.txResolution); rxResolution = static_cast(temp.rxResolution); mLinesPri = static_cast(temp.mLinesPri); simultPwFrameRate = temp.simultPwFrameRate; vcMaxTheta = static_cast(temp.vcMaxTheta); otiC0Values = temp.otiC0Values; frequencyValues = temp.frequencyValues; hiFrequencyValues = temp.hiFrequencyValues; dFrequencyValues = temp.dFrequencyValues; pwFrequencyValues = temp.pwFrequencyValues; hiHalfCycleNoValues = temp.hiHalfCycleNoValues; dopplerHalfCycleNoValues = temp.dopplerHalfCycleNoValues; hiNames = temp.hiNames; impulseResponse.clear(); for(auto i = 0; i < temp.impulseResponse.length(); i++) { impulseResponse.append(static_cast(temp.impulseResponse[i])); } angleValues.clear(); for(auto i = 0; i < temp.angleValues.length(); i++) { angleValues.append(static_cast(temp.angleValues[i])); } focusValues.clear(); for(auto i = 0; i < temp.focusValues.length(); i++) { focusValues.append(static_cast(temp.focusValues[i])); } hiFocusValues.clear(); for(auto i = 0; i < temp.hiFocusValues.length(); i++) { hiFocusValues.append(static_cast(temp.hiFocusValues[i])); } ffcValues.clear(); for(auto i = 0; i < temp.ffcValues.length(); i++) { QList t; for(auto j = 0; j < temp.ffcValues[i].length(); j++) { t.append(static_cast(temp.ffcValues[i][j])); } ffcValues.append(t); } depthData.clear(); for(auto i = 0; i < temp.depthValues.length(); i++) { depthData.append(static_cast(temp.depthValues[i])); } criSteeringAngles.clear(); for(auto i = 0; i < temp.criSteeringAngles.length(); i++) { QList t; for(auto j = 0; j < temp.criSteeringAngles[i].length(); j++) { t.append(static_cast(temp.criSteeringAngles[i][j])); } criSteeringAngles.append(t); } lineDensityValues.clear(); for(auto i = 0; i < temp.lineDensityValues.length(); i++) { lineDensityValues.append(static_cast(temp.lineDensityValues[i])); } dLineDensityValues.clear(); for(auto i = 0; i < temp.dLineDensityValues.length(); i++) { dLineDensityValues.append(static_cast(temp.dLineDensityValues[i])); } priExtensionValue.clear(); for(auto i = 0; i < temp.priExtensionValue.length(); i++) { priExtensionValue.append(static_cast(temp.priExtensionValue[i])); } virtualConvexLineDensityValues.clear(); for(auto i = 0; i < temp.virtualConvexLineDensityValues.length(); i++) { virtualConvexLineDensityValues.append( static_cast(temp.virtualConvexLineDensityValues[i])); } AtgcB.clear(); for(auto i = 0; i < temp.AtgcB.length(); i++) { AtgcB.append(static_cast(temp.AtgcB[i])); } AtgcD.clear(); for(auto i = 0; i < temp.AtgcD.length(); i++) { AtgcD.append(static_cast(temp.AtgcD[i])); } AtgcPW.clear(); for(auto i = 0; i < temp.AtgcPW.length(); i++) { AtgcPW.append(static_cast(temp.AtgcPW[i])); } AtgcReserve.clear(); for(auto i = 0; i < temp.AtgcReserve.length(); i++) { AtgcReserve.append(static_cast(temp.AtgcReserve[i])); } piValues.clear(); for(auto i = 0; i < temp.piValues.length(); i++) { piValues.append(temp.piValues[i] == 1); } } }; Q_DECLARE_METATYPE(SsmProbeProperties_t); #endif //SSMPROBEPROPERTIES_H