#include <window3D.h>
Public Member Functions | |
Window3D (QWidget *parent, char *name, int timeInterval=50) | |
virtual | ~Window3D () |
int | load (const int &nb_pts, const int &nb_pls, const vector< Point3D * > &L_pts, const vector< int > &L_ref) |
void | clear () |
void | drawAxis () |
int | exportOGL (int &nb_pts, int &nb_pls, vector< Point3D * > &L_pts, vector< int > &L_ref) |
bool | isEmpty () |
Protected Slots | |
void | timeOutSlot () |
Protected Member Functions | |
void | initializeGL () |
void | resizeGL (int width, int height) |
void | paintGL () |
GLuint | drawModel () |
void | rotate () |
void | translate () |
void | scale () |
void | mousePressEvent (QMouseEvent *event) |
void | wheelEvent (QWheelEvent *e) |
void | mouseMoveEvent (QMouseEvent *event) |
void | keyPressEvent (QKeyEvent *e) |
void | timeOut () |
void | closeEvent (QCloseEvent *) |
Private Attributes | |
QTimer * | timer |
vector< Point3D * > | pointsList |
vector< int > | referencesList |
vector< Vector3D * > | normalsList |
int | nbPoints |
int | nbPolys |
int | oldX |
int | oldY |
float | angle [3] |
float | tra [3] |
float | zoom |
int | button |
GLfloat | light1Position [4] |
GLfloat | light2Position [4] |
GLfloat | ambientLight [4] |
GLfloat | diffuseLight [4] |
GLfloat | specularLight [4] |
GLuint | model |
Idiart Baptiste
Le Goff Erwan
|
Constructeur de FenetreOgl
|
|
Destructeur de FenetreOgl
|
|
Effacer la fenêtre Qgl
|
|
Action a effectué lors de la fermeture le corps de cette fonction est vide pour interdire sa fermeture
|
|
Dessin des axes du repère 3D
|
|
Modélisation à l'aide d'une display list
|
|
export du modele
|
|
Initialisation de la fenêtre Qgl
|
|
|
|
Détection de la pression d'une touche clavier
|
|
chargement d'un modele 3D
|
|
Détection de mouvement de la souris
|
|
Détection de la pression d'un bouton de la souris
|
|
Fonction d'affichage
|
|
Adaptation de la taille de la fenêtre
|
|
Rotation
|
|
Scale (zoom)
|
|
Action a effectuée lorsque le timer arrive à terme
|
|
|
|
Translation
|
|
Détection de mouvement de la mollette de la souris
|
|
paramètres ambients |
|
angle de rotation |
|
bouton pressé |
|
paramètres diffusions |
|
Pour pouvoir observer le modèle sous tous ces angles, deux lumieres sont utilisées position de la première lampe |
|
position de la deuxième lampe |
|
numéro du modele dans la displaylist l'utilisation d'un modele précompilé permet un gain en fps important |
|
nombre de points |
|
nombre de polygones |
|
liste de vecteurs normales |
|
sauvegarde de l'ex position de la souris |
|
sauvegarde de l'ex position de la souris |
|
liste de points |
|
liste de références vers les points |
|
paramètres spéculaires |
|
Temporisateur utilisé pour un rafraichissement fréquent de la fenetre |
|
facteur de translation |
|
zoom (le meme sur les 3 axes) |