JSBSim Flight Dynamics Model  1.2.0 (05 Nov 2023)
An Open Source Flight Dynamics and Control Software Library in C++
FGMatrix33 Class Reference

Detailed Description

Handles matrix math operations.

Author
Tony Peden, Jon Berndt, Mathias Froelich

Definition at line 69 of file FGMatrix33.h.

#include <FGMatrix33.h>

Public Types

enum  { eRows = 3 , eColumns = 3 }
 

Public Member Functions

 FGMatrix33 (const double m11, const double m12, const double m13, const double m21, const double m22, const double m23, const double m31, const double m32, const double m33)
 Initialization by given values. More...
 
 FGMatrix33 (const FGMatrix33 &M)
 Copy constructor. More...
 
 FGMatrix33 (void)
 Default initializer. More...
 
 ~FGMatrix33 (void)
 Destructor.
 
unsigned int Cols (void) const
 Number of cloumns in the matrix. More...
 
double Determinant (void) const
 Determinant of the matrix. More...
 
std::string Dump (const std::string &delimeter) const
 Prints the contents of the matrix. More...
 
std::string Dump (const std::string &delimiter, const std::string &prefix) const
 Prints the contents of the matrix. More...
 
double & Entry (unsigned int row, unsigned int col)
 Write access the entries of the matrix. More...
 
double Entry (unsigned int row, unsigned int col) const
 Read access the entries of the matrix. More...
 
FGColumnVector3 GetEuler () const
 Returns the Euler angle column vector associated with this matrix.
 
FGQuaternion GetQuaternion (void) const
 Returns the quaternion associated with this direction cosine (rotation) matrix.
 
void InitMatrix (const double m11, const double m12, const double m13, const double m21, const double m22, const double m23, const double m31, const double m32, const double m33)
 Initialize the matrix. More...
 
void InitMatrix (void)
 Initialize the matrix. More...
 
FGMatrix33 Inverse (void) const
 Return the inverse of the matrix. More...
 
bool Invertible (void) const
 Return if the matrix is invertible. More...
 
double & operator() (unsigned int row, unsigned int col)
 Write access the entries of the matrix. More...
 
double operator() (unsigned int row, unsigned int col) const
 Read access the entries of the matrix. More...
 
FGMatrix33 operator* (const double scalar) const
 Multiply the matrix with a scalar. More...
 
FGColumnVector3 operator* (const FGColumnVector3 &v) const
 Matrix vector multiplication. More...
 
FGMatrix33 operator* (const FGMatrix33 &B) const
 Matrix product. More...
 
FGMatrix33operator*= (const double scalar)
 In place matrix scale. More...
 
FGMatrix33operator*= (const FGMatrix33 &B)
 In place matrix multiplication. More...
 
FGMatrix33 operator+ (const FGMatrix33 &B) const
 Matrix addition. More...
 
FGMatrix33operator+= (const FGMatrix33 &B)
 In place matrix addition. More...
 
FGMatrix33 operator- (const FGMatrix33 &B) const
 Matrix subtraction. More...
 
FGMatrix33operator-= (const FGMatrix33 &B)
 In place matrix subtraction. More...
 
FGMatrix33 operator/ (const double scalar) const
 Multiply the matrix with 1.0/scalar. More...
 
FGMatrix33operator/= (const double scalar)
 In place matrix scale. More...
 
FGMatrix33operator= (const FGMatrix33 &A)
 Assignment operator. More...
 
FGMatrix33operator= (std::initializer_list< double > lv)
 Assignment operator. More...
 
unsigned int Rows (void) const
 Number of rows in the matrix. More...
 
void T (void)
 Transposes this matrix. More...
 
FGMatrix33 Transposed (void) const
 Transposed matrix. More...
 

Constructor & Destructor Documentation

◆ FGMatrix33() [1/3]

FGMatrix33 ( void  )

Default initializer.

Create a zero matrix.

Definition at line 58 of file FGMatrix33.cpp.

59 {
60  data[0] = data[1] = data[2] = data[3] = data[4] = data[5] =
61  data[6] = data[7] = data[8] = 0.0;
62 }

◆ FGMatrix33() [2/3]

FGMatrix33 ( const FGMatrix33 M)
inline

Copy constructor.

Parameters
MMatrix which is used for initialization.

Create copy of the matrix given in the argument.

