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


Référence de la classe GLamProfile

Profilé linéaire. Plus de détails...

#include <glamprofile.h>

Graphe d'héritage de GLamProfile:
GLamObject

Liste de tous les membres

Fonctions membres publiques

 GLamProfile ()
 GLamProfile (double *pts, double *vectors, int numSectors=20, double length=0.0)
 GLamProfile (double *pts, int numPts, double length=0.0)
 GLamProfile (double radius, int numSectors=20, double length=0.0)
 GLamProfile (const GLamProfile &obj)
 ~GLamProfile ()
GLamProfileoperator= (const GLamProfile &obj)
void create ()
void changeSide (bool changeSide=true)
bool isSideChanged () const
int numPts () const
double x (int numPoint) const
double y (int numPoint) const

Description détaillée

Profilé linéaire.

La classe GLamProfile permet la construction d'un profilé linéaire à partir de la description de sa section transversale.
La section peut être décrite de trois manières différentes :


Le profilé est sans épaisseur (assimilable à une pièce de tôle laminée), le coté sensible au rendu peut être inversé par la méthode changeSide().


Les profilés fabriqués au moyen de la classe GLamProfile peuvent être complétés par des éléments d'angle avec les classes GLamCorner et GLamRoundedCorner.


Propriétés

points : Sommets de construction du profilé.

changeSide : Inversion des faces sensibles au rendu (false par défaut).

length : Longueur du profilé. Propriété maintenue par la classe de base GLamObject (thickness).


Exemple

// attributs

GLamProfile*  prof1 ;
GLamProfile*  prof2 ;
GLamProfile*  prof3 ;

// construction

  double pts1[][2] = { {2,0}, {2,0.5}, {1.5,0.5},
             {1.7,1.5}, {1,2.4}, {0,2.4} } ;
  double pts2[][2] = { {1,0}, {0,2} } ;
  double vec1[][2] = { {0,2}, {1,-0.3} } ;

  prof1 = new GLamProfile( (double*)pts1, 6, 4 ) ;
  prof1->setColor(0.4, 0.3, 0.8, true ) ;

  prof2 = new GLamProfile( (double*)pts2,
               (double*)vec1,
               40, 2.5 ) ;

  prof3 = new GLamProfile(1.5, 45, 3 ) ;
  prof3->setColor(0.7, 0.3, 0.2, true ) ;

// projection sur la scène

glPushMatrix() ;
  glTranslated(-2, -4, 0 ) ;
  prof1->draw() ;
  glTranslated(-3, -2, 0 ) ;
  prof2->draw() ;
  glTranslated(-2, 5, 0 ) ;
  glRotated(-30, 0, 1, 0 ) ;
  prof3->draw() ;
glPopMatrix() ;
glamprofile_example.png



Documentation des constructeurs et destructeur

GLamProfile::GLamProfile (  ) 
Constructeur par défaut.

Le constructeur par défaut crée une cornière de volume 0.5 x 1.0 x 1.0, apparaissant sous sa forme fil de fer (wireframe). Cet état est révocable par copie d'un autre objet de même classe (cf. sélecteur isDefault() de la classe de base).
glamprofile_default.png
GLamProfile::GLamProfile ( double *  pts,
double *  vectors,
int  numSectors = 20,
double  length = 0.0 
)

Constructeur d'un profil de type courbe de Bézier.

GLamProfile::GLamProfile ( double *  pts,
int  numPts,
double  length = 0.0 
)

Constructeur d'un profil polygonal par liste de points (x,y).

GLamProfile::GLamProfile ( double  radius,
int  numSectors = 20,
double  length = 0.0 
)

Constructeur d'un profil quart de cercle de rayon radius.

GLamProfile::GLamProfile ( const GLamProfile obj  ) 

Constructeur de copie.

GLamProfile::~GLamProfile (  ) 

Destructeur.


Documentation des fonctions membres

void GLamProfile::changeSide ( bool  changeSide = true  ) 

Propriété changeSide.

void GLamProfile::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.

bool GLamProfile::isSideChanged (  )  const [inline]

Propriété changeSide.

int GLamProfile::numPts (  )  const [inline]

Propriété points.

GLamProfile & GLamProfile::operator= ( const GLamProfile obj  ) 

Surcharge de l'opérateur d'affectation.

double GLamProfile::x ( int  numPoint  )  const [inline]

Propriété points.

double GLamProfile::y ( int  numPoint  )  const [inline]

Propriété points.


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