kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
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