![]() |
GLam Collection version 0.4 - | ACCUEIL - CLASSES - HIERARCHIE - MEMBRES - EXEMPLES |
Exemple de modélisation d'un élément mécanique avec notamment l'utilisation d'un objet GLamPipe de diamètre x.√2 pour fabriquer le tube carré de coté x. Les parties planes de fixation sont définies en une seule fois par un parallélépipède percé de cinq orifices.
Source
// attributs GLamTesselation* tess ; GLamPipe* tube ; GLamGroup* jonction ; // construction tess = new GLamTesselation( GLamCube(36, 36, 4 ) ) ; tess->addCircularHole( 13.5, 13.5, 2, 90 ) ; tess->addCircularHole(-13.5, 13.5, 2, 90 ) ; tess->addCircularHole(-13.5, -13.5, 2, 90 ) ; tess->addCircularHole( 13.5, -13.5, 2, 90 ) ; double pts[][2] = { {-8,-8},{8,-8},{8,8},{-8,8} } ; tess->addPolygonalHole( 0, 0, (double*)pts, 4 ) ; double diam = 20 * 1.4142135 ; tube = new GLamPipe(diam, diam, 52, 4 ) ; tube->setThickness( 2.0 * 1.4142135 ) ; jonction = new GLamGroup ; int t1 = jonction->addObject( tess ) ; int t2 = jonction->addObject( tess ) ; int t3 = jonction->addObject( tube ) ; jonction->addObjectTranslate(t2, 0, 0, 56 ) ; jonction->addObjectTranslate(t3, 0, 0, 4 ) ; jonction->addObjectRotate(t3, 0, 0, 45 ) ; float chrome[10] = { 0.25, 0.25, 0.25, 0.4, 0.4, 0.4, 0.774597, 0.774597, 0.774597, 76.8 } ; jonction->setMaterial( chrome ) ; // projection sur la scène glPushMatrix() ; glScaled(0.1, 0.1, 0.1 ) ; jonction->draw() ; glPopMatrix() ; | ![]() ![]() |