00001 00005 class AlgebraicDofBase 00006 00007 { 00008 protected: 00009 00010 int glob_idx; 00011 SetOfNo(NUMT) coeffs; 00012 SetDistinct(int) pos_idx; 00013 00014 00015 public : 00016 00017 AlgebraicDofBase (); 00018 AlgebraicDofBase (const AlgebraicDofBase& alg_dof); 00019 AlgebraicDofBase (int glob_idx_); 00020 AlgebraicDofBase (int glob_idx_, 00021 const VecSimple(NUMT)& coeffs_, 00022 const VecSimple(int)& pos_idx_); 00023 00024 virtual ~AlgebraicDofBase () {} 00025 00026 AlgebraicDofBase& operator= (const AlgebraicDofBase& alg_dof); 00027 00028 bool redim (int glob_idx_, 00029 const VecSimple(NUMT)& coeffs_, 00030 const VecSimple(int)& pos_idx_); 00031 00032 void update (int old_base, int new_base); 00033 00034 int getIndexNo() const; 00035 00036 void setIndexNo (int glob_idx_); 00037 00038 int getNoEntries() const; 00039 00040 00041 00042 NUMT& coeff (int i); 00043 const NUMT& coeff (int i) const; 00044 00045 int& position (int i); 00046 const int& position (int i) const; 00047 00048 void setCoeff (int i, NUMT coeff, int pos); 00049 void getCoeff (int i, NUMT& coeff, int& pos) const; 00050 00051 00052 00053 00054 void insert (NUMT coeff, int pos); 00055 00056 void fill (int glob_idx_, 00057 const VecSimple(NUMT)& coeffs_, 00058 const VecSimple(int)& pos_idx_); 00059 00060 int find (int pos); 00061 00062 virtual void print (Os os) const =0; 00063 virtual void scan (Is is) =0; 00064 00065 CLASS_INFO 00066 00067 }; 00068 00069