From: <ha...@us...> - 2010-01-27 21:21:04
|
Revision: 12248 http://jmol.svn.sourceforge.net/jmol/?rev=12248&view=rev Author: hansonr Date: 2010-01-27 21:20:53 +0000 (Wed, 27 Jan 2010) Log Message: ----------- version=11.9.23_dev # new feature: all saved orientations now saved in state Modified Paths: -------------- trunk/Jmol/src/org/jmol/export/_X3dExporter.java trunk/Jmol/src/org/jmol/export/___Exporter.java trunk/Jmol/src/org/jmol/modelset/ModelSet.java trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java trunk/Jmol/src/org/jmol/script/Token.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/viewer/StateManager.java trunk/Jmol/src/org/jmol/viewer/TransformManager.java trunk/Jmol/src/org/jmol/viewer/Viewer.java Modified: trunk/Jmol/src/org/jmol/export/_X3dExporter.java =================================================================== --- trunk/Jmol/src/org/jmol/export/_X3dExporter.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/export/_X3dExporter.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -88,7 +88,7 @@ output(" boundboxCenter: " + viewer.getBoundBoxCenter() + "\n"); output(" translationOffset: " + viewer.getTranslationScript() + "\n"); output(" zoom: " + viewer.getZoomPercentFloat() + "\n"); - output(" moveto command: " + viewer.getOrientationText(Token.moveto) + "\n"); + output(" moveto command: " + viewer.getOrientationText(Token.moveto, null) + "\n"); output(" screen width height dim: " + screenWidth + " " + screenHeight + " " + viewer.getScreenDim() + "\n -->\n\n"); Modified: trunk/Jmol/src/org/jmol/export/___Exporter.java =================================================================== --- trunk/Jmol/src/org/jmol/export/___Exporter.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/export/___Exporter.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -272,7 +272,7 @@ outputComment("boundboxCenter: " + viewer.getBoundBoxCenter()); outputComment("translationOffset: " + viewer.getTranslationScript()); outputComment("zoom: " + viewer.getZoomPercentFloat()); - outputComment("moveto command: " + viewer.getOrientationText(Token.moveto)); + outputComment("moveto command: " + viewer.getOrientationText(Token.moveto, null)); } protected void outputFooter() { Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -801,7 +801,7 @@ + "; frame title " + Escape.escape(t) + ";\n"); if (models[i].orientation != null) commands.append(" frame " + getModelNumberDotted(i) + "; " - + models[i].orientation.getMoveToText() + "\n"); + + models[i].orientation.getMoveToText(false) + "\n"); } commands.append(" set fontScaling " + viewer.getFontScaling() + ";\n"); Modified: trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java =================================================================== --- trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -11340,6 +11340,7 @@ String value = null; String str = parameterAsString(1); String msg = null; + String name = null; int len = 2; if (tokAt(1) == Token.symop && statementLength > 3) { Point3f pt1 = centerParameter(2); @@ -11397,9 +11398,9 @@ viewer.showUrl(getFullPathName()); return; } - String fileName = parameterAsString(2); + name = parameterAsString(2); if (!isSyntaxCheck) - viewer.showUrl(fileName); + viewer.showUrl(name); return; case Token.color: str = "defaultColorScheme"; @@ -11422,11 +11423,11 @@ msg = getContext(false); break; case Token.colorscheme: - String csname = optParameterAsString(2); - if (csname.length() > 0) + name = optParameterAsString(2); + if (name.length() > 0) len = 3; if (!isSyntaxCheck) - value = viewer.getColorSchemeList(csname, true); + value = viewer.getColorSchemeList(name, true); break; case Token.variables: if (!isSyntaxCheck) @@ -11549,7 +11550,7 @@ msg = viewer.getStateInfo(); break; } - String name = parameterAsString(2); + name = parameterAsString(2); if (!isSyntaxCheck) msg = viewer.getSavedState(name); break; @@ -11665,12 +11666,25 @@ case Token.rotation: case Token.moveto: if (!isSyntaxCheck) - msg = viewer.getOrientationText(tok); + msg = viewer.getOrientationText(tok, null); break; case Token.orientation: - if (!isSyntaxCheck) - msg = viewer.getOrientationText(tokAt(2)); - len = (statementLength == 3 ? 3 : 2); + len = 2; + if (statementLength > 3) + break; + switch (tok = tokAt(2)) { + case Token.translation: + case Token.rotation: + case Token.moveto: + case Token.nada: + if (!isSyntaxCheck) + msg = viewer.getOrientationText(tok, null); + break; + default: + name = optParameterAsString(2); + msg = viewer.getOrientationText(0, name); + } + len = statementLength; break; case Token.pdbheader: if (!isSyntaxCheck) Modified: trunk/Jmol/src/org/jmol/script/Token.java =================================================================== --- trunk/Jmol/src/org/jmol/script/Token.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/script/Token.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -363,7 +363,7 @@ final static int expressionBegin = expression | 1; final static int expressionEnd = expression | 2; - final static int all = expression | 3; + public final static int all = expression | 3; public final static int branch = expression | 4; final static int coord = expression | 6; final static int dollarsign = expression | 7; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-01-27 21:20:53 UTC (rev 12248) @@ -3,6 +3,7 @@ version=11.9.23_dev +# new feature: all saved orientations now saved in state # bug fix: isosurface ID @{xxxx} .... #ID .. #ID not overriding # new feature: write MESH t.mesh JVXL "vertex-only" very compact style mesh surface # new feature: isosurface SLAB {plane definition} [optional offset] Modified: trunk/Jmol/src/org/jmol/viewer/StateManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/StateManager.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/viewer/StateManager.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -295,6 +295,24 @@ return new Orientation(false); } + String getSavedOrientationText(String saveName) { + Orientation o; + if (saveName != null) { + o = getOrientation(saveName); + return (o == null ? "" : o.getMoveToText(true)); + } + StringBuffer sb = new StringBuffer(); + Enumeration e = saved.keys(); + while (e.hasMoreElements()) { + String name = (String) e.nextElement(); + if (!name.startsWith("Orientation_")) + continue; + sb.append(((Orientation) saved.get(name)).getMoveToText(true)); + } + return sb.toString(); + } + + void saveOrientation(String saveName) { if (saveName.equalsIgnoreCase("DELETE")) { deleteSaved("Orientation_"); @@ -304,11 +322,9 @@ o.saveName = lastOrientation = "Orientation_" + saveName; saved.put(o.saveName, o); } - + boolean restoreOrientation(String saveName, float timeSeconds, boolean isAll) { - String name = (saveName.length() > 0 ? "Orientation_" + saveName - : lastOrientation); - Orientation o = (Orientation) saved.get(name); + Orientation o = getOrientation(saveName); if (o == null) return false; o.restore(timeSeconds, isAll); @@ -316,6 +332,12 @@ return true; } + private Orientation getOrientation(String saveName) { + String name = (saveName.length() > 0 ? "Orientation_" + saveName + : lastOrientation); + return (Orientation) saved.get(name); + } + public class Orientation { String saveName; @@ -362,8 +384,9 @@ } } - public String getMoveToText() { - return moveToText; + public String getMoveToText(boolean asCommand) { + return (asCommand ? " " + moveToText + "\n save orientation \"" + + saveName.substring(12) + "\"\n" : moveToText); } public void restore(float timeSeconds, boolean isAll) { Modified: trunk/Jmol/src/org/jmol/viewer/TransformManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -174,6 +174,9 @@ StateManager.appendCmd(commands, viewer.getBoundBoxCommand(false)); StateManager.appendCmd(commands, "center " + Escape.escape(fixedRotationCenter)); + commands.append(viewer.getSavedOrienationText(null)); + + StateManager.appendCmd(commands, getMoveToText(0, false)); if (stereoMode != JmolConstants.STEREO_NONE) StateManager.appendCmd(commands, "stereo " Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2010-01-27 19:39:53 UTC (rev 12247) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2010-01-27 21:20:53 UTC (rev 12248) @@ -643,6 +643,10 @@ return stateManager.getOrientation(); } + public String getSavedOrienationText(String name) { + return stateManager.getSavedOrientationText(name); + } + void restoreModelOrientation(int modelIndex) { StateManager.Orientation o = modelSet.getModelOrientation(modelIndex); if (o != null) @@ -1249,8 +1253,10 @@ transformManager.setNavXYZ((int) x, (int) y, (int) z); } - public String getOrientationText(int type) { - return transformManager.getOrientationText(type); + public String getOrientationText(int type, String name) { + return (name == null ? + transformManager.getOrientationText(type) + : stateManager.getSavedOrientationText(name)); } Hashtable getOrientationInfo() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |