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


Référence de la classe GLamSphere

Sphère ou portion sphérique. Plus de détails...

#include <glamsphere.h>

Graphe d'héritage de GLamSphere:
GLamRevolution GLamObject

Liste de tous les membres

Fonctions membres publiques

 GLamSphere ()
 GLamSphere (double diameter, double alphaInf=-90.0, double alphaSup=90.0)
 GLamSphere (const GLamSphere &obj)
 ~GLamSphere ()
GLamSphereoperator= (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)

Description détaillée

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.


Propriétés

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).


Exemple

// 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_example.png



Documentation des constructeurs et destructeur

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_default.png
GLamSphere::GLamSphere ( double  diameter,
double  alphaInf = -90.0,
double  alphaSup = 90.0 
)

Constructeur.

GLamSphere::GLamSphere ( const GLamSphere obj  ) 

Constructeur de copie.

GLamSphere::~GLamSphere (  ) 

Destructeur.


Documentation des fonctions membres

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.


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