![]() |
GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
Sphère ou portion sphérique. Plus de détails...
#include <glamsphere.h>
Fonctions membres publiques | |
GLamSphere () | |
GLamSphere (double diameter, double alphaInf=-90.0, double alphaSup=90.0) | |
GLamSphere (const GLamSphere &obj) | |
~GLamSphere () | |
GLamSphere & | operator= (const GLamSphere &obj) |
double | diameter () const |
void | setDiameter (double diameter) |
double | alphaInf () const |
void | setAlphaInf (double alphaInf) |
double | alphaSup () const |
void | setAlphaSup (double alphaSup) |
void | setNumSectors (int numSectors) |
Sphère ou portion sphérique.
La classe GLamSphere permet la création de sphères ou de portions sphériques ; avec pour centre l'origine 0XYZ.
La portion de sphère est définie d'une part par l'angle de révolution autour de l'axe Z (propriété angle
de GLamRevolution), et d'autre part par les amplitudes positive alphaSup (défaut +90°) et négative alphaInf (défaut -90°) par rapport à l'axe X. Les valeurs par défaut permettent d'obtenir une sphère complète.
diameter
: Diamètre de la sphère.
alphaInf : Angle inférieur en degrés (-90 par défaut).
alphaSup : Angle supérieur en degrés (+90 par défaut).
// attributs GLamSphere* sph1 ; GLamSphere* sph2 ; GLamSphere* sph3 ; GLamSphere* sph4 ; // construction float mat[10] = { 0.33, 0.22, 0.03, 0.78, 0.57, 0.11, 0.99, 0.94, 0.81, 28 } ; sph1 = new GLamSphere(2.5 ) ; sph1->setMaterial( mat ) ; sph2 = new GLamSphere(3, 0 ) ; sph2->setNumSectors( 90 ) ; sph2->setAngle( 120 ) ; sph3 = new GLamSphere( *sph2 ) ; sph3->setColor(0, 0.9, 0.7 ) ; sph3->changeSide() ; sph3->setAlphaInf(-45 ) ; sph4 = new GLamSphere(3.2, -45, 45 ) ; sph4->setColor(0.1,0.3,0.8, true ) ; sph4->setNumSectors( 180 ) ; sph4->setAngle( 200 ) ; sph4->setClosed() ; // projection sur la scène glPushMatrix() ; sph1->draw() ; glTranslated(-3, -3, 2 ) ; sph2->draw() ; glTranslated( 0, -2, 1 ) ; glRotated(120, 0, 0, 1 ) ; sph3->draw() ; glTranslated( -3, -4, 0 ) ; glRotated(30, -1, 1, 1 ) ; sph4->draw() ; glPopMatrix() ; | ![]() |
GLamSphere::GLamSphere | ( | ) |
Constructeur par défaut. Le constructeur par défaut crée une sphère de volume 1.0 x 1.0 x 1.0, apparaissant sous sa forme fil de fer (wireframe). Cet état n'est révocable que par copie d'un autre objet de même classe (cf. sélecteur isDefault() de la classe de base). | ![]() |
GLamSphere::GLamSphere | ( | double | diameter, | |
double | alphaInf = -90.0 , |
|||
double | alphaSup = 90.0 | |||
) |
Constructeur.
GLamSphere::GLamSphere | ( | const GLamSphere & | obj | ) |
Constructeur de copie.
GLamSphere::~GLamSphere | ( | ) |
Destructeur.
double GLamSphere::alphaInf | ( | ) | const [inline] |
Propriété alphaInf.
double GLamSphere::alphaSup | ( | ) | const [inline] |
Propriété alphaSup.
double GLamSphere::diameter | ( | ) | const [inline] |
Propriété diameter.
GLamSphere & GLamSphere::operator= | ( | const GLamSphere & | obj | ) |
Surcharge de l'opérateur d'affectation.
void GLamSphere::setAlphaInf | ( | double | alphaInf | ) |
Propriété alphaInf.
void GLamSphere::setAlphaSup | ( | double | alphaSup | ) |
Propriété alphaSup.
void GLamSphere::setDiameter | ( | double | diameter | ) |
Propriété diameter.
void GLamSphere::setNumSectors | ( | int | numSectors | ) |
Propriété numSectors.
Réimplémentée à partir de GLamRevolution.