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


Jonction

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() ;
jonction_def_example.png

jonction_example.png

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