Definition at line 90 of file FGMatrix33.h.

91  {
92  data[0] = M.data[0];
93  data[1] = M.data[1];
94  data[2] = M.data[2];
95  data[3] = M.data[3];
96  data[4] = M.data[4];
97  data[5] = M.data[5];
98  data[6] = M.data[6];
99  data[7] = M.data[7];
100  data[8] = M.data[8];
101  }

◆ FGMatrix33() [3/3]

FGMatrix33 ( const double  m11,
const double  m12,
const double  m13,
const double  m21,
const double  m22,
const double  m23,
const double  m31,
const double  m32,
const double  m33 
)
inline

Initialization by given values.

Parameters
m11value of the 1,1 Matrix element.
m12value of the 1,2 Matrix element.
m13value of the 1,3 Matrix element.
m21value of the 2,1 Matrix element.
m22value of the 2,2 Matrix element.
m23value of the 2,3 Matrix element.
m31value of the 3,1 Matrix element.
m32value of the 3,2 Matrix element.
m33value of the 3,3 Matrix element.

Create a matrix from the doubles given in the arguments.

Definition at line 117 of file FGMatrix33.h.

120  {
121  data[0] = m11;
122  data[1] = m21;
123  data[2] = m31;
124  data[3] = m12;
125  data[4] = m22;
126  data[5] = m32;
127  data[6] = m13;
128  data[7] = m23;
129  data[8] = m33;
130  }

Member Function Documentation

◆ Cols()

unsigned int Cols ( void  ) const
inline

Number of cloumns in the matrix.

Returns
the number of columns in the matrix.

Definition at line 214 of file FGMatrix33.h.

214 { return eColumns; }

◆ Determinant()

double Determinant ( void  ) const

Determinant of the matrix.

Returns
the determinant of the matrix.

Definition at line 221 of file FGMatrix33.cpp.

221  {
222  return data[0]*data[4]*data[8] + data[3]*data[7]*data[2]
223  + data[6]*data[1]*data[5] - data[6]*data[4]*data[2]
224  - data[3]*data[1]*data[8] - data[7]*data[5]*data[0];
225 }

◆ Dump() [1/2]

string Dump ( const std::string &  delimeter) const

Prints the contents of the matrix.

Parameters
delimeterthe item separator (tab or comma)
Returns
a string with the delimeter-separated contents of the matrix

Definition at line 66 of file FGMatrix33.cpp.

67 {
68  ostringstream buffer;
69  buffer << setw(12) << setprecision(10) << data[0] << delimiter;
70  buffer << setw(12) << setprecision(10) << data[3] << delimiter;
71  buffer << setw(12) << setprecision(10) << data[6] << delimiter;
72  buffer << setw(12) << setprecision(10) << data[1] << delimiter;
73  buffer << setw(12) << setprecision(10) << data[4] << delimiter;
74  buffer << setw(12) << setprecision(10) << data[7] << delimiter;
75  buffer << setw(12) << setprecision(10) << data[2] << delimiter;
76  buffer << setw(12) << setprecision(10) << data[5] << delimiter;
77  buffer << setw(12) << setprecision(10) << data[8];
78  return buffer.str();
79 }

◆ Dump() [2/2]

string Dump ( const std::string &  delimiter,
const std::string &  prefix 
) const

Prints the contents of the matrix.

Parameters
delimeterthe item separator (tab or comma, etc.)
prefixan additional prefix that is used to indent the 3X3 matrix printout
Returns
a string with the delimeter-separated contents of the matrix

Definition at line 83 of file FGMatrix33.cpp.

84 {
85  ostringstream buffer;
86 
87  buffer << prefix << right << fixed << setw(9) << setprecision(6) << data[0] << delimiter;
88  buffer << right << fixed << setw(9) << setprecision(6) << data[3] << delimiter;
89  buffer << right << fixed << setw(9) << setprecision(6) << data[6] << endl;
90 
91  buffer << prefix << right << fixed << setw(9) << setprecision(6) << data[1] << delimiter;
92  buffer << right << fixed << setw(9) << setprecision(6) << data[4] << delimiter;
93  buffer << right << fixed << setw(9) << setprecision(6) << data[7] << endl;
94 
95  buffer << prefix << right << fixed << setw(9) << setprecision(6) << data[2] << delimiter;
96  buffer << right << fixed << setw(9) << setprecision(6) << data[5] << delimiter;
97  buffer << right << fixed << setw(9) << setprecision(6) << data[8];
98 
99  buffer << setw(0) << left;
100 
101  return buffer.str();
102 }

