21 namespace JPP { 
using namespace JMATH; }
 
   34     public JMath  <JMatrix4D>,
 
   73     JMatrix4D(
const double __a00, 
const double __a01, 
const double __a02, 
const double __a03,
 
   74               const double __a10, 
const double __a11, 
const double __a12, 
const double __a13,
 
   75               const double __a20, 
const double __a21, 
const double __a22, 
const double __a23,
 
   76               const double __a30, 
const double __a31, 
const double __a32, 
const double __a33) :
 
  228       a00 *= factor; 
a01 *= factor; 
a02 *= factor; 
a03 *= factor;
 
  229       a10 *= factor; 
a11 *= factor; 
a12 *= factor; 
a13 *= factor;
 
  230       a20 *= factor; 
a21 *= factor; 
a22 *= factor; 
a23 *= factor;
 
  231       a30 *= factor; 
a31 *= factor; 
a32 *= factor; 
a33 *= factor;
 
  245       a00 /= factor; 
a01 /= factor; 
a02 /= factor; 
a03 /= factor;
 
  246       a10 /= factor; 
a11 /= factor; 
a12 /= factor; 
a13 /= factor;
 
  247       a20 /= factor; 
a21 /= factor; 
a22 /= factor; 
a23 /= factor;
 
  248       a30 /= factor; 
a31 /= factor; 
a32 /= factor; 
a33 /= factor;
 
  296                 const double     eps = std::numeric_limits<double>::min())
 const 
  298       return (fabs(
a00 - A.
a00) <= eps  &&
 
  299               fabs(
a01 - A.
a01) <= eps  &&
 
  300               fabs(
a02 - A.
a02) <= eps  &&
 
  301               fabs(
a03 - A.
a03) <= eps  &&
 
  302               fabs(
a10 - A.
a10) <= eps  &&
 
  303               fabs(
a11 - A.
a11) <= eps  &&
 
  304               fabs(
a12 - A.
a12) <= eps  &&
 
  305               fabs(
a13 - A.
a13) <= eps  &&
 
  306               fabs(
a20 - A.
a20) <= eps  &&
 
  307               fabs(
a21 - A.
a21) <= eps  &&
 
  308               fabs(
a22 - A.
a22) <= eps  &&
 
  309               fabs(
a23 - A.
a23) <= eps  &&
 
  310               fabs(
a30 - A.
a30) <= eps  &&
 
  311               fabs(
a31 - A.
a31) <= eps  &&
 
  312               fabs(
a32 - A.
a32) <= eps  &&
 
  313               fabs(
a33 - A.
a33) <= eps);
 
  323     bool isIdentity(
const double eps = std::numeric_limits<double>::min())
 const 
  366     void transform(
double& __x0, 
double& __x1, 
double& __x2, 
double& __x3)
 const 
  368       const double x0 = 
a00 * __x0  +  
a01 * __x1  +  
a02 * __x2  +  
a03 * __x3;
 
  369       const double x1 = 
a10 * __x0  +  
a11 * __x1  +  
a12 * __x2  +  
a13 * __x3;
 
  370       const double x2 = 
a20 * __x0  +  
a21 * __x1  +  
a22 * __x2  +  
a23 * __x3;
 
  371       const double x3 = 
a30 * __x0  +  
a31 * __x1  +  
a32 * __x2  +  
a33 * __x3;
 
  389       in >> matrix.
a00;  in >> matrix.
a01;  in >> matrix.
a02;  in >> matrix.
a03;
 
  390       in >> matrix.
a10;  in >> matrix.
a11;  in >> matrix.
a12;  in >> matrix.
a13;
 
  391       in >> matrix.
a20;  in >> matrix.
a21;  in >> matrix.
a22;  in >> matrix.
a23;
 
  392       in >> matrix.
a30;  in >> matrix.
a31;  in >> matrix.
a32;  in >> matrix.
a33;
 
  407       out << matrix.
a00;  out << matrix.
a01;  out << matrix.
a02;  out << matrix.
a03;
 
  408       out << matrix.
a10;  out << matrix.
a11;  out << matrix.
a12;  out << matrix.
a13;
 
  409       out << matrix.
a20;  out << matrix.
a21;  out << matrix.
a22;  out << matrix.
a23;
 
  410       out << matrix.
a30;  out << matrix.
a31;  out << matrix.
a32;  out << matrix.
a33;
 
  427       const JFormat format(out, getFormat<JMatrix4D>(
JFormat_t(10, 3, std::ios::fixed | std::ios::showpos)));
 
  429       out << format << A.
a00 << 
' ' << format << A.
a01 << 
' ' << format << A.
a02 << 
' ' << format << A.
a03 << endl;
 
  430       out << format << A.
a10 << 
' ' << format << A.
a11 << 
' ' << format << A.
a12 << 
' ' << format << A.
a13 << endl;
 
  431       out << format << A.
a20 << 
' ' << format << A.
a21 << 
' ' << format << A.
a22 << 
' ' << format << A.
a23 << endl;
 
  432       out << format << A.
a30 << 
' ' << format << A.
a31 << 
' ' << format << A.
a32 << 
' ' << format << A.
a33 << endl;
 
Base class for data structures with artithmetic capabilities.
 
Interface for binary input.
 
Interface for binary output.
 
double getDeterminant() const
Get determinant of matrix.
 
void transform(double &__x0, double &__x1, double &__x2, double &__x3) const
Transform.
 
static const JMatrix4D & getInstance()
Get reference to unique instance of this class object.
 
JMatrix4D & setIdentity()
Set to identity matrix.
 
friend JReader & operator>>(JReader &in, JMatrix4D &matrix)
Read matrix from input.
 
JMatrix4D & add(const JMatrix4D &A)
Matrix addition.
 
bool isIdentity(const double eps=std::numeric_limits< double >::min()) const
Test identity.
 
const JMatrix4D & mul(const JMatrix4D &A, const JMatrix4D &B)
Matrix multiplication.
 
JMatrix4D & mul(const double factor)
Scale matrix.
 
JMatrix4D(const double __a00, const double __a01, const double __a02, const double __a03, const double __a10, const double __a11, const double __a12, const double __a13, const double __a20, const double __a21, const double __a22, const double __a23, const double __a30, const double __a31, const double __a32, const double __a33)
Contructor.
 
static const JMatrix4D & getIdentity()
Get reference to unique instance of this class object.
 
JMatrix4D()
Default constructor.
 
double getDeterminant() const
Get determinant of matrix.
 
JMatrix4D & negate()
Negate matrix.
 
JMatrix4D & div(const double factor)
Scale matrix.
 
JMatrix4D & transpose()
Transpose.
 
friend std::ostream & operator<<(std::ostream &out, const JMatrix4D &A)
Print ASCII formatted output.
 
JMatrix4D & sub(const JMatrix4D &A)
Matrix subtraction.
 
void set(const JMatrix4D &A)
Set matrix.
 
bool equals(const JMatrix4D &A, const double eps=std::numeric_limits< double >::min()) const
Equality.
 
JMatrix4D & reset()
Set matrix to the null matrix.
 
friend JWriter & operator<<(JWriter &out, const JMatrix4D &matrix)
Write matrix to output.
 
Auxiliary classes and methods for mathematical operations.
 
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
 
Template definition of auxiliary base class for comparison of data structures.
 
Auxiliary base class for aritmetic operations of derived class types.