/* Mathematiques de l'informatique graphique    */
/* Matrice de 4x4 float                        */
/*                                              */
/* Auteur: Nicolas JANEY                        */
/* nicolas.janey@univ-fcomte.fr                 */
/* Mars 2014                                    */

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

#include "Matrice4x4.h"

/* Constructeurs                                */

Matrice4x4::Matrice4x4(void) {
  for ( int i = 0 ; i < 4 ; i++ )
    for ( int j = 0 ; j < 4 ; j++ )
      c[i][j] = 0.0;
}

Matrice4x4::Matrice4x4(float *t) {
  int k = 0;
  for ( int i = 0 ; i < 4 ; i++ )
    for ( int j = 0 ; j < 4 ; j++ ) {
      c[i][j] = t[k];
      k++; }
}

Matrice4x4::Matrice4x4(float **t) {
  for ( int i = 0 ; i < 4 ; i++ )
    for ( int j = 0 ; j < 4 ; j++ )
      c[i][j] = t[i][j];
}

Matrice4x4::Matrice4x4(Matrice4x4 *tg) {
  for ( int i = 0 ; i < 4 ; i++ )
    for ( int j = 0 ; j < 4 ; j++ )
      c[i][j] = tg->c[i][j];
}

/* Destructeur                                  */

Matrice4x4::~Matrice4x4(void) {
}

/* Methodes                                     */

void Matrice4x4::print(void) {
  for ( int i = 0 ; i < 4 ; i++ )
    printf("%10.4f %10.4f %10.4f %10.4f\n",c[i][0],c[i][1],c[i][2],c[i][3]);
}
