Changeset 802 for trunk/geant4/visualization
- Timestamp:
- May 20, 2008, 6:34:33 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r801 r802 1715 1715 G4Vector3D new_up ; 1716 1716 G4Vector3D delta ; 1717 1718 if ((up[1]==1) &&(up[0]==0) && (up[2]==0)) {1719 up[1] = cameraPosition[2];1720 } 1721 new_dx[2] = (cameraPosition[0]*up[1]-cameraPosition[1]*up[0]) /100; // EN TEST1722 new_dx[0] = (cameraPosition[1]*up[2]-cameraPosition[2]*up[1]) /100; // EN TEST1723 new_dx[1] = (cameraPosition[2]*up[0]-cameraPosition[0]*up[2]) /100; // EN TEST1724 1725 delta = new_dx*dx*deltaRot + up*dy*deltaRot;1717 G4double new_cameraDistance; 1718 G4Vector3D deltaCp; 1719 G4Vector3D deltaUp; 1720 1721 new_dx[2] = (cameraPosition[0]*up[1]-cameraPosition[1]*up[0]); 1722 new_dx[0] = (cameraPosition[1]*up[2]-cameraPosition[2]*up[1]); 1723 new_dx[1] = (cameraPosition[2]*up[0]-cameraPosition[0]*up[2]); 1724 1725 delta = -new_dx*dx*deltaRot/45 - up*cameraDistance*dy*deltaRot/45; // 1 unit equal 45 degrees 1726 1726 new_cameraPosition = cameraPosition + delta; 1727 1728 new_up[2] = new_cameraPosition[0]*(-delta[1])-new_cameraPosition[1]*(-delta[0]); 1729 new_up[0] = new_cameraPosition[1]*(-delta[2])-new_cameraPosition[2]*(-delta[1]); 1730 new_up[1] = new_cameraPosition[2]*(-delta[0])-new_cameraPosition[0]*(-delta[2]); 1727 1728 new_cameraDistance = std::sqrt(new_cameraPosition[0]*new_cameraPosition[0]+new_cameraPosition[1]*new_cameraPosition[1]+new_cameraPosition[2]*new_cameraPosition[2]); 1729 deltaCp = cameraDistance*(cameraPosition/new_cameraDistance)-cameraPosition; 1730 new_cameraPosition = new_cameraPosition + deltaCp; 1731 delta += deltaCp; 1732 1733 /* *********************** */ 1734 G4Vector3D new_UpX; 1735 new_UpX[2] = (-up[0]*cameraPosition[1]+up[1]*cameraPosition[0])/(cameraDistance*cameraDistance); 1736 new_UpX[0] = (-up[1]*cameraPosition[2]+up[2]*cameraPosition[1])/(cameraDistance*cameraDistance); 1737 new_UpX[1] = (-up[2]*cameraPosition[0]+up[0]*cameraPosition[2])/(cameraDistance*cameraDistance); 1738 G4Vector3D deltaX; 1739 G4Vector3D deltaUpX; 1740 deltaX = -new_UpX*dx*deltaRot/45 - (-cameraPosition/cameraDistance)*cameraDistance*dy*deltaRot/45; 1741 new_up = up+deltaX; 1742 1743 float new_upDist; 1744 new_upDist = std::sqrt(new_up[0]*new_up[0]+new_up[1]*new_up[1]+new_up[2]*new_up[2]); 1745 deltaUpX = (up/new_upDist)-up; 1746 new_up += deltaUpX; 1747 1748 1749 // new_up = up[0]+ 1750 1751 // new_up[1] = up[1]*((new_cameraPosition[1])/cameraDistance)/cameraPosition[0]; 1752 // new_up[1] = up[1]*((new_cameraPosition[1])/cameraDistance)/cameraPosition[0]; 1753 // new_up[2] = up[2]-delta[1]/cameraDistance ; 1754 // new_up[2] = new_cameraPosition[0]*(-delta[1])-new_cameraPosition[1]*(-delta[0]); 1755 // new_up[0] = new_cameraPosition[1]*(-delta[2])-new_cameraPosition[2]*(-delta[1]); 1756 // new_up[1] = new_cameraPosition[2]*(-delta[0])-new_cameraPosition[0]*(-delta[2]); 1731 1757 1732 1758 1733 1759 #ifdef GEANT4_QT_DEBUG 1734 printf("G4OpenGLQtViewer::Rotate2 Tp %f,%f %f up:%f %f %f dx:%f %f %f\n", 1735 targetPoint[0],targetPoint[1],targetPoint[2],up[0],up[1],up[2],new_dx[0],new_dx[1],new_dx[2]); 1736 printf("G4OpenGLQtViewer::Rotate2 Cp %f,%f %f new_up:%f %f %f delta:%f %f %f\n", 1737 new_cameraPosition[0],new_cameraPosition[1],new_cameraPosition[2],new_up[0],new_up[1],new_up[2],delta[0],delta[1],delta[2]); 1760 printf(" Cp %f %f %f\tup:%f %f %f \tdx: %f %f %f\tTp %f %f %f\t\n", 1761 cameraPosition[0],cameraPosition[1],cameraPosition[2],up[0],up[1],up[2],new_dx[0],new_dx[1],new_dx[2],targetPoint[0],targetPoint[1],targetPoint[2]); 1762 printf(" Np %f %f %f\tnew_up: %f %f %f\tdelta: %f %f %f\tCd: %f\n", 1763 new_cameraPosition[0],new_cameraPosition[1],new_cameraPosition[2],new_up[0],new_up[1],new_up[2],delta[0],delta[1],delta[2],cameraDistance); 1764 printf(" DCp: %f %f %f\tNewUpX:%f %f %f\t deltaX:%f %f %f newUpDist:%f\n",deltaCp[0],deltaCp[1],deltaCp[2],new_UpX[0],new_UpX[1],new_UpX[2],deltaX[0],deltaX[1],deltaX[2],new_upDist); 1738 1765 #endif 1739 1766
Note: See TracChangeset
for help on using the changeset viewer.