#include <CubicBezierCurve.h>
Collaboration diagram for mathglpp::CubicBezierCurve4< T >:
Definition at line 36 of file CubicBezierCurve.h.
Public Types | |
enum | { D = 4 } |
enum | { D = 4 } |
typedef T | value_type |
typedef GLMatrix< value_type > | matrix_type |
typedef T | value_type |
typedef GLMatrix< value_type > | matrix_type |
Public Member Functions | |
CubicBezierCurve4 (const value_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
CubicBezierCurve4 (const value_type *c0, const value_type *c1, const value_type *c2, const value_type *c3) | |
Create and premultiply a basis matrix for later interpolation. | |
CubicBezierCurve4 (const CubicBezierCurve4 &bc) | |
~CubicBezierCurve4 () | |
Destroy the basis matrix. | |
void | interpolate (GLclampf interp, value_type *vertex) const |
interface for vertex generation, interp : [0,1] | |
CubicBezierCurve4 (const value_type *cpoints) | |
Create and premultiply a basis matrix for later interpolation, cpoints must not be NULL!!!! | |
CubicBezierCurve4 (const value_type *c0, const value_type *c1, const value_type *c2, const value_type *c3) | |
Create and premultiply a basis matrix for later interpolation. | |
CubicBezierCurve4 (const CubicBezierCurve4 &bc) | |
~CubicBezierCurve4 () | |
Destroy the basis matrix. | |
void | interpolate (GLclampf interp, value_type *vertex) const |
interface for vertex generation, interp : [0,1] |
anonymous enum |
anonymous enum |
mathglpp::CubicBezierCurve4< T >::CubicBezierCurve4 | ( | 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 44 of file CubicBezierCurve.h.
References mathglpp::CubicBezierCurve4< T >::D.
00045 :basis(cpoints) 00046 { 00048 static value_type coeffs[D*D] = 00049 { 1, -0, 0, -0, 00050 -3, 3, -0, 0, 00051 3, -6, 3, -0, 00052 -1, 3, -3, 1 }; 00053 00055 basis *= GLMatrix<value_type>(coeffs); 00056 }
mathglpp::CubicBezierCurve4< T >::CubicBezierCurve4 | ( | const value_type * | c0, | |
const value_type * | c1, | |||
const value_type * | c2, | |||
const value_type * | c3 | |||
) | [inline] |
Create and premultiply a basis matrix for later interpolation.
Column major so it seems like it is transposed
Pre multiply
Definition at line 59 of file CubicBezierCurve.h.
00060 :basis(c0,c1,c2,c3) 00061 { 00063 static value_type coeffs[16] = 00064 { 1, -0, 0, -0, 00065 -3, 3, -0, 0, 00066 3, -6, 3, -0, 00067 -1, 3, -3, 1 }; 00068 00069 00071 basis *= GLMatrix<value_type>(coeffs); 00072 }
mathglpp::CubicBezierCurve4< T >::~CubicBezierCurve4 | ( | ) | [inline] |
mathglpp::CubicBezierCurve4< T >::CubicBezierCurve4 | ( | 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 44 of file GLCubicBezierCurve.h.
References mathglpp::CubicBezierCurve4< T >::D.
00045 :basis(cpoints) 00046 { 00048 static value_type coeffs[D*D] = 00049 { 1, -0, 0, -0, 00050 -3, 3, -0, 0, 00051 3, -6, 3, -0, 00052 -1, 3, -3, 1 }; 00053 00055 basis *= GLMatrix<value_type>(coeffs); 00056 }
mathglpp::CubicBezierCurve4< T >::CubicBezierCurve4 | ( | const value_type * | c0, | |
const value_type * | c1, | |||
const value_type * | c2, | |||
const value_type * | c3 | |||
) | [inline] |
Create and premultiply a basis matrix for later interpolation.
Column major so it seems like it is transposed
Pre multiply
Definition at line 59 of file GLCubicBezierCurve.h.
00060 :basis(c0,c1,c2,c3) 00061 { 00063 static value_type coeffs[16] = 00064 { 1, -0, 0, -0, 00065 -3, 3, -0, 0, 00066 3, -6, 3, -0, 00067 -1, 3, -3, 1 }; 00068 00069 00071 basis *= GLMatrix<value_type>(coeffs); 00072 }
mathglpp::CubicBezierCurve4< T >::~CubicBezierCurve4 | ( | ) | [inline] |
void mathglpp::CubicBezierCurve4< T >::interpolate | ( | GLclampf | interp, | |
value_type * | vertex | |||
) | const [inline] |
interface for vertex generation, interp : [0,1]
Definition at line 81 of file CubicBezierCurve.h.
References mathglpp::GLMatrix< T >::vdot4().
00082 { 00083 vertex[0] = 1; 00084 vertex[1] = value_type(interp); 00085 vertex[2] = value_type(interp * interp); 00086 vertex[3] = value_type(interp * interp * interp); 00087 basis.vdot4(vertex); 00088 }
Here is the call graph for this function:
void mathglpp::CubicBezierCurve4< T >::interpolate | ( | GLclampf | interp, | |
value_type * | vertex | |||
) | const [inline] |
interface for vertex generation, interp : [0,1]
Definition at line 81 of file GLCubicBezierCurve.h.
References mathglpp::GLMatrix< T >::vdot4().
00082 { 00083 vertex[0] = 1; 00084 vertex[1] = value_type(interp); 00085 vertex[2] = value_type(interp * interp); 00086 vertex[3] = value_type(interp * interp * interp); 00087 basis.vdot4(vertex); 00088 }
Here is the call graph for this function: