VTK
|
represent and manipulate 4x4 transformation matrices More...
#include <vtkMatrix4x4.h>
Public Types | |
typedef vtkObject | Superclass |
Public Member Functions | |
virtual int | IsA (const char *type) |
vtkMatrix4x4 * | NewInstance () const |
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 (vtkObjectBase *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 | |
virtual vtkObjectBase * | NewInstanceInternal () const |
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 38 of file vtkMatrix4x4.h.
typedef vtkObject vtkMatrix4x4::Superclass |
Reimplemented from vtkObject.
Definition at line 55 of file vtkMatrix4x4.h.
vtkMatrix4x4::vtkMatrix4x4 | ( | ) | [inline, protected] |
Definition at line 203 of file vtkMatrix4x4.h.
vtkMatrix4x4::~vtkMatrix4x4 | ( | ) | [inline, protected] |
Definition at line 204 of file vtkMatrix4x4.h.
static vtkMatrix4x4* vtkMatrix4x4::New | ( | ) | [static] |
Construct a 4x4 identity matrix.
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 | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkObject.
virtual vtkObjectBase* vtkMatrix4x4::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkObject.
vtkMatrix4x4* vtkMatrix4x4::NewInstance | ( | ) | const |
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 61 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 64 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 72 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Zero | ( | ) | [inline] |
Set all of the elements to zero.
Definition at line 78 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 87 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 97 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Invert | ( | ) | [inline] |
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).
Definition at line 99 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 109 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Transpose | ( | ) | [inline] |
Transpose the matrix and put it into out.
Definition at line 111 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 121 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 123 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 137 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 139 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 141 of file vtkMatrix4x4.h.
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 244 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Multiply4x4 | ( | const double | a[16], |
const double | b[16], | ||
double | c[16] | ||
) | [inline, static] |
Multiplies matrices a and b and stores the result in c.
Definition at line 219 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Adjoint | ( | const vtkMatrix4x4 * | in, |
vtkMatrix4x4 * | out | ||
) | [inline] |
Compute adjoint of the matrix and put it into out.
Definition at line 157 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 166 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 251 of file vtkMatrix4x4.h.
double vtkMatrix4x4::GetElement | ( | int | i, |
int | j | ||
) | const [inline] |
Returns the element i,j from the matrix.
Definition at line 177 of file vtkMatrix4x4.h.
Definition at line 182 of file vtkMatrix4x4.h.
Definition at line 184 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Adjoint | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 186 of file vtkMatrix4x4.h.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 & | in | ) | [inline] |
Definition at line 188 of file vtkMatrix4x4.h.
double vtkMatrix4x4::Determinant | ( | vtkMatrix4x4 * | in | ) | [inline] |
Definition at line 190 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Invert | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 192 of file vtkMatrix4x4.h.
void vtkMatrix4x4::Transpose | ( | vtkMatrix4x4 & | in, |
vtkMatrix4x4 & | out | ||
) | [inline] |
Definition at line 194 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 50 of file vtkMatrix4x4.h.
float vtkMatrix4x4::FloatPoint[4] [protected] |
Definition at line 206 of file vtkMatrix4x4.h.
double vtkMatrix4x4::DoublePoint[4] [protected] |
Definition at line 207 of file vtkMatrix4x4.h.