// OpenGl transforms in C and mapped to C++ glMatrixMode ( GL_MODELVIEW ); glLoadIdentity ( ); glScaled ( sx, sy, 1.0 ); // 2D scale glScaled ( sx, sy, sz ); // 3D glTranslated ( dx, dy, 0 ); // 2D translate glTranslated ( dx, dy, dz ); // 3D glRotated ( angle, 0.0, 0.0, 1.0 ); // 2D rotate glRotated ( angle, ux, uy, uz ); // 3D // C++ mapping // init CT void Canvas :: initCT ( void ) { glMatrixMode ( GL_MODELVIEW ); glLoadIdentity ( ); } // 2D scale void Canvas :: scale2D ( double sx, double sy ) { glMatrixMode ( GL_MODELVIEW ); glScaled ( sx, sy, 1.0 ); // set CT to CT * ( 2D scale ) } // 2D translate void Canvas :: translate2D ( double dx, double dy ) { glMatrixMode ( GL_MODELVIEW ); glTranslated ( dx, dy, 1.0 ); // set CT to CT * ( 2D xlate ) } // 2D rotate void Canvas :: rotate2D ( double angle ) { glMatrixMode ( GL_MODELVIEW ); glRotated ( angle, 0.0, 0.0, 1.0 ); // set CT to CT * ( 2D rotate ) }

© 2006 G. Hill Price
All Rights Reserved