componentinformation.h

Go to the documentation of this file.
00001 #ifndef  __ComponentInformation_h
00002 #define  __ComponentInformation_h
00003 
00004 #include  "gostream.h"
00005 #include  "stringutil.h"
00006 #include  "filescanner.h"
00007 #include  "application.h"
00008 
00009 namespace Gascoigne
00010 {
00011   
00016 
00020 
00021   class ProblemDescriptorInterface;
00022   class ComponentInformation : public virtual Application
00023   {
00024     private:
00025       
00026     protected:
00027       mutable int _i_dimension;
00028       ProblemDescriptorInterface* PDI;
00029 
00030     public:
00031       ComponentInformation() { PDI=NULL;}
00032       virtual ~ComponentInformation() {}
00033   
00034       virtual void BasicInit(const ParamFile* pf) {}
00035 
00036       virtual std::string GetName() const=0;
00037       virtual int         GetDimension()                const { return _i_dimension;      };
00038       virtual void        SetDimension(int i_dimension) const { _i_dimension=i_dimension; };
00039       ProblemDescriptorInterface*& GetProblemDescriptorInterface()       { return PDI;};
00040       ProblemDescriptorInterface*  GetProblemDescriptorInterface() const { return PDI;};
00041 
00042       const int ncomp   () const { return GetNScalars(); };
00043       const int GetNcomp() const { return GetNScalars(); };
00044 
00045       virtual const int GetNScalars     () const=0;
00046       virtual void      GetScalarName   (int i, std::string& s_name) const=0;
00047       virtual const int GetNVectors     () const=0;
00048       virtual void      GetVectorName   (int i, std::string& s_name) const=0;
00049       virtual void      GetVectorIndices(int i, fixarray<3,int>& fa_vectorindices) const=0;
00050   };
00051 }
00052 
00053 #endif // __ComponentInformation_h

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