GLam Collection version 0.4 -  ACCUEIL -  CLASSES -  HIERARCHIE -  MEMBRES -  EXEMPLES


Référence de la classe GLamObjFile

Chargement d'un Wavefront OBJ + MTL ( expérimental ). Plus de détails...

#include <glamobjfile.h>

Graphe d'héritage de GLamObjFile:
GLamObject

Liste de tous les membres

Fonctions membres publiques

 GLamObjFile (const char *filename)
 ~GLamObjFile ()
void create ()
void resize (double size=1.0)
double scale () const
double x () const
double y () const
double z () const

Description détaillée

Chargement d'un Wavefront OBJ + MTL ( expérimental ).

La classe GLamObjFile permet le chargement d'un fichier modèle .obj et de son fichier associé .mtl (même radical).

La classe ne reconnait et ne prend en compte que les lignes commençant par v, vt, vn, g, f, mtllib et usemtl ( cf. spécifications format OBJ ). Pour le format MTL, les commandes reconnues sont : newmtl, Ns, Ka, Kd, Ks, Tr et d.


Exemple

L'exemple ci-dessous suppose la présence des fichiers f-16.obj, f-16.mtl, matra-f1.obj et matra-f1.mtl dans un sous-répertoire data du répertoire d'exécution...

// attributs

GLamObjFile*  objFile1 ;
GLamObjFile*  objFile2 ;

// construction

objFile1 = new GLamObjFile("data/f-16.obj");
objFile2 = new GLamObjFile("data/matra-f1.obj");

objFile1->resize(14) ;
objFile2->resize(8) ;

// projection sur la scène

glPushMatrix() ;
  glRotated(90.0, 1, 0, 0 ) ;
  glPushMatrix() ;
    glTranslated( -4, 6, 4 ) ;
    glRotated(30.0, 0, 1, 1 ) ;
    objFile1->draw() ;
  glPopMatrix() ;
  glPushMatrix() ;
    glTranslated( -2, objFile2->y() / 2.0, 0 ) ;
    objFile2->draw() ;
  glPopMatrix() ;
glPopMatrix() ;
glamobjfile_example.png



Documentation des constructeurs et destructeur

GLamObjFile::GLamObjFile ( const char *  filename  ) 

Constructeur. L'argument filename spécifie le chemin vers le fichier .obj à charger.

GLamObjFile::~GLamObjFile (  ) 

Destructeur.


Documentation des fonctions membres

void GLamObjFile::create (  )  [virtual]

Méthode de dessin utilisée par la classe de base pour générer la display list de l'objet. Les programmes clients ne doivent normalement pas invoquer directement cette méthode, mais préférer la méthode draw() qui exploite la primitive OpenGL glCallList() .

Implémente GLamObject.

void GLamObjFile::resize ( double  size = 1.0  ) 

Fixe le volume max. size x size x size du modèle, et centre celui-ci sur l'origine du repère.

double GLamObjFile::scale (  )  const [inline]

Echelle courante du modèle, modifiable par resize().

double GLamObjFile::x (  )  const [inline]

Longueur du modèle.

double GLamObjFile::y (  )  const [inline]

Largeur du modèle.

double GLamObjFile::z (  )  const [inline]

Epaisseur du modèle.


Doxygen version 1.6.3 - GLam Collection - (c) 2009-2010 Alain Menu