◆ Entry() [1/2]

double& Entry ( unsigned int  row,
unsigned int  col 
)
inline

Write access the entries of the matrix.

This function is just a shortcut for the double& operator()(unsigned int row, unsigned int col) function. It is used internally to access the elements in a more convenient way.

Note that the indices given in the arguments are unchecked.

Parameters
rowRow index.
colColumn index.
Returns
a reference to the matrix entry at the given row and column indices. Indices are counted starting with 1.

Definition at line 202 of file FGMatrix33.h.

202  {
203  return data[(col-1)*eRows+row-1];
204  }

◆ Entry() [2/2]

double Entry ( unsigned int  row,
unsigned int  col 
) const
inline

Read access the entries of the matrix.

This function is just a shortcut for the double& operator()(unsigned int row, unsigned int col) function. It is used internally to access the elements in a more convenient way.

Note that the indices given in the arguments are unchecked.

Parameters
rowRow index.
colColumn index.
Returns
the value of the matrix entry at the given row and column indices. Indices are counted starting with 1.

Definition at line 185 of file FGMatrix33.h.

185  {
186  return data[(col-1)*eRows+row-1];
187  }

◆ InitMatrix() [1/2]

void InitMatrix ( const double  m11,
const double  m12,
const double  m13,
const double  m21,
const double  m22,
const double  m23,
const double  m31,
const double  m32,
const double  m33 
)
inline

Initialize the matrix.

This function initializes a matrix to user specified values.

Definition at line 240 of file FGMatrix33.h.

243  {
244  data[0] = m11;
245  data[1] = m21;
246  data[2] = m31;
247  data[3] = m12;
248  data[4] = m22;
249  data[5] = m32;
250  data[6] = m13;
251  data[7] = m23;
252  data[8] = m33;
253  }

◆ InitMatrix() [2/2]

void InitMatrix ( void  )

Initialize the matrix.

This function initializes a matrix to all 0.0.

Definition at line 259 of file FGMatrix33.cpp.

260 {
261  data[0] = data[1] = data[2] = data[3] = data[4] = data[5] =
262  data[6] = data[7] = data[8] = 0.0;
263 }
+ Here is the caller graph for this function:

◆ Inverse()

FGMatrix33 Inverse ( void  ) const

Return the inverse of the matrix.

Computes and returns if the inverse of the matrix. It is computed by Cramers Rule. Also there are no checks performed if the matrix is invertible. If you are not sure that it really is check this with the Invertible() call before.

Definition at line 229 of file FGMatrix33.cpp.

229  {
230  // Compute the inverse of a general matrix using Cramers rule.
231  // I guess googling for cramers rule gives tons of references
232  // for this. :)
233 
234  if (Determinant() != 0.0) {
235  double rdet = 1.0/Determinant();
236 
237  double i11 = rdet*(data[4]*data[8]-data[7]*data[5]);
238  double i21 = rdet*(data[7]*data[2]-data[1]*data[8]);
239  double i31 = rdet*(data[1]*data[5]-data[4]*data[2]);
240  double i12 = rdet*(data[6]*data[5]-data[3]*data[8]);
241  double i22 = rdet*(data[0]*data[8]-data[6]*data[2]);
242  double i32 = rdet*(data[3]*data[2]-data[0]*data[5]);
243  double i13 = rdet*(data[3]*data[7]-data[6]*data[4]);
244  double i23 = rdet*(data[6]*data[1]-data[0]*data[7]);
245  double i33 = rdet*(data[0]*data[4]-data[3]*data[1]);
246 
247  return FGMatrix33( i11, i12, i13,
248  i21, i22, i23,
249  i31, i32, i33 );
250  } else {
251  return FGMatrix33( 0, 0, 0,
252  0, 0, 0,
253  0, 0, 0 );
254  }
255 }
double Determinant(void) const
Determinant of the matrix.
Definition: FGMatrix33.cpp:221
FGMatrix33(void)
Default initializer.
Definition: FGMatrix33.cpp:58

◆ Invertible()

bool Invertible ( void  ) const
inline

Return if the matrix is invertible.

