...

/**
 * Multiplication assignment operator.
 * @param iMatrix
 *   The matrix to multiply with the current one
 * @return 
 *   The matrix resulting from the multiplication
 */
CAT4x4Matrix & operator *= (const CAT4x4Matrix & iMatrix);
/**
 * Assignment operator.
 * @param iMatrix
 *   The matrix to assign to the current one
 * @return 
 *   The matrix resulting from the assignment
 */
CAT4x4Matrix & operator  = (const CAT4x4Matrix & iMatrix);
/**
 * Multiplication operator.
 * @param iMatrix
 *   The matrix to multiply with the current one
 * @return 
 *   The matrix resulting from the multiplication
 */
CAT4x4Matrix   operator  * (const CAT4x4Matrix & iMatrix) const;
    
/**
 * Multiplies a matrix by a space point.
 * <br><b>Role</b>:
 * The 3x3 submatrix is multiplied by the point coordinate triplet
 * and the matrix translation vector is added to the multiplication result
 * @param iPoint
 *   The point whose coordinate triplet is to be multiplied by the matrix
 * @return 
 *   The point resulting from the multiplication
 */    
CATMathPointf     operator * (const CATMathPointf & iPoint) const;
/**
 * Multiplies a matrix by a space vector.
 * <br><b>Role</b>:
 * The 3x3 submatrix is multiplied by the vector component triplet
 * and the matrix translation vector is added to the multiplication result
 * @param iVector
 *   The vector whose component triplet is to be multiplied by the matrix
 * @return 
 *   The vector resulting from the multiplication
 */
CATMathVectorf    operator * (const CATMathVectorf & iVector) const;
/**
 * Multiplies a matrix by a space direction.
 * <br><b>Role</b>:
 * The 3x3 submatrix is multiplied by the direction component triplet
 * and the matrix translation vector is added to the multiplication result
 * @param iDirection
 *   The direction whose component triplet is to be multiplied by the matrix
 * @return 
 *   The direction resulting from the multiplication
 */
CATMathDirectionf operator * (const CATMathDirectionf & iDirection) const;
...