3 x 3 matrix  
 More...
#include <JMatrix3D.hh>
 | 
|   | JMatrix3D () | 
|   | Default constructor.  
  | 
|   | 
|   | JMatrix3D (const double __a00, const double __a01, const double __a02, const double __a10, const double __a11, const double __a12, const double __a20, const double __a21, const double __a22) | 
|   | Contructor.  
  | 
|   | 
| JMatrix3D &  | setIdentity () | 
|   | Set to identity matrix.  
  | 
|   | 
| void  | set (const JMatrix3D &A) | 
|   | Set matrix.  
  | 
|   | 
| JMatrix3D &  | reset () | 
|   | Set matrix to the null matrix.  
  | 
|   | 
| JMatrix3D &  | transpose () | 
|   | Transpose.  
  | 
|   | 
| JMatrix3D &  | negate () | 
|   | Negate matrix.  
  | 
|   | 
| JMatrix3D &  | add (const JMatrix3D &A) | 
|   | Matrix addition.  
  | 
|   | 
| JMatrix3D &  | sub (const JMatrix3D &A) | 
|   | Matrix subtraction.  
  | 
|   | 
| JMatrix3D &  | mul (const double factor) | 
|   | Scale matrix.  
  | 
|   | 
| JMatrix3D &  | div (const double factor) | 
|   | Scale matrix.  
  | 
|   | 
| JMatrix3D &  | mul (const JMatrix3D &A, const JMatrix3D &B) | 
|   | Matrix multiplication.  
  | 
|   | 
| bool  | equals (const JMatrix3D &A, const double eps=std::numeric_limits< double >::min()) const | 
|   | Equality.  
  | 
|   | 
| bool  | isIdentity (const double eps=std::numeric_limits< double >::min()) const | 
|   | Test identity.  
  | 
|   | 
| double  | getDeterminant () const | 
|   | Get determinant of matrix.  
  | 
|   | 
| void  | transform (double &__x, double &__y, double &__z) const | 
|   | Transform.  
  | 
|   | 
| JMatrix3D &  | mul (const JSecond_t &object) | 
|   | Multiply with object.  
  | 
|   | 
3 x 3 matrix 
Definition at line 32 of file JMath/JMatrix3D.hh.
 
◆ JMatrix3D() [1/2]
  
  
      
        
          | JMATH::JMatrix3D::JMatrix3D  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ JMatrix3D() [2/2]
  
  
      
        
          | JMATH::JMatrix3D::JMatrix3D  | 
          ( | 
          const double |           __a00,  | 
         
        
           | 
           | 
          const double |           __a01,  | 
         
        
           | 
           | 
          const double |           __a02,  | 
         
        
           | 
           | 
          const double |           __a10,  | 
         
        
           | 
           | 
          const double |           __a11,  | 
         
        
           | 
           | 
          const double |           __a12,  | 
         
        
           | 
           | 
          const double |           __a20,  | 
         
        
           | 
           | 
          const double |           __a21,  | 
         
        
           | 
           | 
          const double |           __a22 ) | 
         
       
   | 
  
inline   | 
  
 
Contructor. 
- Parameters
 - 
  
    | __a00 | (0,0)  | 
    | __a01 | (0,1)  | 
    | __a02 | (0,2)  | 
    | __a10 | (1,0)  | 
    | __a11 | (1,1)  | 
    | __a12 | (1,2)  | 
    | __a20 | (2,0)  | 
    | __a21 | (2,1)  | 
    | __a22 | (2,2)  | 
  
   
Definition at line 64 of file JMath/JMatrix3D.hh.
 
 
◆ getInstance()
  
  
      
        
          | static const JMatrix3D & JMATH::JMatrix3D::getInstance  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Get reference to unique instance of this class object. 
- Returns
 - zero matrix 
 
Definition at line 78 of file JMath/JMatrix3D.hh.
   79    {
   81 
   82      return matrix;
   83    }
