VTK
|
represent and manipulate 4x4 transformation matrices More...
#include <vtkMatrix4x4.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
void | SetElement (int i, int j, double value) |
double * | operator[] (const unsigned int i) |
const double * | operator[] (unsigned int i) const |
void | Adjoint (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
double | Determinant (vtkMatrix4x4 &in) |
double | Determinant (vtkMatrix4x4 *in) |
void | Invert (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
void | Transpose (vtkMatrix4x4 &in, vtkMatrix4x4 &out) |
void | DeepCopy (const double Elements[16]) |
void | MultiplyPoint (const float in[4], float out[4]) |
void | MultiplyPoint (const double in[4], double out[4]) |
float * | MultiplyPoint (const float in[4]) |
float * | MultiplyFloatPoint (const float in[4]) |
double * | MultiplyDoublePoint (const double in[4]) |
double | GetElement (int i, int j) const |
Static Public Member Functions | |
static vtkMatrix4x4 * | New () |
static int | IsTypeOf (const char *type) |
static vtkMatrix4x4 * | SafeDownCast (vtkObject *o) |
static void | MultiplyPoint (const double Elements[16], const float in[4], float out[4]) |
static void | MultiplyPoint (const double Elements[16], const double in[4], double out[4]) |
static void | PointMultiply (const double Elements[16], const float in[4], float out[4]) |
static void | PointMultiply (const double Elements[16], const double in[4], double out[4]) |
static void | Multiply4x4 (const vtkMatrix4x4 *a, const vtkMatrix4x4 *b, vtkMatrix4x4 *c) |
static void | Multiply4x4 (const double a[16], const double b[16], double c[16]) |
Public Attributes | |
double | Element [4][4] |
Protected Member Functions | |
vtkMatrix4x4 () | |
~vtkMatrix4x4 () | |
Protected Attributes | |
float | FloatPoint [4] |
double | DoublePoint [4] |
static void | DeepCopy (double Elements[16], const vtkMatrix4x4 *source) |
static void | DeepCopy (double Elements[16], const double newElements[16]) |
void | DeepCopy (const vtkMatrix4x4 *source) |
static void | Zero (double Elements[16]) |
void | Zero () |
static void | Identity (double Elements[16]) |
void | Identity () |
static void | Invert (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
static void | Invert (const double inElements[16], double outElements[16]) |
void | Invert () |
static void | Transpose (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
static void | Transpose (const double inElements[16], double outElements[16]) |
void | Transpose () |
static void | Adjoint (const double inElements[16], double outElements[16]) |
void | Adjoint (const vtkMatrix4x4 *in, vtkMatrix4x4 *out) |
static double | Determinant (const double Elements[16]) |
double | Determinant () |
represent and manipulate 4x4 transformation matrices
vtkMatrix4x4 is a class to represent and manipulate 4x4 matrices. Specifically, it is designed to work on 4x4 transformation matrices found in 3D rendering using homogeneous coordinates [x y z w].
Definition at line 37 of file vtkMatrix4x4.h.
typedef vtkObject vtkMatrix4x4::Superclass |
Reimplemented from vtkObject.
Definition at line 54 of file vtkMatrix4x4.h.
vtkMatrix4x4::vtkMatrix4x4 | ( | ) | [inline, protected] |
Definition at line 202 of file vtkMatrix4x4.h.
vtkMatrix4x4::~vtkMatrix4x4 | ( | ) | [inline, protected] |
Definition at line 203 of file vtkMatrix4x4.h.
static vtkMatrix4x4* vtkMatrix4x4::New | ( | ) | [static] |
Construct a 4x4 identity matrix.
Reimplemented from vtkObject.
virtual const char* vtkMatrix4x4::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkObject.
static int vtkMatrix4x4::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
virtual int vtkMatrix4x4::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkObject.
static vtkMatrix4x4* vtkMatrix4x4::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkObject.
void vtkMatrix4x4::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
void vtkMatrix4x4::DeepCopy | ( | const vtkMatrix4x4 * | source | ) | [inline] |
Set the elements of the matrix to the same values as the elements of the source Matrix.
Definition at line 60 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::DeepCopy | ( | double | Elements[16], |
const vtkMatrix4x4 * | source | ||
) | [inline, static] |
Set the elements of the matrix to the same values as the elements of the source Matrix.
Definition at line 63 of file vtkMatrix4x4.h.
Set the elements of the matrix to the same values as the elements of the source Matrix.
void vtkMatrix4x4::DeepCopy | ( | const double | Elements[16] | ) | [inline] |
Non-static member function. Assigns *from* elements array
Definition at line 71 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Zero | ( | ) | [inline] |
Set all of the elements to zero.
Definition at line 77 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::Zero | ( | double | Elements[16] | ) | [static] |
Set all of the elements to zero.
void vtkMatrix4x4::Identity | ( | ) | [inline] |
Set equal to Identity matrix
Definition at line 86 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::Identity | ( | double | Elements[16] | ) | [static] |
Set equal to Identity matrix
static void vtkMatrix4x4::Invert | ( | const vtkMatrix4x4 * | in, |
vtkMatrix4x4 * | out | ||
) | [inline, static] |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
Definition at line 96 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Invert | ( | ) | [inline] |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
Definition at line 98 of file vtkMatrix4x4.h.
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
static void vtkMatrix4x4::Transpose | ( | const vtkMatrix4x4 * | in, |
vtkMatrix4x4 * | out | ||
) | [inline, static] |
Transpose the matrix and put it into out.
Definition at line 108 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Transpose | ( | ) | [inline] |
Transpose the matrix and put it into out.
Definition at line 110 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::Transpose | ( | const double | inElements[16], |
double | outElements[16] | ||
) | [static] |
Transpose the matrix and put it into out.
Multiply a homogeneous coordinate by this matrix, i.e. out = A*in. The in[4] and out[4] can be the same array.
Definition at line 120 of file vtkMatrix4x4.h.
Multiply a homogeneous coordinate by this matrix, i.e. out = A*in. The in[4] and out[4] can be the same array.
Definition at line 122 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::MultiplyPoint | ( | const double | Elements[16], |
const float | in[4], | ||
float | out[4] | ||
) | [static] |
static void vtkMatrix4x4::MultiplyPoint | ( | const double | Elements[16], |
const double | in[4], | ||
double | out[4] | ||
) | [static] |
For use in Java, Python or Tcl. The default MultiplyPoint() uses a single-precision point.
Definition at line 136 of file vtkMatrix4x4.h.
For use in Java, Python or Tcl. The default MultiplyPoint() uses a single-precision point.
Definition at line 138 of file vtkMatrix4x4.h.
For use in Java, Python or Tcl. The default MultiplyPoint() uses a single-precision point.
Definition at line 140 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::Multiply4x4 | ( | const vtkMatrix4x4 * | a, |
const vtkMatrix4x4 * | b, | ||
vtkMatrix4x4 * | c | ||
) | [inline, static] |
Multiplies matrices a and b and stores the result in c.
Definition at line 146 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::Multiply4x4 | ( | const double | a[16], |
const double | b[16], | ||
double | c[16] | ||
) | [static] |
Multiplies matrices a and b and stores the result in c.
void vtkMatrix4x4::Adjoint | ( | const vtkMatrix4x4 * | in, |
vtkMatrix4x4 * | out | ||
) | [inline] |
Compute adjoint of the matrix and put it into out.
Definition at line 156 of file vtkMatrix4x4.h.
Compute adjoint of the matrix and put it into out.
double vtkMatrix4x4::Determinant | ( | ) | [inline] |
Compute the determinant of the matrix and return it.
Definition at line 165 of file vtkMatrix4x4.h.
Compute the determinant of the matrix and return it.
Sets the element i,j in the matrix.
Definition at line 212 of file vtkMatrix4x4.h.
Returns the element i,j from the matrix.
Definition at line 176 of file vtkMatrix4x4.h.
Definition at line 181 of file vtkMatrix4x4.h.
Definition at line 183 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Adjoint | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 185 of file vtkMatrix4x4.h.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 & | in | ) | [inline] |
Definition at line 187 of file vtkMatrix4x4.h.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 * | in | ) | [inline] |
Definition at line 189 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Invert | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 191 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Transpose | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 193 of file vtkMatrix4x4.h.
static void vtkMatrix4x4::PointMultiply | ( | const double | Elements[16], |
const float | in[4], | ||
float | out[4] | ||
) | [static] |
static void vtkMatrix4x4::PointMultiply | ( | const double | Elements[16], |
const double | in[4], | ||
double | out[4] | ||
) | [static] |
double vtkMatrix4x4::Element[4][4] |
Definition at line 49 of file vtkMatrix4x4.h.
float vtkMatrix4x4::FloatPoint[4] [protected] |
Definition at line 203 of file vtkMatrix4x4.h.
double vtkMatrix4x4::DoublePoint[4] [protected] |
Definition at line 206 of file vtkMatrix4x4.h.