VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
vtkMatrix4x4 Class Reference

represent and manipulate 4x4 transformation matrices More...

#include <vtkMatrix4x4.h>

Inherits vtkObject.

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 ()
 

Detailed Description

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].

See Also
vtkTransform
Examples:
vtkMatrix4x4 (Examples)
Tests:
vtkMatrix4x4 (Tests)

Definition at line 38 of file vtkMatrix4x4.h.

Member Typedef Documentation

typedef vtkObject vtkMatrix4x4::Superclass

Definition at line 55 of file vtkMatrix4x4.h.

Constructor & Destructor Documentation

vtkMatrix4x4::vtkMatrix4x4 ( )
inlineprotected

Definition at line 203 of file vtkMatrix4x4.h.

vtkMatrix4x4::~vtkMatrix4x4 ( )
inlineprotected

Definition at line 204 of file vtkMatrix4x4.h.

Member Function Documentation

static vtkMatrix4x4* vtkMatrix4x4::New ( )
static

Construct a 4x4 identity matrix.

static int vtkMatrix4x4::IsTypeOf ( const char *  type)
static
virtual int vtkMatrix4x4::IsA ( const char *  type)
virtual
static vtkMatrix4x4* vtkMatrix4x4::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkMatrix4x4::NewInstanceInternal ( ) const
protectedvirtual
vtkMatrix4x4* vtkMatrix4x4::NewInstance ( ) const
void vtkMatrix4x4::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
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 
)
inlinestatic

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 
)
inlinestatic

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 
)
inlinestatic

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.

static void vtkMatrix4x4::Multiply4x4 ( const vtkMatrix4x4 *  a,
const vtkMatrix4x4 *  b,
vtkMatrix4x4 *  c 
)
inlinestatic

Multiplies matrices a and b and stores the result in c.

Definition at line 147 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 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 213 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.

double* vtkMatrix4x4::operator[] ( const unsigned int  i)
inline

Definition at line 182 of file vtkMatrix4x4.h.

const double* vtkMatrix4x4::operator[] ( unsigned int  i) const
inline

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

Member Data Documentation

double vtkMatrix4x4::Element[4][4]

Definition at line 50 of file vtkMatrix4x4.h.

float vtkMatrix4x4::FloatPoint[4]
protected

Definition at line 204 of file vtkMatrix4x4.h.

double vtkMatrix4x4::DoublePoint[4]
protected

Definition at line 207 of file vtkMatrix4x4.h.


The documentation for this class was generated from the following file: