Fixed bug in drawing position of the trackball when changin center.

This commit is contained in:
Federico Ponchio 2008-02-26 18:46:55 +00:00
parent d8c479c0fe
commit 86bf1f6d7b
1 changed files with 8 additions and 1 deletions

View File

@ -24,6 +24,9 @@
History History
$Log: not supported by cvs2svn $ $Log: not supported by cvs2svn $
Revision 1.12 2008/02/24 18:10:54 ponchio
Fixed scale behaviour.
Revision 1.11 2008/02/24 18:05:08 ponchio Revision 1.11 2008/02/24 18:05:08 ponchio
Should work as before. I didn't test cylinder and other exotic modes. Should work as before. I didn't test cylinder and other exotic modes.
@ -681,7 +684,11 @@ void DrawSphereIcon (Trackball * tb,bool active)
glPushAttrib (GL_TRANSFORM_BIT |GL_ENABLE_BIT | GL_LINE_BIT | GL_CURRENT_BIT | GL_LIGHTING_BIT); glPushAttrib (GL_TRANSFORM_BIT |GL_ENABLE_BIT | GL_LINE_BIT | GL_CURRENT_BIT | GL_LIGHTING_BIT);
glMatrixMode(GL_MODELVIEW); glMatrixMode(GL_MODELVIEW);
glPushMatrix (); glPushMatrix ();
Point3f center = tb->center + tb->track.InverseMatrix()*tb->center; /* Matrix44f rot;
tb->track.rot.ToMatrix(rot);
Invert(rot);*/
// Point3f center = tb->center + tb->track.InverseMatrix()*tb->center;
Point3f center = tb->center + tb->track.InverseMatrix()*Point3f(0, 0, 0);
glTranslate(center); glTranslate(center);
glScale (tb->radius/tb->track.sca); glScale (tb->radius/tb->track.sca);