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


Référence de la classe GLamHole

Classe de base. Plus de détails...

#include <glamhole.h>

Graphe d'héritage de GLamHole:
GLamObject GLamCircularHole GLamCurvedHole GLamPolygonalHole

Liste de tous les membres

Fonctions membres publiques

 GLamHole (int numPoints, double thickness=1.0)
 GLamHole (const GLamHole &obj)
 ~GLamHole ()
GLamHoleoperator= (const GLamHole &obj)
int numSectors () const
int numPts () const
int polygonNumPoints () const
double x (int numPoint) const
double y (int numPoint) const
void changeSide (bool changeSide=true)
bool isSideChanged () const

Fonctions membres protégées

virtual void create ()
void setX (int numPoint, double x)
void setNumPts (int numPts)
void setY (int numPoint, double y)

Description détaillée

Classe de base.

Cette classe n'est théoriquement jamais utilisée directement par les applications clientes. Elle sert de base aux classes permettant de mettre en place des évidements dans les objets de classe GLamTesselation.
Rien n'empêche cependant d'utiliser des "trous" autrement qu'au sein d'un objet facettisé ; l'exemple bobine montre la mise en oeuvre d'un objet GLamCircularHole pour créer un axe creux...


Propriétés

numSectors : Nombre de facettes constituant le trou (égal au nombre de points du contour - 1).

points : Points (x,y) du contour du trou.

changeSide : Inversion de la face sensible au rendu. La face sensible par défaut est la face intérieure (il s'agit de trous !).


Exemple

// attributs

GLamCircularHole* hole1 ;
GLamPolygonalHole*  hole2 ;
GLamPolygonalHole*  hole3 ;
GLamCurvedHole*   hole4 ;
GLamHole*     hole5 ;

// construction

double pts[][2] = { {2,2}, {2,3}, {-2,3}, {-2,2}, {1,2},
          {-2,-2}, {-2,-3}, {2,-3}, {2,-2}, {-1,-2} } ;

hole1 = new GLamCircularHole(2, 1.5, 8 ) ;
hole1->setColor(238, 238, 0, true ) ;

hole2 = new GLamPolygonalHole((double*)pts, 10, 0.5 ) ;

hole3 = new GLamPolygonalHole(3, 0.4, 45, 0.8 ) ;
hole3->changeSide() ;

hole4 = new GLamCurvedHole((double*)pts, 10, 100, 0.75 ) ;
hole4->setColor(173, 216, 230, true ) ;

hole5 = new GLamHole( *hole1 ) ;
hole5->changeSide() ;

// projection sur la scène

glPushMatrix() ;
  glTranslated( 1,  2, 0 ) ;
  hole1->draw() ;
  glTranslated( 0, -5, 0 ) ;
  hole2->draw() ;
  glTranslated(-5,  0, 0 ) ;
  hole4->draw() ;
  glTranslated( 0,  5, 0 ) ;
  hole3->draw() ;
  glTranslated( 2.5, 0, 0 ) ;
  hole5->draw() ;
glPopMatrix() ;
glamhole_example.png



Documentation des constructeurs et destructeur

GLamHole::GLamHole ( int  numPoints,
double  thickness = 1.0 
)

Constructeur. Ce constructeur assure simplement la réservation mémoire pour le stockage des points du contour du trou. Les couples de valeurs sont initialisés à (0,0).

GLamHole::GLamHole ( const GLamHole obj  ) 

Constructeur de copie.

GLamHole::~GLamHole (  ) 

Destructeur.


Documentation des fonctions membres

void GLamHole::changeSide ( bool  changeSide = true  ) 

Propriété changeSide.

void GLamHole::create (  )  [protected, 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 GLamHole::isSideChanged (  )  const [inline]

Propriété changeSide.

int GLamHole::numPts (  )  const [inline]

Propriété points.

int GLamHole::numSectors (  )  const [inline]

Propriété numSectors.

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

Surcharge de l'opérateur d'affectation.

int GLamHole::polygonNumPoints (  )  const [inline]

Propriété points. Equivalent à numPts().

void GLamHole::setNumPts ( int  numPts  )  [protected]

Propriété points. Réallocation de la zone mémoire d'allocation des points du contour du trou. Les anciennes valeurs sont perdues, les nouveaux couples de valeurs sont initialisés à (0,0).

void GLamHole::setX ( int  numPoint,
double  x 
) [protected]

Propriété points.

void GLamHole::setY ( int  numPoint,
double  y 
) [protected]

Propriété points.

double GLamHole::x ( int  numPoint  )  const

Propriété points.

double GLamHole::y ( int  numPoint  )  const

Propriété points.


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