Checks and returns if the matrix is nonsingular and thus invertible. This is done by simply computing the determinant and check if it is zero. Note that this test does not cover any instabilities caused by nearly singular matirces using finite arithmetics. It only checks exact singularity.

Definition at line 275 of file FGMatrix33.h.

275 { return 0.0 != Determinant(); }

◆ operator()() [1/2]

double& operator() ( unsigned int  row,
unsigned int  col 
)
inline

Write access the entries of the matrix.

Note that the indices given in the arguments are unchecked.

Parameters
rowRow index.
colColumn index.
Returns
a reference to the matrix entry at the given row and column indices. Indices are counted starting with 1.

Definition at line 168 of file FGMatrix33.h.

168  {
169  return data[(col-1)*eRows+row-1];
170  }

◆ operator()() [2/2]

double operator() ( unsigned int  row,
unsigned int  col 
) const
inline

Read access the entries of the matrix.

Parameters
rowRow index.
colColumn index.
Returns
the value of the matrix entry at the given row and column indices. Indices are counted starting with 1.

Definition at line 155 of file FGMatrix33.h.

155  {
156  return data[(col-1)*eRows+row-1];
157  }

◆ operator*() [1/3]

FGMatrix33 operator* ( const double  scalar) const

Multiply the matrix with a scalar.

Parameters
scalarscalar factor to multiply with.
Returns
scaled matrix.

Compute and return the product of the current matrix with the scalar value scalar given in the argument.

Definition at line 333 of file FGMatrix33.cpp.

334 {
335  return FGMatrix33( scalar * data[0],
336  scalar * data[3],
337  scalar * data[6],
338  scalar * data[1],
339  scalar * data[4],
340  scalar * data[7],
341  scalar * data[2],
342  scalar * data[5],
343  scalar * data[8] );
344 }

◆ operator*() [2/3]

FGColumnVector3 operator* ( const FGColumnVector3 v) const

Matrix vector multiplication.

Parameters
vvector to multiply with.
Returns
matric vector product.

Compute and return the product of the current matrix with the vector given in the argument.

Definition at line 481 of file FGMatrix33.cpp.

482 {
483  double v1 = v(1);
484  double v2 = v(2);
485  double v3 = v(3);
486 
487  double tmp1 = v1*data[0]; //[(col-1)*eRows+row-1]
488  double tmp2 = v1*data[1];
489  double tmp3 = v1*data[2];
490 
491  tmp1 += v2*data[3];
492  tmp2 += v2*data[4];
493  tmp3 += v2*data[5];
494 
495  tmp1 += v3*data[6];
496  tmp2 += v3*data[7];
497  tmp3 += v3*data[8];
498 
499  return FGColumnVector3( tmp1, tmp2, tmp3 );
500 }

◆ operator*() [3/3]

FGMatrix33 operator* ( const FGMatrix33 B) const

Matrix product.

Parameters
Bmatrix to add to.
Returns
product of the matrices.

Compute and return the product of the current matrix and the matrix B given in the argument.

Definition at line 380 of file FGMatrix33.cpp.

381 {
382  FGMatrix33 Product;
383 
384  Product.data[0] = data[0]*M.data[0] + data[3]*M.data[1] + data[6]*M.data[2];
385  Product.data[3] = data[0]*M.data[3] + data[3]*M.data[4] + data[6]*M.data[5];
386  Product.data[6] = data[0]*M.data[6] + data[3]*M.data[7] + data[6]*M.data[8];
387  Product.data[1] = data[1]*M.data[0] + data[4]*M.data[1] + data[7]*M.data[2];
388  Product.data[4] = data[1]*M.data[3] + data[4]*M.data[4] + data[7]*M.data[5];
389  Product.data[7] = data[1]*M.data[6] + data[4]*M.data[7] + data[7]*M.data[8];
390  Product.data[2] = data[2]*M.data[0] + data[5]*M.data[1] + data[8]*M.data[2];
391  Product.data[5] = data[2]*M.data[3] + data[5]*M.data[4] + data[8]*M.data[5];
392  Product.data[8] = data[2]*M.data[6] + data[5]*M.data[7] + data[8]*M.data[8];
393 
394  return Product;
395 }

◆ operator*=() [1/2]

FGMatrix33 & operator*= ( const double  scalar)

In place matrix scale.

