22 #ifndef _svlSampleMatrixCustom_h
23 #define _svlSampleMatrixCustom_h
31 template <
class _ValueType>
75 if (OwnData)
delete Matrix;
101 if (IsTypeInt8 <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixInt8;
102 else if (IsTypeInt16 <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixInt16;
103 else if (IsTypeInt32 <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixInt32;
104 else if (IsTypeInt64 <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixInt64;
105 else if (IsTypeUInt8 <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixUInt8;
109 else if (IsTypeFloat <_ValueType>(static_cast<_ValueType>(0)))
return svlTypeMatrixFloat;
171 if (Matrix == 0 || Matrix->cols() < 1 || Matrix->rows() < 1)
return false;
177 return reinterpret_cast<unsigned char*
>(GetPointer());
182 return reinterpret_cast<const unsigned char*
>(GetPointer());
224 return reinterpret_cast<unsigned char*
>(GetPointer(col, row));
227 const unsigned char*
GetUCharPointer(
const unsigned int col,
const unsigned int row)
const
229 return reinterpret_cast<const unsigned char*
>(GetPointer(col, row));
232 void SetSize(
const unsigned int cols,
const unsigned int rows)
234 if (Matrix && (
GetCols() != cols ||
GetRows() != rows)) Matrix->SetSize(rows, cols);
237 void Resize(
const unsigned int cols,
const unsigned int rows)
239 if (Matrix && (
GetCols() != cols ||
GetRows() != rows)) Matrix->resize(rows, cols);
244 if (Matrix)
return static_cast<unsigned int>(Matrix->cols());
250 if (Matrix)
return static_cast<unsigned int>(Matrix->rows());
256 if (Matrix)
return sizeof(_ValueType);
262 if (Matrix)
return static_cast<unsigned int>(Matrix->cols() *
sizeof(_ValueType));
282 if (Matrix)
return *Matrix;
283 return InvalidMatrix;
288 if (Matrix)
return *Matrix;
289 return InvalidMatrix;
294 if (Matrix)
return Matrix->Pointer();
300 if (Matrix)
return Matrix->Pointer();
304 _ValueType*
GetPointer(
const unsigned int col,
const unsigned int row)
306 if (Matrix)
return Matrix->Pointer(row, col);
310 const _ValueType*
GetPointer(
const unsigned int col,
const unsigned int row)
const
312 if (Matrix)
return Matrix->Pointer(row, col);
316 _ValueType&
Element(
const unsigned int col,
const unsigned int row)
318 if (Matrix)
return Matrix->Element(row, col);
319 return InvalidElement;
322 const _ValueType&
Element(
const unsigned int col,
const unsigned int row)
const
324 if (Matrix)
return Matrix->Element(row, col);
325 return InvalidElement;
328 const std::string
Str(
const unsigned int width,
const unsigned int precision,
const int errorvalue)
const
330 std::stringstream strstr;
331 Str(strstr, width, precision, errorvalue);
335 const std::string
Str(
const unsigned int width,
const unsigned int precision,
const unsigned int errorvalue)
const
337 std::stringstream strstr;
338 Str(strstr, width, precision, errorvalue);
342 const std::string
Str(
const unsigned int width,
const unsigned int precision,
const double errorvalue)
const
344 std::stringstream strstr;
345 Str(strstr, width, precision, errorvalue);
349 template <
class _TypeIn>
350 void Str(std::stringstream& strstr,
const unsigned int width,
const unsigned int precision, _TypeIn errorvalue)
const
356 _ValueType val, error =
static_cast<_ValueType
>(errorvalue);
357 const unsigned int cols =
GetCols();
358 const unsigned int rows =
GetRows();
361 for (r = 0; r < rows; r ++) {
362 strstr << std::fixed << std::setprecision(precision);
363 for (c = 0; c < cols; c ++) {
364 if (c > 0) strstr <<
" ";
366 if (val != error) strstr << std::setw(width) << val;
367 else strstr << errorstr.
Pointer();
377 _ValueType InvalidElement;
380 #endif // _svlSampleMatrixCustom_h
unsigned int GetDataSize() const
Definition: svlSampleMatrixCustom.h:185
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
unsigned char * GetUCharPointer(const unsigned int col, const unsigned int row)
Definition: svlSampleMatrixCustom.h:222
Definition: svlDefinitions.h:222
Definition: svlSampleMatrix.h:34
const _ValueType * GetPointer(const unsigned int col, const unsigned int row) const
Definition: svlSampleMatrixCustom.h:310
virtual const std::string Str(const unsigned int width, const unsigned int precision, const int errorvalue) const =0
svlSampleMatrixCustom()
Definition: svlSampleMatrixCustom.h:42
virtual unsigned int GetHeight(const unsigned int videochannel=0) const =0
int SetMatrix(vctDynamicMatrix< _ValueType > *matrix)
Definition: svlSampleMatrixCustom.h:271
svlStreamType
Definition: svlDefinitions.h:193
void Resize(const unsigned int cols, const unsigned int rows)
Definition: svlSampleMatrixCustom.h:237
svlSample * GetNewInstance() const
Definition: svlSampleMatrixCustom.h:94
virtual void SerializeRaw(std::ostream &outputStream) const
Definition: svlSampleMatrixCustom.h:190
virtual svlStreamType GetType() const =0
const std::string Str(const unsigned int width, const unsigned int precision, const unsigned int errorvalue) const
Definition: svlSampleMatrixCustom.h:335
virtual bool IsInitialized() const =0
virtual void SerializeRaw(std::ostream &outputStream) const
virtual void DeSerializeRaw(std::istream &inputStream)
virtual svlStreamType GetType() const =0
int SetSize(const svlSample &sample)
Definition: svlSampleMatrixCustom.h:131
virtual unsigned char * GetUCharPointer()=0
virtual unsigned int GetColStride() const =0
const unsigned char * GetUCharPointer() const
Definition: svlSampleMatrixCustom.h:180
virtual int CopyOf(const svlSample *sample)=0
int CopyOf(const svlSample &sample)
Definition: svlSampleMatrixCustom.h:159
virtual unsigned char * GetUCharPointer()=0
Definition: svlDefinitions.h:225
const _ValueType & Element(const unsigned int col, const unsigned int row) const
Definition: svlSampleMatrixCustom.h:322
Definition: svlDefinitions.h:227
Definition: svlDefinitions.h:226
const std::string Str(const unsigned int width, const unsigned int precision, const double errorvalue) const
Definition: svlSampleMatrixCustom.h:342
Definition: svlDefinitions.h:221
_ValueType & Element(const unsigned int col, const unsigned int row)
Definition: svlSampleMatrixCustom.h:316
svlSample & operator=(const svlSample &other)
Definition: svlDefinitions.h:195
const _ValueType * GetPointer() const
Definition: svlSampleMatrixCustom.h:298
_ValueType * GetPointer()
Definition: svlSampleMatrixCustom.h:292
virtual int SetSize(const svlSample *sample)=0
Definition: svlSampleMatrixCustom.h:32
Definition: svlDefinitions.h:220
virtual unsigned int GetRows() const =0
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data)
Definition: cmnDeSerializer.h:82
unsigned int GetRows() const
Definition: svlSampleMatrixCustom.h:248
unsigned int GetCols() const
Definition: svlSampleMatrixCustom.h:242
bool IsInitialized() const
Definition: svlSampleMatrixCustom.h:169
void cmnSerializeRaw(std::ostream &outputStream, const _elementType &data)
Definition: cmnSerializer.h:78
unsigned char * GetUCharPointer()
Definition: svlSampleMatrixCustom.h:175
Definition: svlSampleImage.h:35
Macros to export the symbols of cisstStereoVision (in a Dll).
void Str(std::stringstream &strstr, const unsigned int width, const unsigned int precision, _TypeIn errorvalue) const
Definition: svlSampleMatrixCustom.h:350
int SetSize(const svlSample *sample)
Definition: svlSampleMatrixCustom.h:114
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
Definition: svlDefinitions.h:228
const unsigned char * GetUCharPointer(const unsigned int col, const unsigned int row) const
Definition: svlSampleMatrixCustom.h:227
pointer Pointer(index_type index=0)
Definition: vctDynamicVectorBase.h:155
vctDynamicMatrix< _ValueType > & GetDynamicMatrixRef()
Definition: svlSampleMatrixCustom.h:280
svlSampleMatrixCustom(bool owndata)
Definition: svlSampleMatrixCustom.h:50
Definition: svlDefinitions.h:229
#define CMN_LOG_CLASS_RUN_ERROR
Definition: cmnLogger.h:117
virtual unsigned int GetDataSize() const =0
~svlSampleMatrixCustom()
Definition: svlSampleMatrixCustom.h:73
virtual void DeSerializeRaw(std::istream &inputStream)
Definition: svlSampleMatrixCustom.h:201
Definition: svlDefinitions.h:223
#define SVL_FAIL
Definition: svlDefinitions.h:124
Definition: svlDefinitions.h:224
const std::string Str(const unsigned int width, const unsigned int precision, const int errorvalue) const
Definition: svlSampleMatrixCustom.h:328
svlSampleMatrixCustom(const svlSampleMatrixCustom< _ValueType > &other)
Definition: svlSampleMatrixCustom.h:59
void SetTimestamp(double ts)
unsigned int GetColStride() const
Definition: svlSampleMatrixCustom.h:254
const int CMN_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:331
unsigned int GetRowStride() const
Definition: svlSampleMatrixCustom.h:260
const vctDynamicMatrix< _ValueType > & GetDynamicMatrixRef() const
Definition: svlSampleMatrixCustom.h:286
_ValueType * GetPointer(const unsigned int col, const unsigned int row)
Definition: svlSampleMatrixCustom.h:304
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76
void SetSize(const unsigned int cols, const unsigned int rows)
Definition: svlSampleMatrixCustom.h:232
svlStreamType GetType() const
Definition: svlSampleMatrixCustom.h:99
#define SVL_OK
Definition: svlDefinitions.h:123
virtual unsigned int GetWidth(const unsigned int videochannel=0) const =0
Definition: svlSample.h:31
int CopyOf(const svlSample *sample)
Definition: svlSampleMatrixCustom.h:148
double GetTimestamp() const
virtual unsigned int GetCols() const =0