| kspaceFirstOrder3D-OMP 1.0 The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D

- Main Page
- Classes
- Files

- File List
- File Members

MatrixClasses/BaseFloatMatrix.h
Go to the documentation of this file.

    00001
    00033 #ifndef BASEFLOATMATRIXDATA_H
    00034 #define  BASEFLOATMATRIXDATA_H
    00035
    00036 #include <MatrixClasses/BaseMatrix.h>
    00037
    00038 #include <Utils/DimensionSizes.h>
    00039
    00040
    00041
    00042 using namespace std;
    00043
    00044
    00050 class TBaseFloatMatrix : public TBaseMatrix{
    00051 public:
    00052
    00054     TBaseFloatMatrix() : TBaseMatrix(), pTotalElementCount(0), pTotalAllocatedElementCount(0),
    00055                          pDimensionSizes(), pDataRowSize(0),  p2DDataSliceSize (0),  pMatrixData (NULL)
    00056     {};
    00057
    00058
    00060     virtual TDimensionSizes GetDimensionSizes() const {
    00061         return pDimensionSizes;
    00062     }
    00063
    00065     virtual size_t GetTotalElementCount() const {
    00066         return pTotalElementCount;
    00067     };
    00068
    00070     virtual size_t GetTotalAllocatedElementCount() const {
    00071         return pTotalAllocatedElementCount;
    00072     };
    00073
    00074
    00076     virtual ~TBaseFloatMatrix() {};
    00077
    00078
    00079
    00081     virtual void CopyData(TBaseFloatMatrix & src);
    00082
    00083
    00085     virtual void ZeroMatrix();
    00086
    00088     virtual void ScalarDividedBy(const float scalar);
    00089
    00090
    00092     virtual float* GetRawData() {
    00093         return pMatrixData ;
    00094     }
    00095
    00096
    00097 protected:
    00098
    00100     size_t pTotalElementCount;
    00102     size_t pTotalAllocatedElementCount;
    00103
    00105     struct TDimensionSizes pDimensionSizes;
    00106
    00108     size_t pDataRowSize;
    00110     size_t p2DDataSliceSize;
    00111
    00113     float* pMatrixData;
    00114
    00115
    00117     virtual void AllocateMemory();
    00118
    00120     virtual void FreeMemory();
    00121
    00122
    00124     TBaseFloatMatrix(const TBaseFloatMatrix& src);
    00126     TBaseFloatMatrix & operator =(const TBaseFloatMatrix& src);
    00127
    00128
    00129 private:
    00130
    00131 };// end of class TBaseFloatMatrix
    00132 //-----------------------------------------------------------------------------
    00133
    00134 #endif   /* TBASEMATRIXDATA_H */
    00135

All Classes Files Functions Variables Typedefs Enumerations