visucompvector.h

Go to the documentation of this file.
00001 #ifndef __visucompvector_h
00002 #define __visucompvector_h
00003 
00004 #include  "compvector.h"
00005 #include  "visudata.h"
00006 
00007 /***************************************************************/
00008 
00009 namespace Gascoigne
00010 {
00011 class VisuCompVector : public VisuData
00012 {
00013  protected:
00014 
00015   typedef DoubleVector::iterator         pointer;
00016   typedef DoubleVector::const_iterator   const_pointer;
00017   
00018   const DoubleVector *uR, *zR;
00019   int           ncomp;
00020 
00021  public:
00022   
00023   VisuCompVector(const DoubleVector& u) : uR(&u), zR(0)
00024     {
00025       ncomp = u.ncomp();
00026     }
00027   VisuCompVector(const DoubleVector& u, const DoubleVector& z) : uR(&u), zR(&z) 
00028     {
00029       ncomp = u.ncomp()+z.ncomp();
00030     }
00031 
00032   int    visucomp()            const { return ncomp;}
00033   int    visun()               const { return uR->n();}
00034   double visudata(int i,int c) const 
00035     { 
00036       if ( c < uR->ncomp() ) return (*uR)(i,c);
00037       return (*zR)(i,c-uR->ncomp());
00038     }
00039 };
00040 }
00041 
00042 /***************************************************************/
00043 
00044 #endif

Generated on Thu Sep 14 10:34:36 2006 for Gascoigne by  doxygen 1.4.7