#include <vtkMatrix4x4.h>
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.
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 () |
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] |
typedef vtkObject vtkMatrix4x4::Superclass |
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.
static void vtkMatrix4x4::DeepCopy | ( | double | Elements[16], | |
const double | newElements[16] | |||
) | [static] |
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.
static void vtkMatrix4x4::Invert | ( | const double | inElements[16], | |
double | outElements[16] | |||
) | [static] |
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.
void vtkMatrix4x4::MultiplyPoint | ( | const float | in[4], | |
float | out[4] | |||
) | [inline] |
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.
void vtkMatrix4x4::MultiplyPoint | ( | const double | in[4], | |
double | out[4] | |||
) | [inline] |
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] |
float* vtkMatrix4x4::MultiplyPoint | ( | const float | in[4] | ) | [inline] |
For use in Java, Python or Tcl. The default MultiplyPoint() uses a single-precision point.
Definition at line 136 of file vtkMatrix4x4.h.
float* vtkMatrix4x4::MultiplyFloatPoint | ( | const float | in[4] | ) | [inline] |
For use in Java, Python or Tcl. The default MultiplyPoint() uses a single-precision point.
Definition at line 138 of file vtkMatrix4x4.h.
double* vtkMatrix4x4::MultiplyDoublePoint | ( | const double | in[4] | ) | [inline] |
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.
static void vtkMatrix4x4::Adjoint | ( | const double | inElements[16], | |
double | outElements[16] | |||
) | [static] |
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.
static double vtkMatrix4x4::Determinant | ( | const double | Elements[16] | ) | [static] |
Compute the determinant of the matrix and return it.
void vtkMatrix4x4::SetElement | ( | int | i, | |
int | j, | |||
double | value | |||
) | [inline] |
Sets the element i,j in the matrix.
Definition at line 212 of file vtkMatrix4x4.h.
double vtkMatrix4x4::GetElement | ( | int | i, | |
int | j | |||
) | const [inline] |
Returns the element i,j from the matrix.
Definition at line 176 of file vtkMatrix4x4.h.
double* vtkMatrix4x4::operator[] | ( | const unsigned int | i | ) | [inline] |
Definition at line 181 of file vtkMatrix4x4.h.
const double* vtkMatrix4x4::operator[] | ( | unsigned int | i | ) | const [inline] |
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.