Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

SplineSpace.h

Go to the documentation of this file.
00001 
00005 class SplineSpace  : public HandleId
00006 
00007 {
00008 private:
00009 
00010   KnotVec knots;
00011   int k;
00012 
00013   int mu(real x) const; 
00014                         
00015 
00016   Mat(NUMT) S_matrix(int kk, int mu);                  
00017   Mat(NUMT) R_matrix(int kk, int mu, real x);          
00018 
00019   Mat(NUMT) T_matrix(int kk, int mu, real x) const;    
00020   Mat(NUMT) DT_matrix(int kk, int mu) const; 
00021 
00022 public:
00023 
00024   SplineSpace() {}
00025   SplineSpace(const KnotVec& knots, int k);
00026  ~SplineSpace();
00027 
00028   bool redim(const KnotVec& kv, int k_)
00029     { this->k=k_; return this->knots.redim(kv); }
00030   bool redim(const SplineSpace& space);
00031 
00032   bool ok() const { return getbool(k>0 && knots.kRegular(k)); }
00033 
00034   void getKnotVec(VecSimple(real)& kv) const;
00035 
00036   int order() const { return k; }
00037 
00038   int dimension() const {return knots.size()-k;}
00039 
00040   void print(Os os);  
00041 
00042   void BSplines(real x, int r, Mat(NUMT)& values, int& miu,
00043                 bool miuOk = false) const;
00044 
00045   void BSplineTableA(const VecSimple(real)& x, MatBand(NUMT)& table) const;
00046 
00047   void BSplineTableA(const VecSimple(real)& x, Mat(NUMT)& table) const;
00048 };
00049 
00050 

Copyright © 2003 inuTech GmbH. All rights reserved.