JMatrix3D()
Default constructor.
 
 
 
 
◆ setIdentity()
  
  
      
        
          | JMatrix3D & JMATH::JMatrix3D::setIdentity  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Set to identity matrix. 
- Returns
 - this matrix 
 
Definition at line 91 of file JMath/JMatrix3D.hh.
   92    {
   96 
   97      return *this;
   98    }
 
 
 
◆ getIdentity()
  
  
      
        
          | static const JMatrix3D & JMATH::JMatrix3D::getIdentity  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestatic   | 
  
 
Get reference to unique instance of this class object. 
- Returns
 - identity matrix 
 
Definition at line 106 of file JMath/JMatrix3D.hh.
  107    {
  109 
  110      return matrix;
  111    }
JMatrix3D & setIdentity()
Set to identity matrix.
 
 
 
 
◆ set()
  
  
      
        
          | void JMATH::JMatrix3D::set  | 
          ( | 
          const JMatrix3D & |           A | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
 
◆ reset()
Set matrix to the null matrix. 
- Returns
 - this matrix 
 
Definition at line 130 of file JMath/JMatrix3D.hh.
  131    {
  133 
  134      return *this;
  135    }
 
 
 
◆ transpose()
Transpose. 
- Returns
 - this matrix 
 
Definition at line 143 of file JMath/JMatrix3D.hh.
  144    {
  145      using std::swap;
  146 
  150 
  151      return *this;
  152    }
 
 
 
◆ negate()
Negate matrix. 
- Returns
 - -this matrix 
 
Definition at line 160 of file JMath/JMatrix3D.hh.
  161    {
  165 
  166      return *this;
  167    }
 
 
 
◆ add()
Matrix addition. 
- Parameters
 - 
  
  
 
- Returns
 - this matrix + A 
 
Definition at line 176 of file JMath/JMatrix3D.hh.
  177    {
  178      a00 += A.a00;  
a01 += A.a01;  
a02 += A.a02;
 
  179      a10 += A.a10;  
a11 += A.a11;  
a12 += A.a12;
 
  180      a20 += A.a20;  
a21 += A.a21;  
a22 += A.a22;
 
  181  
  182      return *this;
  183    }
 
 
 
◆ sub()
Matrix subtraction. 
- Parameters
 - 
  
  
 
- Returns
 - this matrix - A 
 
Definition at line 192 of file JMath/JMatrix3D.hh.
  193    {
  194      a00 -= A.a00;  
a01 -= A.a01;  
a02 -= A.a02;
 
  195      a10 -= A.a10;  
a11 -= A.a11;  
a12 -= A.a12;
 
  196      a20 -= A.a20;  
a21 -= A.a21;  
a22 -= A.a22;
 
  197  
  198      return *this;
  199    }
 
 
 
◆ mul() [1/3]
  
  
      
        
          | JMatrix3D & JMATH::JMatrix3D::mul  | 
          ( | 
          const double |           factor | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Scale matrix. 
- Parameters
 - 
  
  
 
- Returns
 - this matrix * factor 
 
Definition at line 208 of file JMath/JMatrix3D.hh.
  209    {
  210      a00 *= factor; 
a01 *= factor; 
a02 *= factor;
 
  211      a10 *= factor; 
a11 *= factor; 
a12 *= factor;
 
  212      a20 *= factor; 
a21 *= factor; 
a22 *= factor;
 
  213 
  214      return *this;
  215    }
 
 
 
◆ div()
  
  
      
        
          | JMatrix3D & JMATH::JMatrix3D::div  | 
          ( | 
          const double |           factor | ) | 
           | 
         
       
   | 
  
inline   | 
  
 
Scale matrix. 
- Parameters
 - 
  
  
 
- Returns
 - this matrix / factor 
 
Definition at line 224 of file JMath/JMatrix3D.hh.
  225    {
  226      a00 /= factor; 
a01 /= factor; 
a02 /= factor;
 
  227      a10 /= factor; 
a11 /= factor; 
a12 /= factor;
 
  228      a20 /= factor; 
a21 /= factor; 
a22 /= factor;
 
  229 
  230      return *this;
  231    }
 
 
 
◆ mul() [2/3]
Matrix multiplication. 
- Parameters
 - 
  
  
 
- Returns
 - this matrix 
 
Definition at line 241 of file JMath/JMatrix3D.hh.
  243    {
  244      a00 = A.a00 * B.a00  +  A.a01 * B.a10  +  A.a02 * B.a20;
 
  245      a01 = A.a00 * B.a01  +  A.a01 * B.a11  +  A.a02 * B.a21;
 
  246      a02 = A.a00 * B.a02  +  A.a01 * B.a12  +  A.a02 * B.a22;
 
  247      
  248      a10 = A.a10 * B.a00  +  A.a11 * B.a10  +  A.a12 * B.a20;
 
  249      a11 = A.a10 * B.a01  +  A.a11 * B.a11  +  A.a12 * B.a21;
 
  250      a12 = A.a10 * B.a02  +  A.a11 * B.a12  +  A.a12 * B.a22;
 
  251      
  252      a20 = A.a20 * B.a00  +  A.a21 * B.a10  +  A.a22 * B.a20;
 
  253      a21 = A.a20 * B.a01  +  A.a21 * B.a11  +  A.a22 * B.a21;
 
  254      a22 = A.a20 * B.a02  +  A.a21 * B.a12  +  A.a22 * B.a22;
 
  255      
  256      return *this;
  257    }
 
 
 
◆ equals()
  
  
      
        
          | bool JMATH::JMatrix3D::equals  | 
          ( | 
          const JMatrix3D & |           A,  | 
         
        
           | 
           | 
          const double |           eps = std::numeric_limits<double>::min() ) const | 
         
       
   | 
  
inline   | 
  
 
Equality. 
- Parameters
 - 
  
    | A | matrix  | 
    | eps | numerical precision  | 
  
   
- Returns
 - true if matrices identical; else false 
 
Definition at line 267 of file JMath/JMatrix3D.hh.
  269    {
  270      return (fabs(
a00 - A.a00) <= eps  &&
 
  271              fabs(
a01 - A.a01) <= eps  &&
 
  272              fabs(
a02 - A.a02) <= eps  &&
 
  273              fabs(
a10 - A.a10) <= eps  &&
 
  274              fabs(
a11 - A.a11) <= eps  &&
 
  275              fabs(
a12 - A.a12) <= eps  &&
 
  276              fabs(
a20 - A.a20) <= eps  &&
 
  277              fabs(
a21 - A.a21) <= eps  &&
 
  278              fabs(
a22 - A.a22) <= eps);
 
  279    }
 
 
 
◆ isIdentity()
  
  
      
        
          | bool JMATH::JMatrix3D::isIdentity  | 
          ( | 
          const double |           eps = std::numeric_limits<double>::min() | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Test identity. 
- Parameters
 - 
  
  
 
- Returns
 - true if identity matrix; else false 
 
Definition at line 288 of file JMath/JMatrix3D.hh.
  289    {
  291    }
static const JMatrix3D & getIdentity()
Get reference to unique instance of this class object.
 
bool equals(const JMatrix3D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
 
 
 
 
◆ getDeterminant()
  
  
      
        
          | double JMATH::JMatrix3D::getDeterminant  | 
          ( | 
           | ) | 
           const | 
         
       
   | 
  
inline   | 
  
 
Get determinant of matrix. 
- Returns
 - determinant of matrix 
 
Definition at line 299 of file JMath/JMatrix3D.hh.
  300    {
  301      double det = 0.0;
  302 
  306 
  307      return det;
  308    }
 
 
 
◆ transform()
  
  
      
        
          | void JMATH::JMatrix3D::transform  | 
          ( | 
          double & |           __x,  | 
         
        
           | 
           | 
          double & |           __y,  | 
         
        
           | 
           | 
          double & |           __z ) const | 
         
       
   | 
  
inline   | 
  
 
Transform. 
- Parameters
 - 
  
    | __x | x value  | 
    | __y | y value  | 
    | __z | z value  | 
  
   
Definition at line 318 of file JMath/JMatrix3D.hh.
  319    {
  320      const double x = 
a00 * __x  +  
a01 * __y  +  
a02 * __z;
 
  321      const double y = 
a10 * __x  +  
a11 * __y  +  
a12 * __z;
 
  322      const double z = 
a20 * __x  +  
a21 * __y  +  
a22 * __z;
 
  323 
  326      __z = z;
  327    }
 
 
 
◆ mul() [3/3]
Multiply with object. 
- Parameters
 - 
  
  
 
- Returns
 - result object 
 
Definition at line 354 of file JMath.hh.
  355    {
  356      return static_cast<JFirst_t&>(*this) = JFirst_t().mul(static_cast<const JFirst_t&>(*this), object);
  357    }
 
 
 
◆ operator>>
Read matrix from input. 
- Parameters
 - 
  
  
 
- Returns
 - reader 
 
Definition at line 337 of file JMath/JMatrix3D.hh.
  338    {
  339      in >> matrix.a00;  in >> matrix.a01;  in >> matrix.a02;
  340      in >> matrix.a10;  in >> matrix.a11;  in >> matrix.a12;
  341      in >> matrix.a20;  in >> matrix.a21;  in >> matrix.a22;
  342 
  343      return in;
  344    }
 
 
 
◆ operator<< [1/2]
Write matrix to output. 
- Parameters
 - 
  
  
 
- Returns
 - writer 
 
Definition at line 354 of file JMath/JMatrix3D.hh.
  355    {
  356      out << matrix.a00;  out << matrix.a01;  out << matrix.a02;
  357      out << matrix.a10;  out << matrix.a11;  out << matrix.a12;
  358      out << matrix.a20;  out << matrix.a21;  out << matrix.a22;
  359 
  360      return out;
  361    }
 
 
 
◆ operator<< [2/2]
  
  
      
        
          | std::ostream & operator<<  | 
          ( | 
          std::ostream & |           out,  | 
         
        
           | 
           | 
          const JMatrix3D & |           A ) | 
         
       
   | 
  
friend   | 
  
 
Print ASCII formatted output. 
- Parameters
 - 
  
  
 
- Returns
 - output stream 
 
Definition at line 371 of file JMath/JMatrix3D.hh.
  372    {
  374 
  376      
  377      out << format << A.a00 << ' ' << format << A.a01 << ' ' << format << A.a02 << endl;
  378      out << format << A.a10 << ' ' << format << A.a11 << ' ' << format << A.a12 << endl;
  379      out << format << A.a20 << ' ' << format << A.a21 << ' ' << format << A.a22 << endl;
  380 
  381      return out;
  382    }
JFormat_t & getFormat()
Get format for given type.
 
 
 
 
◆ a00
      
        
          | double JMATH::JMatrix3D::a00 | 
        
      
 
 
◆ a01
      
        
          | double JMATH::JMatrix3D::a01 | 
        
      
 
 
◆ a02
      
        
          | double JMATH::JMatrix3D::a02 | 
        
      
 
 
◆ a10
      
        
          | double JMATH::JMatrix3D::a10 | 
        
      
 
 
◆ a11
      
        
          | double JMATH::JMatrix3D::a11 | 
        
      
 
 
◆ a12
      
        
          | double JMATH::JMatrix3D::a12 | 
        
      
 
 
◆ a20
      
        
          | double JMATH::JMatrix3D::a20 | 
        
      
 
 
◆ a21
      
        
          | double JMATH::JMatrix3D::a21 | 
        
      
 
 
◆ a22
      
        
          | double JMATH::JMatrix3D::a22 | 
        
      
 
 
The documentation for this class was generated from the following file: