GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
L'objet décrit ci-contre est une pièce de révolution constituée d'un profil extérieur et d'un trou central. En remarquant que l'objet possède une symétrie par rapport à un plan le coupant en son milieu, il est possible de restreindre la définition de la forme extérieure à 6 points (pt 0 … pt 5). Le groupement constituant l'objet complet est constitué de 2 demi-flasques et d'un axe. Le deuxième demi-flasque subit une symétrie verticale (rotation d'un demi-tour par rapport à l'axe 0X) et une translation sur 0Z équivalente à sa longueur afin d'être raccordé au premier demi-flasque.
Source
// attributs GLamRevolution* flasque ; GLamCircularHole* axe ; GLamGroup* bobine ; // construction double pts[][2] = {{5,0},{20,0},{20,3},{9,3},{8,4},{8,15} } ; flasque = new GLamRevolution( (double*)pts, 6, 180 ) ; axe = new GLamCircularHole(10, 30, 90 ) ; bobine = new GLamGroup ; int f1 = bobine->addObject( flasque ) ; int f2 = bobine->addObject( flasque ) ; int h = bobine->addObject( axe ) ; bobine->addObjectRotate(f2, 180, 0, 0 ) ; bobine->addObjectTranslate(f2, 0, 0, -30 ) ; bobine->setSimpleColor( false ) ; // projection sur la scène glPushMatrix() ; glScaled(0.1, 0.1, 0.1 ) ; bobine->draw() ; glPopMatrix() ; |