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

represent and manipulate 3x3 transformation matrices More...

#include <vtkMatrix3x3.h>

Inherits vtkObject.

Public Types

typedef vtkObject Superclass
 

Public Member Functions

virtual int IsA (const char *type)
 
vtkMatrix3x3NewInstance () 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
 
bool operator== (const vtkMatrix3x3 &)
 
bool operator!= (const vtkMatrix3x3 &)
 
void Adjoint (vtkMatrix3x3 &in, vtkMatrix3x3 &out)
 
double Determinant (vtkMatrix3x3 &in)
 
double Determinant (vtkMatrix3x3 *in)
 
void Invert (vtkMatrix3x3 &in, vtkMatrix3x3 &out)
 
void Transpose (vtkMatrix3x3 &in, vtkMatrix3x3 &out)
 
bool IsIdentity ()
 
double * GetData ()
 
void DeepCopy (const double Elements[9])
 
void MultiplyPoint (const float in[3], float out[3])
 
void MultiplyPoint (const double in[3], double out[3])
 
double GetElement (int i, int j) const
 

Static Public Member Functions

static vtkMatrix3x3New ()
 
static int IsTypeOf (const char *type)
 
static vtkMatrix3x3SafeDownCast (vtkObjectBase *o)
 
static void MultiplyPoint (const double Elements[9], const float in[3], float out[3])
 
static void MultiplyPoint (const double Elements[9], const double in[3], double out[3])
 
static void PointMultiply (const double Elements[9], const float in[3], float out[3])
 
static void PointMultiply (const double Elements[9], const double in[3], double out[3])
 
static void Multiply3x3 (vtkMatrix3x3 *a, vtkMatrix3x3 *b, vtkMatrix3x3 *c)
 
static void Multiply3x3 (const double a[9], const double b[9], double c[9])
 

Protected Member Functions

virtual vtkObjectBase * NewInstanceInternal () const
 
 vtkMatrix3x3 ()
 
 ~vtkMatrix3x3 ()
 

Protected Attributes

double Element [3][3]
 
static void DeepCopy (double Elements[9], vtkMatrix3x3 *source)
 
static void DeepCopy (double Elements[9], const double newElements[9])
 
void DeepCopy (vtkMatrix3x3 *source)
 
static void Zero (double Elements[9])
 
void Zero ()
 
static void Identity (double Elements[9])
 
void Identity ()
 
static void Invert (vtkMatrix3x3 *in, vtkMatrix3x3 *out)
 
static void Invert (const double inElements[9], double outElements[9])
 
void Invert ()
 
static void Transpose (vtkMatrix3x3 *in, vtkMatrix3x3 *out)
 
static void Transpose (const double inElements[9], double outElements[9])
 
void Transpose ()
 
static void Adjoint (const double inElements[9], double outElements[9])
 
void Adjoint (vtkMatrix3x3 *in, vtkMatrix3x3 *out)
 
static double Determinant (const double Elements[9])
 
double Determinant ()
 

Detailed Description

represent and manipulate 3x3 transformation matrices

vtkMatrix3x3 is a class to represent and manipulate 3x3 matrices. Specifically, it is designed to work on 3x3 transformation matrices found in 2D rendering using homogeneous coordinates [x y w].

See Also
vtkTransform2D
Tests:
vtkMatrix3x3 (Tests)

Definition at line 35 of file vtkMatrix3x3.h.

Member Typedef Documentation

typedef vtkObject vtkMatrix3x3::Superclass

Definition at line 50 of file vtkMatrix3x3.h.

Constructor & Destructor Documentation

vtkMatrix3x3::vtkMatrix3x3 ( )
protected
vtkMatrix3x3::~vtkMatrix3x3 ( )
protected

Member Function Documentation

static vtkMatrix3x3* vtkMatrix3x3::New ( )
static

Construct a 3x3 identity matrix.

static int vtkMatrix3x3::IsTypeOf ( const char *  type)
static
virtual int vtkMatrix3x3::IsA ( const char *  type)
virtual
static vtkMatrix3x3* vtkMatrix3x3::SafeDownCast ( vtkObjectBase *  o)
static
virtual vtkObjectBase* vtkMatrix3x3::NewInstanceInternal ( ) const
protectedvirtual
vtkMatrix3x3* vtkMatrix3x3::NewInstance ( ) const
void vtkMatrix3x3::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
void vtkMatrix3x3::DeepCopy ( vtkMatrix3x3 source)
inline

Set the elements of the matrix to the same values as the elements of the source Matrix.

Definition at line 56 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::DeepCopy ( double  Elements[9],
vtkMatrix3x3 source 
)
inlinestatic

Set the elements of the matrix to the same values as the elements of the source Matrix.

Definition at line 59 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::DeepCopy ( double  Elements[9],
const double  newElements[9] 
)
static

Set the elements of the matrix to the same values as the elements of the source Matrix.

