Go to the documentation of this file.
29 #ifndef vtkMatrix3x3_h
30 #define vtkMatrix3x3_h
61 static void DeepCopy(
double Elements[9],
const double newElements[9]);
76 static void Zero(
double Elements[9]);
97 static void Invert(
const double inElements[9],
double outElements[9]);
109 static void Transpose(
const double inElements[9],
double outElements[9]);
124 const float in[3],
float out[3]);
126 const double in[3],
double out[3]);
144 static void Adjoint(
const double inElements[9],
double outElements[9]);
157 void SetElement(
int i,
int j,
double value);
162 {
return this->Element[i][j];}
167 {
return &(this->Element[i][0]);}
169 {
return &(this->Element[i][0]); }
173 {this->Adjoint(&
in,&out);}
175 {
return this->Determinant(&
in);}
179 {this->Invert(&
in,&out);}
181 {this->Transpose(&
in,&out);}
183 const float in[3],
float out[3]);
185 const double in[3],
double out[3]);
200 double Element[3][3];
220 if (M[0] == 1.0 &&
M[4] == 1.0 &&
M[8] == 1.0 &&
221 M[1] == 0.0 &&
M[2] == 0.0 &&
M[3] == 0.0 &&
M[5] == 0.0 &&
222 M[6] == 0.0 &&
M[7] == 0.0)
234 for (
int i = 0; i < 3; ++i)
236 for (
int j = 0; j < 3; ++j)
249 for (
int i = 0; i < 3; ++i)
251 for (
int j = 0; j < 3; ++j)
static void MultiplyPoint(const double Elements[9], const double in[3], double out[3])
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
static void Zero(double Elements[9])
static void Transpose(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
bool operator==(const vtkMatrix3x3 &)
GLboolean GLboolean GLboolean b
static void MultiplyPoint(const double Elements[9], const float in[3], float out[3])
bool operator!=(const vtkMatrix3x3 &)
void PrintSelf(ostream &os, vtkIndent indent)
const double * operator[](unsigned int i) const
#define vtkTypeMacro(thisClass, superclass)
abstract base class for most VTK objects
void MultiplyPoint(const double in[3], double out[3])
represent and manipulate 3x3 transformation matrices
double Determinant(vtkMatrix3x3 *in)
static void Multiply3x3(const double a[9], const double b[9], double c[9])
void Adjoint(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
void DeepCopy(const double Elements[9])
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void Adjoint(vtkMatrix3x3 &in, vtkMatrix3x3 &out)
GLsizei const GLfloat * value
static void Multiply3x3(vtkMatrix3x3 *a, vtkMatrix3x3 *b, vtkMatrix3x3 *c)
void DeepCopy(vtkMatrix3x3 *source)
static void Invert(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
static void Transpose(const double inElements[9], double outElements[9])
static void DeepCopy(double Elements[9], const double newElements[9])
a simple class to control print indentation
static void PointMultiply(const double Elements[9], const double in[3], double out[3])
static double Determinant(const double Elements[9])
#define VTKCOMMONMATH_EXPORT
static void Invert(const double inElements[9], double outElements[9])
VTKCOMMONCORE_EXPORT bool operator==(const vtkUnicodeString &lhs, const vtkUnicodeString &rhs)
GLboolean GLboolean GLboolean GLboolean a
static void PointMultiply(const double Elements[9], const float in[3], float out[3])
double * operator[](const unsigned int i)
void Invert(vtkMatrix3x3 &in, vtkMatrix3x3 &out)
void Transpose(vtkMatrix3x3 &in, vtkMatrix3x3 &out)
double Determinant(vtkMatrix3x3 &in)
static void Adjoint(const double inElements[9], double outElements[9])
VTKCOMMONCORE_EXPORT bool operator!=(const vtkUnicodeString &lhs, const vtkUnicodeString &rhs)
static void Identity(double Elements[9])
double GetElement(int i, int j) const
static void DeepCopy(double Elements[9], vtkMatrix3x3 *source)
void SetElement(int i, int j, double value)
void MultiplyPoint(const float in[3], float out[3])
static vtkMatrix3x3 * New()