UNIVERS  15.3
UNIVERS base processing software API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
u3d_bspl3_matrices.hpp
1 /* u3d_bspl3_matricies.hpp */
2 /* $Id: u3d_bspl3_matrices.hpp,v 1.3 2009/03/17 09:34:13 urij Exp $ */
3 #ifndef __u3d_bspl3_matricies_hpp
4 #define __u3d_bspl3_matricies_hpp
5 
7 enum U3dBspl3MatrixType
8  {
9  LinearInt,
10  Parabolic,
11  Cubic,
12  BS,
13  Beta,
14  CatmullRom,
15  KB,
17  Undefined
18  };
19 
20 //------------------------------------------------------------------------------------------
25 {
26 public:
27 
30 
33 
36 
39  virtual double getB(int i, double t) const;
40 
42  virtual void info() const;
43 
45  bool isConstructed() const
46  {return m_is_constructed;}
47 
49  const double (&get() const)[4][4];
50 
52  U3dBspl3MatrixType type() const {return m_type;}
53 
54 protected:
55 
58 
60  U3dBspl3MatrixType m_type;
61 
63  double m_bm[4][4];
64 };
65 
66 //------------------------------------------------------------------------------------------
69 {
70 public:
71 
74 
77 
79  virtual ~U3dBspl3LIntMatrix(){};
80 
81 protected:
82 
84  void reconstruct();
85 };
86 
87 //------------------------------------------------------------------------------------------
90 {
91 public:
92 
95 
98 
101 
102 protected:
103 
105  void reconstruct();
106 };
107 
108 //------------------------------------------------------------------------------------------
111 {
112 public:
113 
116 
119 
121  virtual ~U3dBspl3BSMatrix(){};
122 
123 protected:
124 
126  void reconstruct();
127 };
128 
129 //------------------------------------------------------------------------------------------
132 {
133 public:
134 
137  U3dBspl3BetaMatrix(double beta1 = 1.0, double beta2 = 2.0);
138 
141 
143  virtual ~U3dBspl3BetaMatrix(){};
144 
145 protected:
146 
148  void reconstruct(double beta1, double beta2);
149 };
150 
151 //------------------------------------------------------------------------------------------
154 {
155 public:
156 
158  U3dBspl3CRomMatrix(double t = 0.5);
159 
162 
164  virtual ~U3dBspl3CRomMatrix(){};
165 
166 protected:
167 
169  void reconstruct(double t);
170 };
171 
172 //------------------------------------------------------------------------------------------
175 {
176 public:
177 
179  U3dBspl3KBMatrix(double a, double b, double c, double d);
180 
183 
185  virtual ~U3dBspl3KBMatrix(){};
186 
187 protected:
188 
190  void reconstruct(double a, double b, double c, double d);
191 };
192 
193 //------------------------------------------------------------------------------------------
196 {
197 public:
198 
201 
204 
206  virtual ~U3dBspl3CubicMatrix(){};
207 
208 protected:
209 
211  void reconstruct();
212 };
213 
214 
215 #endif /* u3d_bspl3_matricies.hpp */
virtual ~U3dBspl3AbstractMatrix()
Definition: u3d_bspl3_matrices.hpp:35
U3dBspl3KBMatrix(double a, double b, double c, double d)
virtual ~U3dBspl3KBMatrix()
Definition: u3d_bspl3_matrices.hpp:185
U3dBspl3AbstractMatrix()
Definition: u3d_bspl3_matrices.hpp:29
void reconstruct(double beta1, double beta2)
bool isConstructed() const
Definition: u3d_bspl3_matrices.hpp:45
double m_bm[4][4]
Definition: u3d_bspl3_matrices.hpp:63
Definition: u3d_bspl3_matrices.hpp:131
virtual ~U3dBspl3CubicMatrix()
Definition: u3d_bspl3_matrices.hpp:206
void reconstruct(double a, double b, double c, double d)
Definition: u3d_bspl3_matrices.hpp:68
virtual ~U3dBspl3CRomMatrix()
Definition: u3d_bspl3_matrices.hpp:164
Definition: u3d_bspl3_matrices.hpp:195
Definition: u3d_bspl3_matrices.hpp:174
U3dBspl3MatrixType m_type
Definition: u3d_bspl3_matrices.hpp:60
U3dBspl3BetaMatrix(double beta1=1.0, double beta2=2.0)
U3dBspl3MatrixType type() const
Definition: u3d_bspl3_matrices.hpp:52
U3dBspl3CRomMatrix(double t=0.5)
Definition: u3d_bspl3_matrices.hpp:24
bool m_is_constructed
Definition: u3d_bspl3_matrices.hpp:57
Definition: u3d_bspl3_matrices.hpp:89
virtual ~U3dBspl3BSMatrix()
Definition: u3d_bspl3_matrices.hpp:121
Definition: u3d_bspl3_matrices.hpp:110
virtual ~U3dBspl3BetaMatrix()
Definition: u3d_bspl3_matrices.hpp:143
virtual ~U3dBspl3ParabolicMatrix()
Definition: u3d_bspl3_matrices.hpp:100
void reconstruct(double t)
virtual double getB(int i, double t) const
virtual ~U3dBspl3LIntMatrix()
Definition: u3d_bspl3_matrices.hpp:79
virtual void info() const
Definition: u3d_bspl3_matrices.hpp:153