Changeset 728 for trunk/geant4
- Timestamp:
- Feb 18, 2008, 7:19:24 PM (17 years ago)
- Location:
- trunk/geant4/visualization/OpenGL
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/include/G4OpenGLQtViewer.hh
r725 r728 135 135 /** To ensure key event are keep one by one */ 136 136 bool fHoldKeyEvent; 137 /** To ensure move event are keep one by one */ 138 bool fHoldMoveEvent; 139 /** To ensure rotate event are keep one by one */ 140 bool fHoldRotateEvent; 137 141 bool fAutoMove; 138 142 QAction *fRotateAction; -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r727 r728 291 291 ,fContextMenu(0) 292 292 ,fMouseAction(STYLE1) 293 ,fDeltaRotation( 0.5)293 ,fDeltaRotation(1) 294 294 ,fDeltaSceneTranslation(0.01) 295 295 ,fDeltaDepth(0.01) … … 297 297 ,fDeltaMove(0.05) 298 298 ,fHoldKeyEvent(false) 299 ,fHoldMoveEvent(false) 300 ,fHoldRotateEvent(false) 299 301 ,fAutoMove(false) 300 302 { … … 1522 1524 void G4OpenGLQtViewer::moveScene(G4double dx,G4double dy, G4double dz,bool mouseMove,bool mAutoMove) 1523 1525 { 1526 if (fHoldMoveEvent) 1527 return; 1528 fHoldMoveEvent = true; 1529 1524 1530 if( mAutoMove == false) { 1525 1531 fAutoMove = true; … … 1536 1542 coefTrans = ((G4double)getSceneNearWidth())/((G4double)WinSize_y); 1537 1543 } 1544 #ifdef GEANT4_QT_DEBUG 1545 printf("Coef trans %f\n",coefTrans); 1546 #endif 1538 1547 } else { 1539 1548 coefTrans = getSceneNearWidth()*fDeltaSceneTranslation; … … 1545 1554 ((QApplication*)G4Qt::getInstance ())->processEvents(); 1546 1555 } 1556 1557 fHoldMoveEvent = false; 1547 1558 } 1548 1559 … … 1555 1566 void G4OpenGLQtViewer::rotateScene(G4double dx, G4double dy,bool mAutoRotate) 1556 1567 { 1568 if (fHoldRotateEvent) 1569 return; 1570 fHoldRotateEvent = true; 1571 1557 1572 if( mAutoRotate == false) { 1558 1573 fAutoMove = true; 1559 1574 } 1560 dx = dx * fDeltaRotation;1561 dy = dy * fDeltaRotation;1562 1575 G4Vector3D vp; 1563 1576 G4Vector3D up; … … 1595 1608 1596 1609 if (fVP.GetLightsMoveWithCamera()) { 1597 delta_alpha = dy ;1598 delta_theta = -dx ;1610 delta_alpha = dy * fDeltaRotation; 1611 delta_theta = -dx * fDeltaRotation; 1599 1612 } else { 1600 delta_alpha = -dy ;1601 delta_theta = dx ;1613 delta_alpha = -dy * fDeltaRotation; 1614 delta_theta = dx * fDeltaRotation; 1602 1615 } 1603 1616 … … 1649 1662 ((QApplication*)G4Qt::getInstance ())->processEvents(); 1650 1663 } 1664 1665 fHoldRotateEvent = false; 1651 1666 } 1652 1667 … … 1999 2014 #endif 2000 2015 if (event->key() == Qt::Key_Plus) { 2001 fDeltaPosX =fDeltaPosX*(1+fDeltaRotation); 2002 fDeltaPosY =fDeltaPosY*(1+fDeltaRotation); 2003 printf("rotate + %f %f\n",fDeltaPosX,fDeltaPosY); 2016 fDeltaRotation = fDeltaRotation/0.7; 2004 2017 } 2005 2018 else if (event->key() == Qt::Key_Minus) { 2006 fDeltaPosX =fDeltaPosX*(1-fDeltaRotation); 2007 fDeltaPosY =fDeltaPosY*(1-fDeltaRotation); 2008 printf("rotate - %f %f\n",fDeltaPosX,fDeltaPosY); 2019 fDeltaRotation = fDeltaRotation*0.7; 2009 2020 } 2010 2021 } else { -
trunk/geant4/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc
r725 r728 364 364 G4MouseMoveEvent(event->x(),event->y(),event->buttons()); 365 365 #endif 366 #ifdef GEANT4_QT_DEBUG367 366 if (hasPendingEvents ()) 368 367 G4MouseMoveEvent(event->x(),event->y(),event->buttons(),true); 369 #endif370 368 } 371 369
Note: See TracChangeset
for help on using the changeset viewer.