MatlabReader update
This commit is contained in:
@@ -23,6 +23,20 @@ MatlabReader::~MatlabReader()
|
||||
Mat_Close(mMatFile);
|
||||
}
|
||||
|
||||
std::shared_ptr<short> MatlabReader::readint16(const std::string& aFieldName, size_t& aSize)
|
||||
{
|
||||
if(mMatFile == nullptr)
|
||||
{
|
||||
return std::shared_ptr<short>();
|
||||
}
|
||||
matvar_t* matvar = Mat_VarRead(mMatFile, aFieldName.c_str());
|
||||
aSize = matvar->nbytes / static_cast<unsigned long long>(matvar->data_size);
|
||||
short* resultDara = new short[aSize];
|
||||
std::copy((short*)matvar->data,(short*)matvar->data+aSize,resultDara);
|
||||
std::shared_ptr<short> result();
|
||||
return std::shared_ptr<short>(resultDara,std::default_delete<short[]>());
|
||||
}
|
||||
|
||||
Aurora::Matrix MatlabReader::read(const std::string& aFieldName)
|
||||
{
|
||||
if(mMatFile == nullptr)
|
||||
|
||||
@@ -13,6 +13,8 @@ public:
|
||||
explicit MatlabReader(const std::string& aFilePath);
|
||||
~MatlabReader();
|
||||
Aurora::Matrix read(const std::string& aFieldName);
|
||||
std::shared_ptr<short> readint16(const std::string& aFieldName,size_t& size);
|
||||
|
||||
|
||||
private:
|
||||
mat_t* mMatFile;
|
||||
|
||||
Reference in New Issue
Block a user