GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
Elément tubulaire ou conique. Plus de détails...
#include <glampipe.h>
Fonctions membres publiques | |
GLamPipe () | |
GLamPipe (double dBase, double dTop, double length, int numSectors=20) | |
GLamPipe (const GLamPipe &obj) | |
~GLamPipe () | |
GLamPipe & | operator= (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) |
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.
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.
// 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::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::GLamPipe | ( | double | dBase, | |
double | dTop, | |||
double | length, | |||
int | numSectors = 20 | |||
) |
Constructeur.
GLamPipe::GLamPipe | ( | const GLamPipe & | obj | ) |
Constructeur de copie.
GLamPipe::~GLamPipe | ( | ) |
Destructeur.
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.
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.
Réimplémentée à partir de GLamObject.