Reimplemented from OglGui::Window. Definition at line 352 of file CheckBoxDrum.h. References OglGui::CheckBox3D::Draw(), DrumInfoBox, mCbWidth, mCheckBoxes, mDrumRotDx, mDrumRotX, mDrumX, mDrumY, mDrumZ, mKeyInfo, mNrColumns, mNrRows, OglGui::OglWindow::mOglWnd, mPicking, mRadius, mTxt3D, and txtFontBase. 00353 { 00354 CheckBox3D* checkBox; 00355 OGC myOGC; 00356 int i, j; 00357 int angle, totAngle; 00358 00359 OGCSave( &myOGC ); 00360 view3DSys.View3DCameraTransform( mOglWnd ); 00361 glTranslatef( mDrumX, mDrumY, mDrumZ ); 00362 glRotatef( mDrumRotX, 1.0f, 0.0f, 0.0f ); // Rotate X 00363 glNormal3f(0.f,0.f,1.f); 00364 for( i=0; i<mNrColumns; i++) 00365 { 00366 glPushMatrix(); 00367 glTranslatef( (-(mNrColumns/2) + i) * (mCbWidth+0.2f) , 0.0f, 0.0f ); 00368 00369 for( j=0; j<mNrRows; j++) 00370 { 00371 angle = j * 360/mNrRows; 00372 totAngle = ((int) mDrumRotX + angle) % 360; 00373 totAngle = abs( totAngle ); 00374 if( totAngle > 70 && totAngle < 290 ) 00375 continue; 00376 00377 glPushMatrix(); 00378 glRotatef( (float) angle, 1.0f, 0.0f, 0.0f ); 00379 glTranslatef( 0.0f, 0.0f, mRadius); 00380 00381 if( checkBox = mCheckBoxes[j*mNrColumns + i] ) 00382 checkBox->Draw(mTxt3D ? txtFontBase : 0, 00383 totAngle < 60 || totAngle > 300, mPicking ); 00384 glPopMatrix(); 00385 } 00386 glPopMatrix(); 00387 } 00388 mDrumRotX += mDrumRotDx; 00389 00390 if( !mPicking && mKeyInfo ){ 00391 oglSys.InfoBoxCenter( mOglWnd, DrumInfoBox ); 00392 oglSys.InfoBoxDraw( mOglWnd, DrumInfoBox ); 00393 } 00394 00395 OGCRestore( &myOGC ); 00396 }
Here is the call graph for this function:
|