#ifndef OCEAN_H #define OCEAN_H #include "vague.h" #include #include #include /* amelioration à prévoire : * - rendre de vangue variable en amplitude superieur a 1 idem direction OK * - ajouter de la mascotte ... ('.')' * - optimiser au mieux les boucle cf openmp qtconcurent ... ('.') * */ class sommet { public: sommet(uint i,uint j):i(i),j(j) {} uint i,j; }; class face { public: face(sommet s1, sommet s2, sommet s3): S1(s1),S2(s2),S3(s3) {} sommet S1,S2,S3; }; class Ocean { public: ~Ocean(); Ocean(QString spectre= QString(), int nbvague =0, int x_size= 20, int z_size = 20); bool loadSpectre(QString = 0); // charge les spectre de propagation des vages bool loadMap(int x, int z ); // chage un maille de taill x * z void affiche();// affiche l'océan double calcule_hauteur(const int& x, const int& z, const double& t); void calcul_normales_faces(); void calcul_normales_points(); void calcule_coordonnees_texture(); void anime(double& t); void anime(void); bool smooth, ligth; float* lpos;// postion de la lumiere private: int nombre_de_vagues;// deque Vagues;//tableau de vague int x_points, z_points;// double x_size, z_size;//distance séparant deux points en x et en z deque< deque > Maillage;//tableau de VPoint permettant de stocker les coordonnées du maillage deque< face > lfaces; deque lfacesnormales; QTime lastT; }; #endif // OCEAN_H