void vtkMatrix3x3::DeepCopy ( const double  Elements[9])
inline

Non-static member function. Assigns from elements array

Definition at line 67 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Zero ( )
inline

Set all of the elements to zero.

Definition at line 73 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Zero ( double  Elements[9])
static

Set all of the elements to zero.

void vtkMatrix3x3::Identity ( )
inline

Set equal to Identity matrix

Definition at line 82 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Identity ( double  Elements[9])
static

Set equal to Identity matrix

static void vtkMatrix3x3::Invert ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inlinestatic

Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).

Definition at line 92 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Invert ( )
inline

Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).

Definition at line 94 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Invert ( const double  inElements[9],
double  outElements[9] 
)
static

Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press, 1990).

static void vtkMatrix3x3::Transpose ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inlinestatic

Transpose the matrix and put it into out.

Definition at line 104 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Transpose ( )
inline

Transpose the matrix and put it into out.

Definition at line 106 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Transpose ( const double  inElements[9],
double  outElements[9] 
)
static

Transpose the matrix and put it into out.

void vtkMatrix3x3::MultiplyPoint ( const float  in[3],
float  out[3] 
)
inline

Multiply a homogeneous coordinate by this matrix, i.e. out = A*in. The in[3] and out[3] can be the same array.

Definition at line 116 of file vtkMatrix3x3.h.

void vtkMatrix3x3::MultiplyPoint ( const double  in[3],
double  out[3] 
)
inline

Multiply a homogeneous coordinate by this matrix, i.e. out = A*in. The in[3] and out[3] can be the same array.

Definition at line 118 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::MultiplyPoint ( const double  Elements[9],
const float  in[3],
float  out[3] 
)
static
static void vtkMatrix3x3::MultiplyPoint ( const double  Elements[9],
const double  in[3],
double  out[3] 
)
static
static void vtkMatrix3x3::Multiply3x3 ( vtkMatrix3x3 a,
vtkMatrix3x3 b,
vtkMatrix3x3 c 
)
inlinestatic

Multiplies matrices a and b and stores the result in c (c=a*b).

Definition at line 131 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Multiply3x3 ( const double  a[9],
const double  b[9],
double  c[9] 
)
static

Multiplies matrices a and b and stores the result in c (c=a*b).

void vtkMatrix3x3::Adjoint ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inline

Compute adjoint of the matrix and put it into out.

Definition at line 141 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::Adjoint ( const double  inElements[9],
double  outElements[9] 
)
static

Compute adjoint of the matrix and put it into out.

double vtkMatrix3x3::Determinant ( )
inline

Compute the determinant of the matrix and return it.

Definition at line 150 of file vtkMatrix3x3.h.

static double vtkMatrix3x3::Determinant ( const double  Elements[9])
static

Compute the determinant of the matrix and return it.

void vtkMatrix3x3::SetElement ( int  i,
int  j,
double  value 
)
inline

Sets the element i,j in the matrix.

Definition at line 208 of file vtkMatrix3x3.h.

double vtkMatrix3x3::GetElement ( int  i,
int  j 
) const
inline

Returns the element i,j from the matrix.

Definition at line 161 of file vtkMatrix3x3.h.

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

Definition at line 166 of file vtkMatrix3x3.h.

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

Definition at line 168 of file vtkMatrix3x3.h.

bool vtkMatrix3x3::operator== ( const vtkMatrix3x3 other)
inline

Definition at line 232 of file vtkMatrix3x3.h.

bool vtkMatrix3x3::operator!= ( const vtkMatrix3x3 other)
inline

Definition at line 247 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Adjoint ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inline

Definition at line 172 of file vtkMatrix3x3.h.

double vtkMatrix3x3::Determinant ( vtkMatrix3x3 in)
inline

Definition at line 174 of file vtkMatrix3x3.h.

double vtkMatrix3x3::Determinant ( vtkMatrix3x3 in)
inline

Definition at line 176 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Invert ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inline

Definition at line 178 of file vtkMatrix3x3.h.

void vtkMatrix3x3::Transpose ( vtkMatrix3x3 in,
vtkMatrix3x3 out 
)
inline

Definition at line 180 of file vtkMatrix3x3.h.

static void vtkMatrix3x3::PointMultiply ( const double  Elements[9],
const float  in[3],
float  out[3] 
)
static
static void vtkMatrix3x3::PointMultiply ( const double  Elements[9],
const double  in[3],
double  out[3] 
)
static
bool vtkMatrix3x3::IsIdentity ( )
inline

Definition at line 217 of file vtkMatrix3x3.h.

double* vtkMatrix3x3::GetData ( )
inline

Return a pointer to the first element of the matrix (double[9]).

Definition at line 193 of file vtkMatrix3x3.h.

Member Data Documentation

double vtkMatrix3x3::Element[3][3]
protected

Definition at line 200 of file vtkMatrix3x3.h.


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