1v13d/SH3D/object/facetable/texture.h

50 lines
1.0 KiB
C++

#ifndef TEXTURE_H
#define TEXTURE_H
class Data // classe interne qui ne doit pas etre appelée par l'utilisateur
{
public:
Data(const unsigned char* contents,const int t_sizeO);
~Data();
unsigned char* data;
int sizeO; // taille en octets
}
// texture triangulaire :: triangle équilatéral
/*
une texture est en global au début du programme
Elle est automatiquement détruite à la fin
Elle est encapsulée de manière à ce qu'on ne puisse pas la modifier
Pour la création on utilise l'adresse de la texture
*/
class TextureMaster
{
public:
TextureMaster(const unsigned char* data, const int size); // pour la création du tableau de data
~TextureMaster();
private:
int m_size;
Data* m_data;
};
// la taille du tableau représente la somme des nombres de 1 à n
// n*(n+1)/2
class Texture // instance d'une texture avec les fonctions permettant de l'exploiter
{
public:
Texture(const TextureMaster& t_master,const int sens = 0,);
bool Get(int x,int y);
~Texture();
private:
int m_sens;
TextureMaster* m_master;
};
#endif