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


Référence de la classe GLamPipe

Elément tubulaire ou conique. Plus de détails...

#include <glampipe.h>

Graphe d'héritage de GLamPipe:
GLamObject

Liste de tous les membres

Fonctions membres publiques

 GLamPipe ()
 GLamPipe (double dBase, double dTop, double length, int numSectors=20)
 GLamPipe (const GLamPipe &obj)
 ~GLamPipe ()
GLamPipeoperator= (const GLamPipe &obj)
void create ()
void update ()
void setColor (float r, float g, float b, bool shiny=false)
void setShiny (bool shiny=true)
void setSimpleColor (bool simpleColor=true)
void setMaterial (float mat[10])
void setThickness (double thickness)
void setSelected (bool selected=true)
double base () const
void setBase (double dBase)
double top () const
void setTop (double dTop)
double length () const
void setLength (double length)
void resize (double dBase, double dTop, double length)
int numSectors () const
void setNumSectors (int numSectors)

Description détaillée

Elément tubulaire ou conique.

Cette classe nommée « tuyau » permet en réalité de construire autour de l'axe Z une grande variété d'éléments 3D dont les coupes transversales sont des polygones réguliers : des formes pleines, des tubes creux de sections diverses avec contrôle de l'épaisseur de matière, des cônes ou troncs de cônes, …
Un objet de classe GLamPipe est construit en indiquant un diamètre de base, un diamètre final, une longueur et le nombre de segments du polygone régulier définissant la section.
Lorsque cela est nécessaire, des objets GLamCircle sont automatiquement ajoutés pour fermer les extrémités de l'élément.
L'épaisseur correspond ici à la différence entre rayon extérieur et rayon intérieur pour toute coupe transversale de l'objet.


Propriétés

base : Diamètre de base.

top : Diamètre final.

length : Longueur.

numSectors : Nombre de facettes. La valeur par défaut est fixée à 20.

thickness : Epaisseur de matière (0 par défaut). Propriété maintenue par la classe de base GLamObject.


Exemple

// attributs

GLamPipe* pipe1 ;
GLamPipe* pipe2 ;
GLamPipe* pipe3 ;

// construction

pipe1 = new GLamPipe( 4, 3, 5, 180 ) ;
pipe1->setColor( 0.2f, 0.2f, 1.0f, true ) ;
pipe1->setThickness( 0.5 ) ;

pipe2 = new GLamPipe( 1,1,1,6 ) ;
pipe2->resize( 2, 2, 3 ) ;
pipe2->setColor( 0.3f, 0.9f, 0.9f ) ;
pipe2->setThickness( 0.1 ) ;

pipe3 = new GLamPipe( *pipe2 ) ;
pipe3->setThickness( 0.3 ) ;

// projection sur la scène

glPushMatrix() ;
  glTranslated( -4, -2, 0 ) ;
  pipe1->draw() ;
  glTranslated( 5, -2, 0 ) ;
  pipe2->draw() ;
  glTranslated( 0, 4, 0 ) ;
  glRotated( 30, 0, 1, 0 ) ;
  pipe3->draw() ;
glPopMatrix() ;
glampipe_example.png



Documentation des constructeurs et destructeur

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

Le constructeur par défaut crée un tronc de cône octogonal creux de volume 1.0 x 1.0 x 1.0, apparaissant sous sa forme fil de fer (wireframe). Cet état est révoqué dès que l'élément est redimensionné, ou par copie d'un autre objet de même classe (cf. sélecteur isDefault() de la classe de base).
glampipe_default.png
GLamPipe::GLamPipe ( double  dBase,
double  dTop,
double  length,
int  numSectors = 20 
)

Constructeur.

GLamPipe::GLamPipe ( const GLamPipe obj  ) 

Constructeur de copie.

GLamPipe::~GLamPipe (  ) 

Destructeur.


Documentation des fonctions membres

double GLamPipe::base (  )  const [inline]

Propriété base.

void GLamPipe::create (  )  [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.

double GLamPipe::length (  )  const [inline]

Propriété length.

int GLamPipe::numSectors (  )  const [inline]

Propriété numSectors.

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

Surcharge de l'opérateur d'affectation.

void GLamPipe::resize ( double  dBase,
double  dTop,
double  length 
)

Propriétés base, top et length.

void GLamPipe::setBase ( double  dBase  ) 

Propriété base.

void GLamPipe::setColor ( float  r,
float  g,
float  b,
bool  shiny = false 
) [virtual]

Propriété color.

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

void GLamPipe::setLength ( double  length  ) 

Propriété length.

void GLamPipe::setMaterial ( float  mat[10]  )  [virtual]

Propriété material.

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

void GLamPipe::setNumSectors ( int  numSectors  ) 

Propriété numSectors.

void GLamPipe::setSelected ( bool  selected = true  )  [virtual]

Force ou non l'état 'sélectionné' de l'objet. Le cas échéant, celui-ci est alors regénéré avec un aspect cyan semi-transparent.

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

void GLamPipe::setShiny ( bool  shiny = true  )  [virtual]

Propriété shiny.

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

void GLamPipe::setSimpleColor ( bool  simpleColor = true  )  [virtual]

Propriété simpleColor.

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

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

Propriété thickness.

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

void GLamPipe::setTop ( double  dTop  ) 

Propriété top.

double GLamPipe::top (  )  const [inline]

Propriété top.

void GLamPipe::update (  )  [virtual]

Fixation du mode de rendu de l'objet et fabrication de la display list. Mise à jour de l'identifiant de l'objet dans la liste des objets.

Voir également:
isUpdate(), updateNeeded()

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


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