3.1.9 L'opérateur =

Il ne reste plus qu'une seule chose a faire : recopier le code précédent dans la méthode operator=(), en n'oubliant pas de rajouter le return *this bien sûr :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Texture& Texture::operator=(Texture const &textureACopier){
	// Copie des attributs
	m_fichierImage = textureACopier.m_fichierImage;
	m_largeur = textureACopier.m_largeur;
	m_hauteur = textureACopier.m_hauteur;
	m_format = textureACopier.m_format;
	m_formatInterne = textureACopier.m_formatInterne;
	m_textureVide = textureACopier.m_textureVide;
	
	// Si la texture est vide, alors on appelle la méthode chargerTextureVide()
	if(m_textureVide && glIsTexture(textureACopier.m_id) == GL_TRUE) chargerTextureVide();
	// Sinon, on appelle la méthode charger() par défaut
	else if(glIsTexture(textureACopier.m_id) == GL_TRUE) charger();
	
	// Retour du pointeur *this
	return *this;
}

Les modifications dans la classe Texture sont terminées.