00001 00005 class ProjMatrix : public Proj 00006 00007 { 00008 protected: 00009 00010 Handle(LinEqMatrix) projMatrix; 00011 00012 public: 00013 00014 ProjMatrix (const char* description_="Projecton operator"); 00015 ProjMatrix (const Proj_prm& prm, 00016 const char* description_="Projection operator"); 00017 virtual ~ProjMatrix (); 00018 00019 virtual bool ok () const; 00020 virtual bool rebindMatrix(LinEqMatrix& mat); 00021 00022 00023 virtual void apply 00024 ( 00025 const LinEqVector& c, 00026 LinEqVector& d, 00027 TransposeMode tpmode, 00028 bool add_to_d= false 00029 ); 00030 00031 virtual LinEqMatrix & A (); 00032 virtual void scale(const LinEqVector& s, TransposeMode tpmode); 00033 virtual void scale(real s); 00034 virtual int getWork () const; 00035 virtual real getStorage () const; 00036 00037 virtual String description () const; 00038 virtual void print (Os os, int output=1 ) const; 00039 00040 CLASS_INFO 00041 }; 00042 00043