Parameters
scalarscalar value to multiply with.
Returns
reference to the current matrix.

Compute the product of the current matrix and the scalar value scalar given in the argument.

Definition at line 363 of file FGMatrix33.cpp.

364 {
365  data[0] *= scalar;
366  data[3] *= scalar;
367  data[6] *= scalar;
368  data[1] *= scalar;
369  data[4] *= scalar;
370  data[7] *= scalar;
371  data[2] *= scalar;
372  data[5] *= scalar;
373  data[8] *= scalar;
374 
375  return *this;
376 }

◆ operator*=() [2/2]

FGMatrix33 & operator*= ( const FGMatrix33 B)

In place matrix multiplication.

Parameters
Bmatrix to multiply with.
Returns
reference to the current matrix.

Compute the product of the current matrix and the matrix B given in the argument.

Definition at line 399 of file FGMatrix33.cpp.

400 {
401  // FIXME: Make compiler friendlier
402  double a,b,c;
403 
404  a = data[0]; b=data[3]; c=data[6];
405  data[0] = a*M.data[0] + b*M.data[1] + c*M.data[2];
406  data[3] = a*M.data[3] + b*M.data[4] + c*M.data[5];
407  data[6] = a*M.data[6] + b*M.data[7] + c*M.data[8];
408 
409  a = data[1]; b=data[4]; c=data[7];
410  data[1] = a*M.data[0] + b*M.data[1] + c*M.data[2];
411  data[4] = a*M.data[3] + b*M.data[4] + c*M.data[5];
412  data[7] = a*M.data[6] + b*M.data[7] + c*M.data[8];
413 
414  a = data[2]; b=data[5]; c=data[8];
415  data[2] = a*M.data[0] + b*M.data[1] + c*M.data[2];
416  data[5] = a*M.data[3] + b*M.data[4] + c*M.data[5];
417  data[8] = a*M.data[6] + b*M.data[7] + c*M.data[8];
418 
419  return *this;
420 }

◆ operator+()

FGMatrix33 operator+ ( const FGMatrix33 B) const

Matrix addition.

Parameters
Bmatrix to add to.
Returns
sum of the matrices.

Compute and return the sum of the current matrix and the matrix B given in the argument.

Definition at line 301 of file FGMatrix33.cpp.

302 {
303  return FGMatrix33( data[0] + M.data[0],
304  data[3] + M.data[3],
305  data[6] + M.data[6],
306  data[1] + M.data[1],
307  data[4] + M.data[4],
308  data[7] + M.data[7],
309  data[2] + M.data[2],
310  data[5] + M.data[5],
311  data[8] + M.data[8] );
312 }

◆ operator+=()

FGMatrix33 & operator+= ( const FGMatrix33 B)

In place matrix addition.

Parameters
Bmatrix to add.
Returns
reference to the current matrix.

Compute the sum of the current matrix and the matrix B given in the argument.

Definition at line 316 of file FGMatrix33.cpp.

317 {
318  data[0] += M.data[0];
319  data[3] += M.data[3];
320  data[6] += M.data[6];
321  data[1] += M.data[1];
322  data[4] += M.data[4];
323  data[7] += M.data[7];
324  data[2] += M.data[2];
325  data[5] += M.data[5];
326  data[8] += M.data[8];
327 
328  return *this;
329 }

◆ operator-()

FGMatrix33 operator- ( const FGMatrix33 B) const

Matrix subtraction.

Parameters
Bmatrix to add to.
Returns
difference of the matrices.

Compute and return the sum of the current matrix and the matrix B given in the argument.

Definition at line 269 of file FGMatrix33.cpp.

270 {
271  return FGMatrix33( data[0] - M.data[0],
272  data[3] - M.data[3],
273  data[6] - M.data[6],
274  data[1] - M.data[1],
275  data[4] - M.data[4],
276  data[7] - M.data[7],
277  data[2] - M.data[2],
278  data[5] - M.data[5],
279  data[8] - M.data[8] );
280 }

◆ operator-=()

FGMatrix33 & operator-= ( const FGMatrix33 B)

In place matrix subtraction.

Parameters
Bmatrix to subtract.
Returns
reference to the current matrix.

Compute the diffence from the current matrix and the matrix B given in the argument.

Definition at line 284 of file FGMatrix33.cpp.

