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


Référence de la classe GLamTorus

Elément torique. Plus de détails...

#include <glamtorus.h>

Graphe d'héritage de GLamTorus:
GLamRevolution GLamObject

Liste de tous les membres

Fonctions membres publiques

 GLamTorus ()
 GLamTorus (double diameter, double thickness, double resolution=0.05)
 GLamTorus (const GLamTorus &obj)
 ~GLamTorus ()
GLamTorusoperator= (const GLamTorus &obj)
double diameter () const
void setDiameter (double diameter)
void setThickness (double thickness)
double resolution () const
void setResolution (double resolution)

Description détaillée

Elément torique.

La classe GlamTorus permet de réaliser des tores (toroïdes de section circulaire). Un tore est défini par son diamètre nomimal et le diamètre de sa section ; cette dernière caractéristique est maintenue par la propriété thickness héritée de GLamObject.
Le diamètre nominal est la distance séparant les axes centrals de deux sections opposées. Les dimensions du tore sont donc :
$ \emptyset_{interieur} = \emptyset_{nominal} - \emptyset_{section} $
$ \emptyset_{exterieur} = \emptyset_{nominal} + \emptyset_{section} $

Un tore est un polygone régulier. Le nombre de facettes est déterminé par la propriété numSectors. La finesse de dessin de la section (elle aussi assimilable à un polygone régulier) est définie par la propriété resolution qui correspond à la dimension minimale autorisée pour chacune des facettes de la coupe radiale du tore.


Propriétés

diameter : diamètre nominal du tore.

thickness : diamètre de la section du tore. Propriété maintenue par la classe GLamObject.

resolution : Résolution radiale (0.05 par défaut). Le nombre minimal de facettes est ramené à 3 si la résolution demandée est trop grande par rapport au diamètre de la section du tore.


Exemple

// attributs

GLamTorus*  torus1 ;
GLamTorus*  torus2 ;
GLamTorus*  torus3 ;

// construction

torus1 = new GLamTorus( 2, 0.4, 0.02 ) ;
torus1->setNumSectors( 60 ) ;
torus1->setColor(0.5, 0.7, 0.4, true ) ;

torus2 = new GLamTorus( 4.5, 0.6 ) ;

torus3 = new GLamTorus( *torus2 ) ;
float mat[10] = { 0.75, 0.25, 0.25,
          0.4, 0.4, 0.4,
          0.774597, 0.774597, 0.774597,
          76.8 } ;
torus3->setMaterial(mat) ;
torus3->setNumSectors( 180 ) ;
torus3->setThickness( 0.8 ) ;
torus3->setAngle( 243 ) ;
torus3->setClosed() ;
torus3->setDiameter( 3 ) ;

// projection sur la scène

glPushMatrix() ;
  torus1->draw() ;
  glTranslated( -5, 0, 0 ) ;
  torus2->draw() ;
  glTranslated( 0, -5, 0 ) ;
  glRotated(45, -2, 1, 0 ) ;
  torus3->draw() ;
glPopMatrix() ;
glamtorus_example.png



Documentation des constructeurs et destructeur

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

Le constructeur par défaut crée un tore de diamètre 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).
glamtorus_default.png
GLamTorus::GLamTorus ( double  diameter,
double  thickness,
double  resolution = 0.05 
)

Constructeur.

GLamTorus::GLamTorus ( const GLamTorus obj  ) 

Constructeur de copie.

GLamTorus::~GLamTorus (  ) 

Destructeur.


Documentation des fonctions membres

double GLamTorus::diameter (  )  const [inline]

Propriété diameter.

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

Surcharge de l'opérateur d'affectation.

double GLamTorus::resolution (  )  const [inline]

Propriété resolution.

void GLamTorus::setDiameter ( double  diameter  ) 

Propriété diameter.

void GLamTorus::setResolution ( double  resolution  ) 

Propriété resolution.

void GLamTorus::setThickness ( double  thickness  )  [virtual]

Propriété thickness.

Réimplémentée à partir de GLamObject.


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