#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <GL/glut.h>
#include <inrimage/image.h>
#include "interpolation.h"
#include "utils.h"
Aller au code source de ce fichier.
Définitions des macros | |
| #define | NB_SUBDIV_INIT 32 |
| #define | ECHELLE_VERT_INIT 0.5 |
| #define | ECHELLE_VERT_MAX 20.0 |
| #define | ECHELLE_NORMALES 0.1 |
| #define | DISTANCE_INIT 4.0 |
| #define | DISTANCE_MAX 50.0 |
| #define | TRUE 1 |
| #define | FALSE 0 |
Définitions des types | |
| typedef vertex_ | vertex |
| typedef image_GL_ | image_GL |
Fonctions | |
| void | chargeImage (char *image, int *num_plans, struct nf_fmt *gfmt, int nb_voulu, float marge, int time_flag) |
| ouvre l'image dont le nom est donne en argument, et appelle la fonction adaptee en fonction du type d'image | |
| void | chargeSurface2D (struct image *img, char *nom, int *num_plans, Fort_int lfmt_in[9], int time_flag) |
| charge une surface 2D dans retour | |
| void | chargeFamilleSurfaces (struct image *img, char *nom, int *num_plans, int nb_voulu, float marge, Fort_int lfmt[9], int time_flag) |
| charge une famille de surfaces dans retour, et num_plans contient le nombre de plans trouves. | |
| void | initGL () |
| fonction permettant d'initialiser OpenGL, pour afficher nos polygones | |
| void | affichage () |
| fonction appelee a chaque fois que l'on doit mettre a jour l'image affichee a l'ecran | |
| void | clavier (unsigned char touche, int x, int y) |
| fonction appelee a chaque appui sur une touche du clavier | |
| void | souris (int bouton, int etat, int x, int y) |
| fonction appelee a chaque clic de souris | |
| void | mouvement (int x, int y) |
| fonction appelee a chaque mouvement de souris | |
| void | redim (int l, int h) |
| fonction appelee lors du redimensionnement de la fenetre | |
| void | creeRepere () |
| cree un repere orthonormal pour l'affichage dans la fenetre | |
| void | creeLampes () |
| cree l'eclairage, le positionne, afin qu'on voie bien l'effet de relief. | |
| void | creeTerrain (int time_flag) |
| cree le Maillage de notre surface a visualiser | |
| void | creeNormales (vertex *T) |
| fonction de creation des normales d'un tableau de vertex | |
| void | drawVertex (int i, int j, vertex *T) |
| ajoute les polygones correspondant au sommet (i,j) de T a la liste d'affichage | |
Définition dans le fichier GLvis_.h.
|
|
distance initiale de la camera openGL par rapport a la scene |
|
|
distance maximale de la camera openGL par rapport a la scene Définition à la ligne 34 du fichier GLvis_.h. Référencé par mouvement(). |
|
|
Echelle d'affichage des normales Définition à la ligne 30 du fichier GLvis_.h. Référencé par creeNormales(). |
|
|
Echelle verticale d'affichage initiale |
|
|
Echelle verticale d'affichage maximale Définition à la ligne 28 du fichier GLvis_.h. Référencé par clavier(). |
|
|
macro-constante pour vrai Définition à la ligne 38 du fichier GLvis_.h. Référencé par creeTerrain(). |
|
|
nombre de subdivisions initiales |
|
|
macro-constante pour vrai Définition à la ligne 36 du fichier GLvis_.h. Référencé par creeTerrain(). |
|
|
on definit le type image_GL comme etant equivalent au type struct image_GL_ |
|
|
on definit le type vertex comme etant equivalent au type struct vertex_ |
|
|
fonction appelee a chaque fois que l'on doit mettre a jour l'image affichee a l'ecran
utilise les variables d'etat: Définition à la ligne 444 du fichier GLvis_.c. Références distance, L0pos, L1pos, lampes, normales, phi, repere, terrain, et theta. Référencé par initGL(). |
|
||||||||||||||||||||||||||||||||
|
charge une famille de surfaces dans retour, et num_plans contient le nombre de plans trouves.
num_plans et met a jour la variable globale terrains_GL
Définition à la ligne 311 du fichier GLvis_.c. Références chargeFamilleSurfaces(), image_GL_::lfmt, nbSubdiv_max, image_GL_::rapport, et image_GL_::terrain. Référencé par chargeFamilleSurfaces(), et chargeImage(). |
|
||||||||||||||||||||||||||||
|
ouvre l'image dont le nom est donne en argument, et appelle la fonction adaptee en fonction du type d'image
Définition à la ligne 225 du fichier GLvis_.c. Références chargeFamilleSurfaces(), chargeImage(), et chargeSurface2D(). Référencé par chargeImage(), et visualisation(). |
|
||||||||||||||||||||||||
|
charge une surface 2D dans retour
num_plans et met a jour la variable globale terrains_GL
Définition à la ligne 253 du fichier GLvis_.c. Références chargeSurface2D(), image_GL_::lfmt, nbSubdiv_max, image_GL_::rapport, et image_GL_::terrain. Référencé par chargeImage(), et chargeSurface2D(). |
|
||||||||||||||||
|
fonction appelee a chaque appui sur une touche du clavier
Définition à la ligne 472 du fichier GLvis_.c. Références afficheLampes, afficheNormales, afficheRepere, areteTransv, clavier(), creeTerrain(), ECHELLE_VERT_MAX, echelleVert, faceArriere, modePlein, nb_terrains, nbSubdiv, nbSubdiv_max, terrain_courant, et time_flag_level. |
|
|
cree l'eclairage, le positionne, afin qu'on voie bien l'effet de relief.
utilise les variables globales Définition à la ligne 682 du fichier GLvis_.c. Références L0pos, L1pos, et lampes. Référencé par visualisation(). |
|
|
fonction de creation des normales d'un tableau de vertex
nbSubdiv et normales
Définition à la ligne 835 du fichier GLvis_.c. Références creeNormales(), ECHELLE_NORMALES, nbSubdiv, normales, vertex_::nx, vertex_::ny, vertex_::nz, vertex_::x, vertex_::y, et vertex_::z. Référencé par creeNormales(), et creeTerrain(). |
|
|
cree un repere orthonormal pour l'affichage dans la fenetre en fait, le repere est une pyramide dont on n'affiche que 3 aretes
modifie la variable globale Définition à la ligne 654 du fichier GLvis_.c. Références repere. Référencé par visualisation(). |
|
|
cree le Maillage de notre surface a visualiser
areteTransv,\c echelleVert,terrains_GL et nbSubdiv
realise un appel de drawVertex() creeNormales() value() Définition à la ligne 713 du fichier GLvis_.c. Références areteTransv, creeNormales(), creeTerrain(), drawVertex(), echelleVert, FALSE, nbSubdiv, vertex_::nx, vertex_::ny, vertex_::nz, terrain, terrain_courant, TRUE, vertex_::x, vertex_::y, et vertex_::z. Référencé par clavier(), creeTerrain(), et visualisation(). |
|
||||||||||||||||
|
ajoute les polygones correspondant au sommet (i,j) de T a la liste d'affichage
Définition à la ligne 867 du fichier GLvis_.c. Références drawVertex(), et nbSubdiv. Référencé par creeTerrain(), et drawVertex(). |
|
|
fonction permettant d'initialiser OpenGL, pour afficher nos polygones
cette fonction a besoin des variables cette fonction demande la definition des fonctions affichage(),clavier(),souris(),mouvement(),redim() Définition à la ligne 389 du fichier GLvis_.c. Références affichage(), clavier(), L0dif, L1dif, mouvement(), Mshiny, Mspec, redim(), et souris(). Référencé par visualisation(). |
|
||||||||||||
|
fonction appelee a chaque mouvement de souris
b_gauche,\c b_droit
modifie Définition à la ligne 603 du fichier GLvis_.c. Références distance, DISTANCE_MAX, mouvement(), phi, theta, xprec, et yprec. Référencé par initGL(), et mouvement(). |
|
||||||||||||
|
fonction appelee lors du redimensionnement de la fenetre
Définition à la ligne 638 du fichier GLvis_.c. Références redim(). |
|
||||||||||||||||||||
|
fonction appelee a chaque clic de souris
b_gauche,\c b_droit,xprec,\c yprec
Définition à la ligne 575 du fichier GLvis_.c. |
1.2.18