285 {
286  data[0] -= M.data[0];
287  data[1] -= M.data[1];
288  data[2] -= M.data[2];
289  data[3] -= M.data[3];
290  data[4] -= M.data[4];
291  data[5] -= M.data[5];
292  data[6] -= M.data[6];
293  data[7] -= M.data[7];
294  data[8] -= M.data[8];
295 
296  return *this;
297 }

◆ operator/()

FGMatrix33 operator/ ( const double  scalar) const

Multiply the matrix with 1.0/scalar.

Parameters
scalarscalar factor to divide through.
Returns
scaled matrix.

Compute and return the product of the current matrix with the scalar value 1.0/scalar, where scalar is given in the argument.

Definition at line 424 of file FGMatrix33.cpp.

425 {
426  FGMatrix33 Quot;
427 
428  double tmp = 1.0/scalar;
429  Quot.data[0] = data[0] * tmp;
430  Quot.data[3] = data[3] * tmp;
431  Quot.data[6] = data[6] * tmp;
432  Quot.data[1] = data[1] * tmp;
433  Quot.data[4] = data[4] * tmp;
434  Quot.data[7] = data[7] * tmp;
435  Quot.data[2] = data[2] * tmp;
436  Quot.data[5] = data[5] * tmp;
437  Quot.data[8] = data[8] * tmp;
438 
439  return Quot;
440 }

◆ operator/=()

FGMatrix33 & operator/= ( const double  scalar)

In place matrix scale.

Parameters
scalarscalar value to divide through.
Returns
reference to the current matrix.

Compute the product of the current matrix and the scalar value 1.0/scalar, where scalar is given in the argument.

Definition at line 444 of file FGMatrix33.cpp.

445 {
446  double tmp = 1.0/scalar;
447  data[0] *= tmp;
448  data[3] *= tmp;
449  data[6] *= tmp;
450  data[1] *= tmp;
451  data[4] *= tmp;
452  data[7] *= tmp;
453  data[2] *= tmp;
454  data[5] *= tmp;
455  data[8] *= tmp;
456 
457  return *this;
458 }

◆ operator=() [1/2]

FGMatrix33& operator= ( const FGMatrix33 A)
inline

Assignment operator.

Parameters
Asource matrix.

Copy the content of the matrix given in the argument into *this.

Definition at line 291 of file FGMatrix33.h.

292  {
293  data[0] = A.data[0];
294  data[1] = A.data[1];
295  data[2] = A.data[2];
296  data[3] = A.data[3];
297  data[4] = A.data[4];
298  data[5] = A.data[5];
299  data[6] = A.data[6];
300  data[7] = A.data[7];
301  data[8] = A.data[8];
302  return *this;
303  }

◆ operator=() [2/2]

FGMatrix33& operator= ( std::initializer_list< double >  lv)
inline

Assignment operator.

Parameters
lvinitializer list of at most 9 values.

Copy the content of the list into *this.

Definition at line 310 of file FGMatrix33.h.

311  {
312  double *v = data;
313  for(auto& x: lv) {
314  *v = x;
315  v += 3;
316  if (v-data > 8)
317  v -= 8;
318  }
319 
320  return *this;
321  }

◆ Rows()

unsigned int Rows ( void  ) const
inline

Number of rows in the matrix.

Returns
the number of rows in the matrix.

Definition at line 209 of file FGMatrix33.h.

209 { return eRows; }

◆ T()

void T ( void  )

Transposes this matrix.

This function only transposes this matrix. Nothing is returned.

Definition at line 462 of file FGMatrix33.cpp.

463 {
464  double tmp;
465 
466  tmp = data[3];
467  data[3] = data[1];
468  data[1] = tmp;
469 
470  tmp = data[6];
471  data[6] = data[2];
472  data[2] = tmp;
473 
474  tmp = data[7];
475  data[7] = data[5];
476  data[5] = tmp;
477 }

◆ Transposed()

FGMatrix33 Transposed ( void  ) const
inline

Transposed matrix.

This function only returns the transpose of this matrix. This matrix itself remains unchanged.

Returns
the transposed matrix.

Definition at line 221 of file FGMatrix33.h.

221  {
222  return FGMatrix33( data[0], data[1], data[2],
223  data[3], data[4], data[5],
224  data[6], data[7], data[8] );
225  }
+ Here is the caller graph for this function:

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