Definition at line 34 of file CubicHermiteCurve.h.
Public Types | |
enum | { D = 4 } |
enum | { D = 4 } |
typedef T | value_type |
typedef GLVector4< value_type > | vector_type |
typedef GLMatrix< value_type > | matrix_type |
typedef T | value_type |
typedef GLVector4< value_type > | vector_type |
typedef GLMatrix< value_type > | matrix_type |
Public Member Functions | |
GLCubicHermiteCurve4 (const value_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const vector_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const vector_type &c0, const vector_type &c1, const vector_type &c2, const vector_type &c3) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const GLCubicHermiteCurve4 &hc) | |
~GLCubicHermiteCurve4 () | |
Destroy the basis matrix. | |
void | glVertex (GLclampf interp) const |
OpenGL interface for vertex generation, interp : [0,1]. | |
vector_type | interpolate (GLclampf interp) const |
GLVector interface for vertex generation, interp : [0,1]. | |
void | interpolate (GLclampf interp, value_type *vertex) const |
GLVector interface for vertex generation, interp : [0,1]. | |
vector_type | operator() (GLclampf interp) const |
void | operator() (GLclampf interp, value_type *v) const |
GLCubicHermiteCurve4 (const value_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const vector_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const vector_type &c0, const vector_type &c1, const vector_type &c2, const vector_type &c3) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
GLCubicHermiteCurve4 (const GLCubicHermiteCurve4 &hc) | |
~GLCubicHermiteCurve4 () | |
Destroy the basis matrix. | |
void | glVertex (GLclampf interp) const |
OpenGL interface for vertex generation, interp : [0,1]. | |
vector_type | interpolate (GLclampf interp) const |
GLVector interface for vertex generation, interp : [0,1]. | |
void | interpolate (GLclampf interp, value_type *vertex) const |
GLVector interface for vertex generation, interp : [0,1]. | |
vector_type | operator() (GLclampf interp) const |
void | operator() (GLclampf interp, value_type *v) const |
anonymous enum |
anonymous enum |
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const value_type * | cpoints | ) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 43 of file CubicHermiteCurve.h.
00044 :basis(cpoints) 00045 { 00047 static const value_type coeffs[16] = 00048 { 1, 0, 0, 0, 00049 0, 1, 0, 0, 00050 -3, -2, 3, -1, 00051 2, 1, -2, 1 }; 00052 00054 basis *= matrix_type(coeffs); 00055 }
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const vector_type * | cpoints | ) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 58 of file CubicHermiteCurve.h.
References mathglpp::GLVector4< T >::copyTo().
00059 :basis() 00060 { 00062 static const value_type coeffs[16] = 00063 { 1, 0, 0, 0, 00064 0, 1, 0, 0, 00065 -3, -2, 3, -1, 00066 2, 1, -2, 1 }; 00067 00068 cpoints[0].copyTo(&basis[0]); 00069 cpoints[1].copyTo(&basis[4]); 00070 cpoints[2].copyTo(&basis[8]); 00071 cpoints[3].copyTo(&basis[12]); 00072 00074 basis *= matrix_type(coeffs); 00075 }
Here is the call graph for this function:
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const vector_type & | c0, | |
const vector_type & | c1, | |||
const vector_type & | c2, | |||
const vector_type & | c3 | |||
) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 78 of file CubicHermiteCurve.h.
References mathglpp::GLVector4< T >::copyTo().
00079 :basis() 00080 { 00082 static const value_type coeffs[16] = 00083 { 1, 0, 0, 0, 00084 0, 1, 0, 0, 00085 -3, -2, 3, -1, 00086 2, 1, -2, 1 }; 00087 00088 c0.copyTo(&basis[0]); 00089 c1.copyTo(&basis[4]); 00090 c2.copyTo(&basis[8]); 00091 c3.copyTo(&basis[12]); 00092 00094 basis *= matrix_type(coeffs); 00095 }
Here is the call graph for this function:
mathglpp::GLCubicHermiteCurve4< T >::~GLCubicHermiteCurve4 | ( | ) | [inline] |
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const value_type * | cpoints | ) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 43 of file GLCubicHermiteCurve.h.
00044 :basis(cpoints) 00045 { 00047 static value_type coeffs[16] = 00048 { 1, 0, 0, 0, 00049 0, 1, 0, 0, 00050 -3, -2, 3, -1, 00051 2, 1, -2, 1 }; 00052 00054 basis *= matrix_type(coeffs); 00055 }
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const vector_type * | cpoints | ) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 58 of file GLCubicHermiteCurve.h.
References mathglpp::GLVector4< T >::copyTo().
00059 { 00061 static value_type coeffs[16] = 00062 { 1, 0, 0, 0, 00063 0, 1, 0, 0, 00064 -3, -2, 3, -1, 00065 2, 1, -2, 1 }; 00066 00067 cpoints[0].copyTo(&basis[0]); 00068 cpoints[1].copyTo(&basis[4]); 00069 cpoints[2].copyTo(&basis[8]); 00070 cpoints[3].copyTo(&basis[12]); 00071 00073 basis *= matrix_type(coeffs); 00074 }
Here is the call graph for this function:
mathglpp::GLCubicHermiteCurve4< T >::GLCubicHermiteCurve4 | ( | const vector_type & | c0, | |
const vector_type & | c1, | |||
const vector_type & | c2, | |||
const vector_type & | c3 | |||
) | [inline] |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!!
Column major so it seems like it is transposed
Pre multiply
Definition at line 77 of file GLCubicHermiteCurve.h.
References mathglpp::GLVector4< T >::copyTo().
00078 { 00080 static value_type coeffs[16] = 00081 { 1, 0, 0, 0, 00082 0, 1, 0, 0, 00083 -3, -2, 3, -1, 00084 2, 1, -2, 1 }; 00085 00086 c0.copyTo(&basis[0]); 00087 c1.copyTo(&basis[4]); 00088 c2.copyTo(&basis[8]); 00089 c3.copyTo(&basis[12]); 00090 00092 basis *= matrix_type(coeffs); 00093 }
Here is the call graph for this function:
mathglpp::GLCubicHermiteCurve4< T >::~GLCubicHermiteCurve4 | ( | ) | [inline] |
void mathglpp::GLCubicHermiteCurve4< T >::glVertex | ( | GLclampf | interp | ) | const [inline] |
OpenGL interface for vertex generation, interp : [0,1].
Definition at line 104 of file CubicHermiteCurve.h.
References mathglpp::GLCubicHermiteCurve4< T >::D, and mathglpp::GLMatrix< T >::dot4().
00105 { 00106 value_type interpVec[D] = { 1, value_type(interp), value_type(interp * interp), value_type(interp * interp * interp) }; 00107 basis.dot4(interpVec).glVertex(); 00108 }
Here is the call graph for this function:
vector_type mathglpp::GLCubicHermiteCurve4< T >::interpolate | ( | GLclampf | interp | ) | const [inline] |
GLVector interface for vertex generation, interp : [0,1].
Definition at line 111 of file CubicHermiteCurve.h.
References mathglpp::GLCubicHermiteCurve4< T >::D, and mathglpp::GLMatrix< T >::dot4().
00112 { 00113 value_type interpVec[D] = { 1, value_type(interp), value_type(interp * interp), value_type(interp * interp * interp) }; 00114 return basis.dot4(interpVec); 00115 }
Here is the call graph for this function:
void mathglpp::GLCubicHermiteCurve4< T >::interpolate | ( | GLclampf | interp, | |
value_type * | vertex | |||
) | const [inline] |
GLVector interface for vertex generation, interp : [0,1].
Definition at line 118 of file CubicHermiteCurve.h.
References mathglpp::GLMatrix< T >::vdot4().
00119 { 00120 vertex[0] = 1; 00121 vertex[1] = value_type(interp); 00122 vertex[2] = value_type(interp * interp); 00123 vertex[3] = value_type(interp * interp * interp); 00124 basis.vdot4(vertex); 00125 }
Here is the call graph for this function:
void mathglpp::GLCubicHermiteCurve4< T >::glVertex | ( | GLclampf | interp | ) | const [inline] |
OpenGL interface for vertex generation, interp : [0,1].
Definition at line 102 of file GLCubicHermiteCurve.h.
References mathglpp::GLCubicHermiteCurve4< T >::D, and mathglpp::GLMatrix< T >::dot4().
00103 { 00104 value_type interpVec[D] = { 1, value_type(interp), value_type(interp * interp), value_type(interp * interp * interp) }; 00105 basis.dot4(interpVec).glVertex(); 00106 }
Here is the call graph for this function:
vector_type mathglpp::GLCubicHermiteCurve4< T >::interpolate | ( | GLclampf | interp | ) | const [inline] |
GLVector interface for vertex generation, interp : [0,1].
Definition at line 109 of file GLCubicHermiteCurve.h.
References mathglpp::GLCubicHermiteCurve4< T >::D, and mathglpp::GLMatrix< T >::dot4().
00110 { 00111 value_type interpVec[D] = { 1, value_type(interp), value_type(interp * interp), value_type(interp * interp * interp) }; 00112 return basis.dot4(interpVec); 00113 }
Here is the call graph for this function:
void mathglpp::GLCubicHermiteCurve4< T >::interpolate | ( | GLclampf | interp, | |
value_type * | vertex | |||
) | const [inline] |
GLVector interface for vertex generation, interp : [0,1].
Definition at line 116 of file GLCubicHermiteCurve.h.
References mathglpp::GLMatrix< T >::vdot4().
00117 { 00118 vertex[0] = 1; 00119 vertex[1] = value_type(interp); 00120 vertex[2] = value_type(interp * interp); 00121 vertex[3] = value_type(interp * interp * interp); 00122 basis.vdot4(vertex); 00123 }
Here is the call graph for this function: