You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

198 lines
5.3 KiB

#ifndef SSMPROBEPROPERTIES_H
#define SSMPROBEPROPERTIES_H
#include <QObject>
#include <QMetaType>
#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<float> impulseResponse;
QList<int> angleValues;
QList<float> focusValues;
QList<float> hiFocusValues;
int multiFocusStep;
QList<int> otiC0Values;
QList<QList<float> > ffcValues;
QList<float> depthData;
QList<int> frequencyValues;
QList<int> hiFrequencyValues;
QList<int> dFrequencyValues;
QList<int> pwFrequencyValues;
QList<QList<float> > criSteeringAngles;
float rxGain;
float txGain;
QList<float> lineDensityValues;
QList<float> dLineDensityValues;
int halfCycleNoValues;
int ffcHalfCycleNoValues;
QList<int> hiHalfCycleNoValues;
QList<int> dopplerHalfCycleNoValues;
QList<float> priExtensionValue;
float dPriExtensionValue;
float txResolution;
float rxResolution;
float mLinesPri;
int simultPwFrameRate;
QList<float> virtualConvexLineDensityValues;
float vcMaxTheta;
QList<bool> piValues;
QList<QString> hiNames;
QList<float> AtgcB;
QList<float> AtgcD;
QList<float> AtgcPW;
QList<float> AtgcReserve;
void init(DbmDtoProbeProperties temp)
{
linear = !temp.geometry;
pitch = static_cast<float>(temp.pitch);
radius = static_cast<float>(temp.radius);
subAzimuthNo = temp.subAzimuthNo;
subElevationNo = temp.subElevationNo;
elementNo = temp.elementNo;
elementWidth = static_cast<float>(temp.elementWidth);
elementHeight = static_cast<float>(temp.elementHeight);
fieldOfView = static_cast<float>(temp.fov);
multiFocusStep = temp.multiFocusStep;
rxGain = static_cast<float>(temp.rxGain);
txGain = static_cast<float>(temp.txGain);
halfCycleNoValues = temp.halfCycleNoValues;
ffcHalfCycleNoValues = temp.ffcHalfCycleNoValues;
dPriExtensionValue = static_cast<float>(temp.dPriExtensionValue);
txResolution = static_cast<float>(temp.txResolution);
rxResolution = static_cast<float>(temp.rxResolution);
mLinesPri = static_cast<float>(temp.mLinesPri);
simultPwFrameRate = temp.simultPwFrameRate;
vcMaxTheta = static_cast<float>(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<float>(temp.impulseResponse[i]));
}
angleValues.clear();
for(auto i = 0; i < temp.angleValues.length(); i++)
{
angleValues.append(static_cast<int>(temp.angleValues[i]));
}
focusValues.clear();
for(auto i = 0; i < temp.focusValues.length(); i++)
{
focusValues.append(static_cast<float>(temp.focusValues[i]));
}
hiFocusValues.clear();
for(auto i = 0; i < temp.hiFocusValues.length(); i++)
{
hiFocusValues.append(static_cast<float>(temp.hiFocusValues[i]));
}
ffcValues.clear();
for(auto i = 0; i < temp.ffcValues.length(); i++)
{
QList<float> t;
for(auto j = 0; j < temp.ffcValues[i].length(); j++)
{
t.append(static_cast<float>(temp.ffcValues[i][j]));
}
ffcValues.append(t);
}
depthData.clear();
for(auto i = 0; i < temp.depthValues.length(); i++)
{
depthData.append(static_cast<float>(temp.depthValues[i]));
}
criSteeringAngles.clear();
for(auto i = 0; i < temp.criSteeringAngles.length(); i++)
{
QList<float> t;
for(auto j = 0; j < temp.criSteeringAngles[i].length(); j++)
{
t.append(static_cast<float>(temp.criSteeringAngles[i][j]));
}
criSteeringAngles.append(t);
}
lineDensityValues.clear();
for(auto i = 0; i < temp.lineDensityValues.length(); i++)
{
lineDensityValues.append(static_cast<float>(temp.lineDensityValues[i]));
}
dLineDensityValues.clear();
for(auto i = 0; i < temp.dLineDensityValues.length(); i++)
{
dLineDensityValues.append(static_cast<float>(temp.dLineDensityValues[i]));
}
priExtensionValue.clear();
for(auto i = 0; i < temp.priExtensionValue.length(); i++)
{
priExtensionValue.append(static_cast<float>(temp.priExtensionValue[i]));
}
virtualConvexLineDensityValues.clear();
for(auto i = 0; i < temp.virtualConvexLineDensityValues.length(); i++)
{
virtualConvexLineDensityValues.append(
static_cast<float>(temp.virtualConvexLineDensityValues[i]));
}
AtgcB.clear();
for(auto i = 0; i < temp.AtgcB.length(); i++)
{
AtgcB.append(static_cast<float>(temp.AtgcB[i]));
}
AtgcD.clear();
for(auto i = 0; i < temp.AtgcD.length(); i++)
{
AtgcD.append(static_cast<float>(temp.AtgcD[i]));
}
AtgcPW.clear();
for(auto i = 0; i < temp.AtgcPW.length(); i++)
{
AtgcPW.append(static_cast<float>(temp.AtgcPW[i]));
}
AtgcReserve.clear();
for(auto i = 0; i < temp.AtgcReserve.length(); i++)
{
AtgcReserve.append(static_cast<float>(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