marMatrix.h

Go to the documentation of this file.
00001 // marMatrix.h: interface for the marMatrix class.
00002 //
00004 
00005 #include <iostream>
00006 #include <stddef.h>
00007 #include "marVector.h"
00008 
00009 class marMatrix  
00010 {
00011 public:
00012 /*==Constructeurs========================================*/
00013         marMatrix(const marMatrix &m);
00014         marMatrix(double * data,size_t size1=3,size_t size2=3);
00015         marMatrix(size_t size1,size_t size2);
00016 /*==Constructeurs========================================*/
00017         virtual ~marMatrix();
00018 
00019 /*==opérateurss========================================*/
00020     friend std::ostream& operator<<(std::ostream& os, const marMatrix& m);
00021  
00022         marMatrix& operator=( const marMatrix& o );
00023     marMatrix& operator=( double o );
00024     marMatrix& operator=( double* o );
00025 
00026     operator double*( ) const;
00027 
00028     double& operator()( size_t i, size_t j );
00029     const double& operator()( size_t i, size_t j ) const;
00030 
00031     marMatrix operator+( const marMatrix& o );
00032     marMatrix operator+( double o );
00033     marMatrix operator+( double* o );
00034 
00035         marMatrix operator-( const marMatrix& o );
00036     marMatrix operator-( double o );
00037     marMatrix operator-( double* o );
00038 
00039         marMatrix operator*( const marMatrix& o );
00040     marVector operator*( const marVector& o );
00041     marMatrix operator*( double o );
00042 
00043     bool operator==( const marMatrix& o ) const;
00044     bool operator!=( const marMatrix& o ) const;
00045 
00046 /*==Méthodes========================================*/
00047         size_t columns() const;
00048         size_t rows() const;
00049 
00050 /*==Attributs========================================*/
00051 private:
00052         bool shallowCopy; // true if _data is a shallow copy of original data (pointer copy)
00053         size_t _size1;
00054         size_t _size2;
00055         double* _data;
00056 };
00057 

Generated on 18 Mar 2010 for creaMaracasVisu_lib by  doxygen 1.6.1