From: Michael T H. <mic...@us...> - 2003-02-06 10:33:13
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol In directory sc8-pr-cvs1:/tmp/cvs-serv21089/src/org/openscience/jmol Modified Files: ChemFrame.java TransformManager.java Log Message: fixed perspective mode initial sizing bug Index: ChemFrame.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/ChemFrame.java,v retrieving revision 1.94 retrieving revision 1.95 diff -C2 -r1.94 -r1.95 *** ChemFrame.java 6 Feb 2003 08:17:29 -0000 1.94 --- ChemFrame.java 6 Feb 2003 10:33:10 -0000 1.95 *************** *** 495,500 **** Point3d posAtom = atom.getPosition(); double distAtom = center.distance(posAtom); ! double distVdw = ! distAtom + (atom.getType().getVdwRadius() * atomSphereFactor); if (distVdw > radius) radius = distVdw; --- 495,501 ---- Point3d posAtom = atom.getPosition(); double distAtom = center.distance(posAtom); ! double radiusVDW = atom.getType().getVdwRadius(); ! double distVdw = distAtom + (radiusVDW * atomSphereFactor); ! if (distVdw > radius) radius = distVdw; Index: TransformManager.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/TransformManager.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** TransformManager.java 14 Jan 2003 12:41:57 -0000 1.4 --- TransformManager.java 6 Feb 2003 10:33:10 -0000 1.5 *************** *** 292,296 **** public boolean perspectiveDepth = true; public double cameraDepth = 3; ! public int cameraZ = 750; public void setPerspectiveDepth(boolean perspectiveDepth) { --- 292,296 ---- public boolean perspectiveDepth = true; public double cameraDepth = 3; ! public int cameraZ; public void setPerspectiveDepth(boolean perspectiveDepth) { *************** *** 333,346 **** public void scaleFitToScreen() { if (dimCurrent == null || control.getFrame() == null) { - // FIXME -- what is proper startup sequence in this case? return; } - - // FIXME perspective view resize - mth dec 2003 - // there is some problem with perspective view with the screen is - // resized larger. only shows up in perspective view. things are being - // displayed larger than they should be. that is, rotations can go - // off the edge of the screen. goes away when home is hit - // translate to the middle of the screen xTranslation = dimCurrent.width / 2; --- 333,338 ---- *************** *** 360,372 **** minScreenDimension / 2 / control.getRotationRadius(); if (perspectiveDepth) { double scaleFactor = (cameraZ + minScreenDimension/2) / (double)cameraZ; ! scaleFactor += .02f; // don't know why I need this, but seems I do -- mth scalePixelsPerAngstrom *= scaleFactor; } - // these are important! scaleDefaultPixelsPerAngstrom = scalePixelsPerAngstrom; zoomPercentSetting = zoomPercent = 100; zoomEnabled = true; - cameraZ = (int)cameraDepth * minScreenDimension; } --- 352,367 ---- minScreenDimension / 2 / control.getRotationRadius(); if (perspectiveDepth) { + cameraZ = (int)(cameraDepth * minScreenDimension); double scaleFactor = (cameraZ + minScreenDimension/2) / (double)cameraZ; ! // mth - for some reason, I can make the scaleFactor bigger in this ! // case. I do not know why, but there is extra space around the edges. ! // I have looked at it three times and still cannot figure it out ! // so just bump it up a bit. ! scaleFactor += 0.02; scalePixelsPerAngstrom *= scaleFactor; } scaleDefaultPixelsPerAngstrom = scalePixelsPerAngstrom; zoomPercentSetting = zoomPercent = 100; zoomEnabled = true; } |