1.修正MovementDataReader中rotationMatrix矩阵计算问题。
2.添加没有tas时取该tas数据下的场景。 3.修改AscanData的isNull函数错误。 4.对TemperatureDataReader读取假四维数据做处理。
This commit is contained in:
@@ -37,7 +37,7 @@ double* AScanData::getAmplification()
|
||||
|
||||
bool AScanData::isNull()
|
||||
{
|
||||
return mHeader || mData || mCrc || mAmplification;
|
||||
return !mHeader || !mData || !mCrc || !mAmplification;
|
||||
}
|
||||
|
||||
unsigned long long AScanData::getAscanDataLength()
|
||||
|
||||
@@ -44,7 +44,7 @@ double* OneTasAScanData::getAmplification()
|
||||
|
||||
bool OneTasAScanData::isNull()
|
||||
{
|
||||
return mHeader || mData || mCrc || mAmplification;
|
||||
return !mHeader || !mData || !mCrc || !mAmplification;
|
||||
}
|
||||
|
||||
unsigned long long OneTasAScanData::getOneTasAScanDataLength()
|
||||
|
||||
@@ -80,8 +80,8 @@ MovementData MovementDataReader::getMovementDataFromHJ(const std::string& aConfi
|
||||
std::shared_ptr<float> rotationMatrixArray(new float[16]{0},std::default_delete<float[]>());
|
||||
float rotation = rotationMatrixInfo.at(i);
|
||||
rotationMatrixArray.get()[0] = cos(rotation*PI/180);
|
||||
rotationMatrixArray.get()[1] = -sin(rotation*PI/180);
|
||||
rotationMatrixArray.get()[4] = sin(rotation*PI/180);
|
||||
rotationMatrixArray.get()[1] = sin(rotation*PI/180);
|
||||
rotationMatrixArray.get()[4] = -sin(rotation*PI/180);
|
||||
rotationMatrixArray.get()[5] = cos(rotation*PI/180);
|
||||
rotationMatrixArray.get()[10] = 1;
|
||||
rotationMatrixArray.get()[14] = rotationMatrixInfo.at(i+1);
|
||||
|
||||
@@ -87,8 +87,16 @@ namespace
|
||||
std::shared_ptr<float> tasTampRawData = std::shared_ptr<float>(new float[tasTempLength], std::default_delete<float[]>());
|
||||
TasTemperatureRawdataPointer rawDataPointer(tasTampRawData,tasTempLength);
|
||||
subTasTempRawDatas.push_back(rawDataPointer);
|
||||
float* startIndex = reinterpret_cast<float*>(tasTemperatureRawDataVar->data) + (i*tasTemperatureRawDataVar->dims[2]+j)*tasTempLength;
|
||||
std::copy(startIndex,startIndex+TAS_COUNT * 2,tasTampRawData.get());
|
||||
if(tasTemperatureRawDataVar->data_size == 1)
|
||||
{
|
||||
uint8_t* startIndex = reinterpret_cast<uint8_t*>(tasTemperatureRawDataVar->data) + (i*tasTemperatureRawDataVar->dims[2]+j)*tasTempLength;
|
||||
std::copy(startIndex,startIndex+TAS_COUNT * 2,tasTampRawData.get());
|
||||
}
|
||||
else
|
||||
{
|
||||
float* startIndex = reinterpret_cast<float*>(tasTemperatureRawDataVar->data) + (i*tasTemperatureRawDataVar->dims[2]+j)*tasTempLength;
|
||||
std::copy(startIndex,startIndex+TAS_COUNT * 2,tasTampRawData.get());
|
||||
}
|
||||
}
|
||||
tasTempRawDatas.push_back(subTasTempRawDatas);
|
||||
}
|
||||
|
||||
@@ -287,7 +287,7 @@ AScanData ParserPrivate::getAscanDataOfMotorPosition(const TasElementIndex& aSen
|
||||
{
|
||||
aShotList = mShotList.get();
|
||||
}
|
||||
if (!aShotList->isValid())
|
||||
if (!aShotList->isValid() || !aShotList->hasTasNum(aSenderIndex.getTasIndex()))
|
||||
{
|
||||
return AScanData();
|
||||
}
|
||||
@@ -345,7 +345,7 @@ OneTasAScanData ParserPrivate::getOneTasAscanDataOfMotorPosition(unsigned short
|
||||
{
|
||||
aShotList = mShotList.get();
|
||||
}
|
||||
if (!aShotList->isValid())
|
||||
if (!aShotList->isValid()|| !aShotList->hasTasNum(aTasNum))
|
||||
{
|
||||
return OneTasAScanData();
|
||||
}
|
||||
@@ -428,7 +428,7 @@ AScanData ParserPrivate::getAscanDataOfCEMeasured(unsigned short aTasNum,const T
|
||||
{
|
||||
aShotList = mShotList.get();
|
||||
}
|
||||
if (!aShotList->isValid())
|
||||
if (!aShotList->isValid() || !aShotList->hasTasNum(aTasNum))
|
||||
{
|
||||
return AScanData();
|
||||
}
|
||||
@@ -485,7 +485,7 @@ OneTasAScanData ParserPrivate::getOneTasAscanDataOfCEMeasured(unsigned short aTa
|
||||
{
|
||||
aShotList = mShotList.get();
|
||||
}
|
||||
if (!aShotList->isValid())
|
||||
if (!aShotList->isValid() || !aShotList->hasTasNum(aTasNum))
|
||||
{
|
||||
return OneTasAScanData();
|
||||
}
|
||||
@@ -629,7 +629,7 @@ AScanData ParserPrivate::searchAscanDataFromOneTasAscanDataOfMP(OneTasAScanData
|
||||
{
|
||||
aShotList = mShotList.get();
|
||||
}
|
||||
if(!aOneTasAscanData.isNull() || !aShotList->isValid() || !aShotList->hasMotorPosition(static_cast<unsigned short>(aMotorPosition)))
|
||||
if(aOneTasAscanData.isNull() || !aShotList->isValid() || !aShotList->hasMotorPosition(static_cast<unsigned short>(aMotorPosition)))
|
||||
{
|
||||
return AScanData();
|
||||
}
|
||||
@@ -672,7 +672,7 @@ AScanData ParserPrivate::searchAscanDataFromOneTasAscanDataOfMP(OneTasAScanData
|
||||
|
||||
AScanData ParserPrivate::searchAscanDataFromOneTasAscanDataOfCE(OneTasAScanData aOneTasAscanData, const TasElementIndex& aReceiverTasElementIndex)
|
||||
{
|
||||
if(!aOneTasAscanData.isNull())
|
||||
if(aOneTasAscanData.isNull())
|
||||
{
|
||||
return AScanData();
|
||||
}
|
||||
|
||||
@@ -63,6 +63,11 @@ bool ShotList::hasMotorPosition(unsigned short aMotorPosition)
|
||||
return mPrivate->hasMotorPosition(aMotorPosition);
|
||||
}
|
||||
|
||||
bool ShotList::hasTasNum(unsigned short aTasNum)
|
||||
{
|
||||
return mPrivate->hasTasNum(aTasNum);
|
||||
}
|
||||
|
||||
unsigned short ShotList::getMotoPositionIndex(unsigned short aMotorPosition)
|
||||
{
|
||||
return mPrivate->getMotoPositionIndex(aMotorPosition);
|
||||
|
||||
@@ -57,6 +57,7 @@ public:
|
||||
bool isValid();
|
||||
bool hasCEMeasured();
|
||||
bool hasMotorPosition(unsigned short aMotorPosition);
|
||||
bool hasTasNum(unsigned short aTasNum);
|
||||
unsigned short getMotoPositionIndex(unsigned short aMotorPosition);
|
||||
void restCurrentLoopIndex(size_t aIndex);
|
||||
void restAllCurrentLoopIndex();
|
||||
|
||||
@@ -389,6 +389,18 @@ bool ShotListPrivate::hasMotorPosition(unsigned short aMotorPosition)
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ShotListPrivate::hasTasNum(unsigned short aTasNum)
|
||||
{
|
||||
for(auto itr = mTasArray.begin(); itr != mTasArray.end(); ++itr )
|
||||
{
|
||||
if (aTasNum == *itr)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned short ShotListPrivate::getMotoPositionIndex(unsigned short aMotorPosition)
|
||||
{
|
||||
unsigned short index = 0;
|
||||
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
bool isValid();
|
||||
bool hasCEMeasured();
|
||||
bool hasMotorPosition(unsigned short aMotorPosition);
|
||||
bool hasTasNum(unsigned short aTasNum);
|
||||
unsigned short getMotoPositionIndex(unsigned short aMotorPosition);
|
||||
void restCurrentLoopIndex(size_t aIndex);
|
||||
void restAllCurrentLoopIndex();
|
||||
|
||||
Reference in New Issue
Block a user