7.2.3 Constructeurs et destructeurs de Matrice4

Les voici :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Matrice4::Matrice4(){
	p_mat = NULL;
	initialisationMatrice4(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
}

Matrice4::Matrice4(const Vecteur4 & v1, const Vecteur4 & v2, const Vecteur4 & v3, const Vecteur4 & v4){
	p_mat = NULL;
	this->initialisationMatrice4(v1, v2, v3, v4);
}

Matrice4::Matrice4(float x1, float y1, float z1, float t1,
	float x2, float y2, float z2, float t2,
	float x3, float y3, float z3, float t3,
	float x4, float y4, float z4, float t4)
{
	p_mat = NULL;
	initialisationMatrice4(x1, y1, z1, t1, x2, y2, z2, t2, x3, y3, z3, t3, x4, y4, z4, t4);
}

Matrice4::Matrice4(const Matrice4 & other){
	p_mat = NULL;
	this->copyMatrice4(other);
}

Matrice4::~Matrice4(){
	depiler();
	if(p_mat != NULL) delete [] p_mat;
}

Bon, c'est un peu bourrin de passer autant de paramètres à une fonction mais ça nous permet de créer les constantes MAT4_NULL et MAT4_ID plus simplement.

Voilà pour les constructeurs et le destructeur.