|  | VTK
    9.0.1
    | 
 
 
 
Go to the documentation of this file.
   27 #ifndef vtkMatrix3x3_h 
   28 #define vtkMatrix3x3_h 
   30 #include "vtkCommonMathModule.h"  
   66   static void DeepCopy(
double elements[9], 
const double newElements[9]);
 
   73     this->DeepCopy(*this->Element, elements);
 
   85   static void Zero(
double elements[9]);
 
   95   static void Identity(
double elements[9]);
 
  107   static void Invert(
const double inElements[9], 
double outElements[9]);
 
  118   static void Transpose(
const double inElements[9], 
double outElements[9]);
 
  133   static void MultiplyPoint(
const double elements[9], 
const float in[3], 
float out[3]);
 
  134   static void MultiplyPoint(
const double elements[9], 
const double in[3], 
double out[3]);
 
  143   static void Multiply3x3(
const double a[9], 
const double b[9], 
double c[9]);
 
  152   static void Adjoint(
const double inElements[9], 
double outElements[9]);
 
  158   static double Determinant(
const double elements[9]);
 
  163   void SetElement(
int i, 
int j, 
double value);
 
  168   double GetElement(
int i, 
int j)
 const { 
return this->Element[i][j]; }
 
  182   const double* 
GetData()
 const { 
return *this->Element; }
 
  188   double Element[3][3]; 
 
  207   if (M[0] == 1.0 && M[4] == 1.0 && M[8] == 1.0 && M[1] == 0.0 && M[2] == 0.0 && M[3] == 0.0 &&
 
  208     M[5] == 0.0 && M[6] == 0.0 && M[7] == 0.0)
 
  
static void Transpose(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
Transpose the matrix and put it into out.
static void DeepCopy(double elements[9], vtkMatrix3x3 *source)
void Identity()
Set equal to Identity matrix.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
virtual void Modified()
Update the modification time for this object.
abstract base class for most VTK objects
void MultiplyPoint(const double in[3], double out[3])
represent and manipulate 3x3 transformation matrices
double * GetData()
Return a pointer to the first element of the matrix (double[9]).
void Adjoint(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
Compute adjoint of the matrix and put it into out.
static void Multiply3x3(vtkMatrix3x3 *a, vtkMatrix3x3 *b, vtkMatrix3x3 *c)
Multiplies matrices a and b and stores the result in c (c=a*b).
void DeepCopy(vtkMatrix3x3 *source)
Set the elements of the matrix to the same values as the elements of the source Matrix.
static void Invert(vtkMatrix3x3 *in, vtkMatrix3x3 *out)
Matrix Inversion (adapted from Richard Carling in "Graphics Gems," Academic Press,...
a simple class to control print indentation
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const double * GetData() const
Return a pointer to the first element of the matrix (double[9]).
void Zero()
Set all of the elements to zero.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
double GetElement(int i, int j) const
Returns the element i,j from the matrix.
void SetElement(int i, int j, double value)
Sets the element i,j in the matrix.
void MultiplyPoint(const float in[3], float out[3])
Multiply a homogeneous coordinate by this matrix, i.e.
double Determinant()
Compute the determinant of the matrix and return it.
void DeepCopy(const double elements[9])
Non-static member function.