///
/// \file TransformationGeometrique3D.h
/// Mathematiques de l'informatique graphique: Transformation geometrique generique 3D.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///

#ifndef ____TRANSFORMATIONGEOMETRIQUE3D____
#define ____TRANSFORMATIONGEOMETRIQUE3D____

#include "TransformationGeometrique.h"

///
/// \class TransformationGeometrique3D
/// Mathematiques de l'informatique graphique: Transformation geometrique generique 3D.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///

class TransformationGeometrique3D:public TransformationGeometrique  {

  public :

///
/// Constructeur: Identite.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    TransformationGeometrique3D(void);

///
/// Constructeur: Copie depuis un tableau linearise.
/// 
/// @param t Le tableau en copie.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    TransformationGeometrique3D(double *t);

///
/// Constructeur: Copie depuis un tableau carre.
/// 
/// @param t Le tableau carre en copie.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    TransformationGeometrique3D(double **t);

///
/// Constructeur: Copie depuis une autre TransformationGeometrique3D.
/// 
/// @param tg La TransformationGeometrique3D en copie.
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    TransformationGeometrique3D(TransformationGeometrique3D *tg);

///
/// Destructeur.
/// 
/// @author Nicolas Janey
/// @author nicolas.janey@univ-fcomte.fr
/// @version 1.0, 01/01/10
///
    ~TransformationGeometrique3D(void);
};

#endif
