![]() |
GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
Elément torique. Plus de détails...
#include <glamtorus.h>
Fonctions membres publiques | |
GLamTorus () | |
GLamTorus (double diameter, double thickness, double resolution=0.05) | |
GLamTorus (const GLamTorus &obj) | |
~GLamTorus () | |
GLamTorus & | operator= (const GLamTorus &obj) |
double | diameter () const |
void | setDiameter (double diameter) |
void | setThickness (double thickness) |
double | resolution () const |
void | setResolution (double resolution) |
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 :
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.
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.
// 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::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::GLamTorus | ( | double | diameter, | |
double | thickness, | |||
double | resolution = 0.05 | |||
) |
Constructeur.
GLamTorus::GLamTorus | ( | const GLamTorus & | obj | ) |
Constructeur de copie.
GLamTorus::~GLamTorus | ( | ) |
Destructeur.
double GLamTorus::diameter | ( | ) | const [inline] |
Propriété diameter.
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.