From: <ha...@us...> - 2007-10-27 16:34:53
|
Revision: 8530 http://jmol.svn.sourceforge.net/jmol/?rev=8530&view=rev Author: hansonr Date: 2007-10-27 09:34:50 -0700 (Sat, 27 Oct 2007) Log Message: ----------- 11.3.39 testing Modified Paths: -------------- trunk/Jmol/src/org/jmol/g3d/Graphics3D.java trunk/Jmol/src/org/jmol/shape/Hover.java trunk/Jmol/src/org/jmol/shape/MeshRenderer.java trunk/Jmol/src/org/jmol/shapespecial/DrawRenderer.java trunk/Jmol/src/org/jmol/shapespecial/MolecularOrbitalRenderer.java trunk/Jmol/src/org/jmol/viewer/Eval.java trunk/Jmol/src/org/jmol/viewer/RepaintManager.java 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/g3d/Graphics3D.java =================================================================== --- trunk/Jmol/src/org/jmol/g3d/Graphics3D.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/g3d/Graphics3D.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -286,7 +286,7 @@ public void setWindowParameters(int width, int height, boolean antialias) { windowWidth = width; windowHeight = height; - System.out.println("Graphics3D setWindowParameters width=" + width + " height=" + height + " antialias=" + antialias); + //System.out.println("Graphics3D setWindowParameters width=" + width + " height=" + height + " antialias=" + antialias); antialiasThisFrame = isFullSceneAntialiasingEnabled = antialias; setWidthHeight(antialiasThisFrame); } @@ -298,9 +298,10 @@ width *= 2; height *= 2; } - System.out.println("Graphics3D setWidthHeight width=" + width + " height=" + height - + " isAntialiased=" + isAntialiased - + " window width,height: " + windowWidth + "," + windowHeight); + //System.out.println("Graphics3D setWidthHeight width=" + width + " height=" + height + // + " isAntialiased=" + isAntialiased + // + " window width,height: " + windowWidth + "," + windowHeight); + xLast = width - 1; yLast = height - 1; displayMinX = -(width >> 1); @@ -328,9 +329,9 @@ currentlyRendering = true; twoPass = true; //only for testing -- set false to disallow second pass isPass2 = false; - System.out.println("Graphics3D beginRendering width=" + width + " height=" + height - + " window width,height: " + windowWidth + "," + windowHeight); - System.out.println("pass1 antialiasEnabled=" + antialiasEnabled); + //System.out.println("Graphics3D beginRendering width=" + width + " height=" + height + // + " window width,height: " + windowWidth + "," + windowHeight); + //System.out.println("pass1 antialiasEnabled=" + antialiasEnabled); colixCurrent = 0; haveTranslucentObjects = false; addAllPixels = true; @@ -535,7 +536,7 @@ int width4 = width; int offset1 = 0; int offset4 = 0; - System.out.println("downsample " + downsampleZBuffer); + //System.out.println("downsample " + downsampleZBuffer); for (int i = windowHeight; --i >= 0; offset4 += width4) for (int j = windowWidth; --j >= 0; ++offset1) { Modified: trunk/Jmol/src/org/jmol/shape/Hover.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/Hover.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/shape/Hover.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -115,7 +115,8 @@ if (atomFormats != null) for (int i = atomCount; --i >= 0;) if (atomFormats[i] != null) - setStateInfo(temp, i, "hover = " + Escape.escape(atomFormats[i])); - return getShapeCommands(temp, null, atomCount); + setStateInfo(temp, i, "set hoverLabel " + Escape.escape(atomFormats[i])); + return "\n hover " + Escape.escape((labelFormat == null ? "" : labelFormat)) + + ";\n" + getShapeCommands(temp, null, atomCount); } } Modified: trunk/Jmol/src/org/jmol/shape/MeshRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/MeshRenderer.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/shape/MeshRenderer.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -54,6 +54,10 @@ this.mesh = mesh; if (!setVariables()) return false; + + if (!g3d.setColix(colix)) + return mesh.title != null; + transform(); render2(); viewer.freeTempScreens(screens); @@ -64,14 +68,14 @@ slabbing = viewer.getSlabEnabled(); vertices = mesh.vertices; //because DRAW might have a text associated with it colix = mesh.colix; - if (mesh == null || mesh.visibilityFlags == 0 || !g3d.setColix(colix) - || (vertexCount = mesh.vertexCount) == 0) + if (mesh == null || mesh.visibilityFlags == 0 || (vertexCount = mesh.vertexCount) == 0) return false; normixes = mesh.normixes; if (normixes == null || vertices == null) - return false; + return false; //this can happen when user switches windows // during a surface calculation + lighting = mesh.lighting; frontOnly = !slabbing && mesh.frontOnly && !mesh.isTwoSided; screens = viewer.allocTempScreens(vertexCount); Modified: trunk/Jmol/src/org/jmol/shapespecial/DrawRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/shapespecial/DrawRenderer.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/shapespecial/DrawRenderer.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -170,21 +170,16 @@ } private void renderInfo() { - if (dmesh == null || dmesh.title == null || dmesh.visibilityFlags == 0 - || viewer.getDrawHover()) + if (mesh.title == null || mesh.title[0].length() == 0 || viewer.getDrawHover() + || !g3d.setColix(viewer.getColixBackgroundContrast())) return; - colix = viewer.getColixBackgroundContrast(); - if (!g3d.setColix(colix)) - return; //just the first line of the title -- nothing fancy here. byte fid = g3d.getFontFid("SansSerif", 14); g3d.setFont(fid); - if (dmesh.title[0].length() > 0) { - viewer.transformPoint(vertices[0], pt1i); - int offset = (antialias ? 10 : 5); - g3d.drawString(dmesh.title[0], null, pt1i.x + offset, - pt1i.y - offset, pt1i.z, pt1i.z); - } + viewer.transformPoint(vertices[0], pt1i); + int offset = (antialias ? 10 : 5); + g3d.drawString(mesh.title[0], null, pt1i.x + offset, pt1i.y - offset, + pt1i.z, pt1i.z); } } Modified: trunk/Jmol/src/org/jmol/shapespecial/MolecularOrbitalRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/shapespecial/MolecularOrbitalRenderer.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/shapespecial/MolecularOrbitalRenderer.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -40,9 +40,8 @@ } private void renderInfo() { - if (mesh == null || isGenerator - || !g3d.setColix(viewer.getColixBackgroundContrast())) - return; + if (mesh.title == null || isGenerator || !g3d.setColix(viewer.getColixBackgroundContrast())) + return; if (nf == null) { nf = NumberFormat.getInstance(); fid = g3d.getFontFid("Monospaced", 14); @@ -59,13 +58,12 @@ x <<= 1; } int y = lineheight; - - if (mesh.title != null) - for (int i = 0; i < mesh.title.length; i++) - if (mesh.title[i].length() > 0) { - g3d.drawStringNoSlab(mesh.title[i], null, x, y, 0); - y += lineheight; - } + + for (int i = 0; i < mesh.title.length; i++) + if (mesh.title[i].length() > 0) { + g3d.drawStringNoSlab(mesh.title[i], null, x, y, 0); + y += lineheight; + } } /* Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -6376,13 +6376,10 @@ boolean showing = (!isSyntaxCheck && !tQuiet && scriptLevel <= scriptReportingLevel && !((String)statement[0].value).equals("var")); - if (getContextVariableAsToken(key) == null && setParameter(key, val)) { - if (isSyntaxCheck) - return; - } else { + if (getContextVariableAsToken(key) != null || !setParameter(key, val)) { int tok2 = (tokAt(1) == Token.expressionBegin ? 0 : tokAt(2)); setVariable((tok2 == Token.opEQ ? 3 : 2), 0, key, showing); - showing = false; + return; } if (showing) viewer.showParameter(key, true, 80); @@ -6521,9 +6518,16 @@ setFloatProperty("dipoleScale", scale); return true; } + + //considering enabling this + if (false && parameterAsString(0).equals("set") + && !viewer.isJmolVariable(key)) { + iToken = 1; + unrecognizedParameter("SET", key); + } + if (statementLength == 2) { - if (!isSyntaxCheck) - setBooleanProperty(key, true); + setBooleanProperty(key, true); return true; } if (statementLength == 3) { @@ -6536,7 +6540,6 @@ if (!isSyntaxCheck) viewer.unsetProperty(key); } else if (theTok == Token.on || theTok == Token.off) { - if (!isSyntaxCheck) setBooleanProperty(key, theTok == Token.on); } else { return false; Modified: trunk/Jmol/src/org/jmol/viewer/RepaintManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/RepaintManager.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/viewer/RepaintManager.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -262,27 +262,24 @@ viewer.getModelNumberDotted(0)).append(";\n# last ").append( viewer.getModelNumberDotted(modelCount - 1)).append(";\n"); if (backgroundModelIndex >= 0) - commands.append("set backgroundModel ").append( - viewer.getModelNumberDotted(backgroundModelIndex)).append(";\n"); - commands.append( + StateManager.appendCmd(commands, "set backgroundModel " + + viewer.getModelNumberDotted(backgroundModelIndex)); + StateManager.appendCmd(commands, "frame RANGE " + viewer.getModelNumberDotted(firstModelIndex) + " " - + viewer.getModelNumberDotted(lastModelIndex)).append(";\n"); - commands.append( - "animation DIRECTION " + (animationDirection == 1 ? "+1" : "-1")) - .append(";\n"); - commands.append("animation MODE " + getAnimationModeName()).append(" ") - .append(firstFrameDelay).append(" ").append(lastFrameDelay).append( - ";\n"); - commands.append("frame " + viewer.getModelNumberDotted(currentModelIndex) - + ";\n"); + + viewer.getModelNumberDotted(lastModelIndex)); + StateManager.appendCmd(commands, + "animation DIRECTION " + (animationDirection == 1 ? "+1" : "-1")); + StateManager.appendCmd(commands, "animation FPS " + animationFps); + StateManager.appendCmd(commands, "animation MODE " + getAnimationModeName() + + " " + firstFrameDelay + " " + lastFrameDelay); + StateManager.appendCmd(commands, "frame " + viewer.getModelNumberDotted(currentModelIndex)); if (currentTrajectory > -1) - commands.append("trajectory " + currentTrajectory + ";\n"); - commands.append( - "animation " + StateManager.appendCmd(commands, "trajectory " + currentTrajectory); + StateManager.appendCmd(commands, "animation " + (!animationOn ? "OFF" : currentDirection == 1 ? "PLAY" - : "PLAYREV")).append(";\n"); + : "PLAYREV")); if (animationOn && animationPaused) - commands.append("animation PAUSE;\n"); + StateManager.appendCmd(commands, "animation PAUSE"); if (sfunc != null) commands.append("end function;\n\n"); return commands.toString(); @@ -296,12 +293,10 @@ //currentDirection = 1; } - int animationFps = 10; + int animationFps; // set in stateManager + void setAnimationFps(int animationFps) { - if (animationFps >= 1 && animationFps <= 50) - this.animationFps = animationFps; - else - Logger.error("invalid animationFps:" + animationFps); + this.animationFps = animationFps; } // 0 = once Modified: trunk/Jmol/src/org/jmol/viewer/StateManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/StateManager.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/viewer/StateManager.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -415,6 +415,7 @@ String defaultLoadScript = ""; String defaultDirectory = null; String loadFormat = "http://www.rcsb.org/pdb/files/%FILE.pdb"; + String appletProxy = ""; /** * these settings are determined when the file is loaded and are @@ -434,6 +435,7 @@ setParameterValue("allowEmbeddedScripts", true); appendCmd(str, "autoBond = " + autoBond); appendCmd(str, "appendNew = " + appendNew); + appendCmd(str, "appletProxy = " + Escape.escape(appletProxy)); appendCmd(str, "applySymmetryToBonds = " + applySymmetryToBonds); if (viewer.getAxesOrientationRasmol()) appendCmd(str, "axesOrientationRasmol = true"); @@ -489,6 +491,9 @@ //centering and perspective boolean allowRotateSelected = false; + boolean perspectiveDepth = true; + float visualRange = 5f; + int stereoDegrees = 5; //solvent @@ -506,7 +511,7 @@ boolean antialiasDisplay = false; boolean antialiasImages = true; - boolean antialiasTranslucent = false; + boolean antialiasTranslucent = true; boolean greyscaleRendering = false; boolean zoomLarge = true; //false would be like Chime boolean dotsSelectedOnly = false; @@ -546,6 +551,7 @@ //misc + int animationFps = 10; boolean hideNameInPopup = false; boolean disablePopupMenu = false; float defaultDrawArrowScale = 0.5f; @@ -562,9 +568,10 @@ boolean useNumberLocalization = true; float defaultTranslucent = 0.5f; boolean autoFps = false; + String dataSeparator = "~~~"; + boolean statusReporting = true; - // window int[] objColors = new int[OBJ_MAX]; @@ -593,6 +600,7 @@ str.append(getSpecularState()); if (stereoState != null) appendCmd(str, "stereo" + stereoState); + appendCmd(str, "statusReporting = " + statusReporting); if (sfunc != null) str.append("end function;\n\n"); return str.toString(); @@ -657,23 +665,37 @@ //also, any variable starting with site_ will be cleared final static String unnecessaryProperties = - //these are handled individually + //these are handled individually in terms of reporting for the state //NOT EXCLUDING the load state settings, because although we //handle these specially for the CURRENT FILE, their current //settings won't be reflected in the load state, which is determined //earlier, when the file loads. - ";refreshing;defaults;backgroundmodel;stereo;perspectivemodel;" - + ";appendnew;bondsymmetryatoms;backgroundcolor;axescolor;axis1color;axis2color;axis3color;boundboxcolor;unitcellcolor;" - + ";ambientpercent;diffusepercent;specular;specularexponent;specularpower;specularpercent;" - + ";debugscript;showfrank;showaxes;showaxis1;showaxis2;showaxis3;showunitcell;showboundbox;" - + ";slabEnabled;zoomEnabled;axeswindow;axesunitcell;axesmolecular;windowcentered;" - + ";cameradepth;navigationmode;rotationradius;" - + ";zerobasedxyzrasmol;axesorientationrasmol;" - + ";exportdrivers;stateversion;" - + ";antialiasdisplay;antialiastranslucent;antialiasimages;" - + ";language;_spinning;_animating;_modelnumber;_modelname;_currentmodelnumberinfile;" - + ";_currentfilenumber;_modelfile;_modeltitle;_version;_memory;" - + ";_width;_height;_atompicked;_atomhovered;"; + ";_animating;_atomhovered;_atompicked;_currentfilenumber;_currentmodelnumberinfile" + + ";_height;_memory;_modelfile;_modelname;_modelnumber;_modeltitle;_spinning;_version;_width" + + ";ambientpercent;animationfps" + + ";antialiasdisplay;antialiasimages;antialiastranslucent;appendnew;axescolor" + + ";axesmolecular;axesorientationrasmol;axesunitcell;axeswindow;axis1color;axis2color" + + ";axis3color;backgroundcolor;backgroundmodel;bondsymmetryatoms;boundboxcolor;cameradepth" + + ";debugscript;defaults;diffusepercent;exportdrivers;language;navigationmode" + + ";perspectivedepth;visualrange;perspectivemodel;refreshing;rotationradius" + + ";showaxes;showaxis1;showaxis2;showaxis3;showboundbox;showfrank;showunitcell" + + ";slabenabled;specular;specularexponent;specularpercent;specularpower;stateversion" + + ";statusreporting;stereo;stereostate" + + ";unitcellcolor;windowcentered;zerobasedxyzrasmol;zoomEnabled;" + + // saved in the hash table but not considered part of the state: + ";scriptqueue;scriptreportinglevel" + + // more settable Jmol variables + ";ambient;bonds;colorrasmol;diffuse;dipoleScale;drawhover;frank;hetero;hidenotselected" + + ";highresolution;hoverlabel;hydrogen;languagetranslation;navigationdepth;navigationslab" + + ";picking;pickingstyle;propertycolorschemeoverload;radius;rgbblue;rgbgreen;rgbred" + + ";scaleangstromsperinch;selectionhalos;showscript;showselections;solvent;strandcount" + + ";"; + + boolean isJmolVariable(String key) { + return htParameterValues.containsKey(key = key.toLowerCase()) + || htPropertyFlags.containsKey(key) + || unnecessaryProperties.indexOf(";" + key + ";") >= 0; + } void clearVolatileProperties() { Enumeration e; @@ -954,10 +976,12 @@ setParameterValue("allowEmbeddedScripts",allowEmbeddedScripts); setParameterValue("allowRotateSelected",allowRotateSelected); setParameterValue("ambientPercent",ambientPercent); + setParameterValue("animationFps",animationFps); setParameterValue("antialiasImages",antialiasImages); setParameterValue("antialiasDisplay",antialiasDisplay); setParameterValue("antialiasTranslucent",antialiasTranslucent); setParameterValue("appendNew",appendNew); + setParameterValue("appletProxy",appletProxy); setParameterValue("applySymmetryToBonds",applySymmetryToBonds); setParameterValue("autoBond",autoBond); setParameterValue("autoFps",autoFps); @@ -971,6 +995,7 @@ setParameterValue("cameraDepth",cameraDepth); setParameterValue("cartoonRockets",cartoonRockets); setParameterValue("chainCaseSensitive",chainCaseSensitive); + setParameterValue("dataSeparator",dataSeparator); setParameterValue("debugScript",debugScript); setParameterValue("defaultAngleLabel",defaultAngleLabel); setParameterValue("defaultColorScheme","Jmol"); @@ -1037,7 +1062,8 @@ setParameterValue("specularPercent",specularPercent); setParameterValue("specularPower",specularPower); setParameterValue("ssbondsBackbone",ssbondsBackbone); - setParameterValue("stereoState",stereoState); + setParameterValue("stereoDegrees",stereoDegrees); + setParameterValue("statusReporting",statusReporting); setParameterValue("testFlag1",testFlag1); setParameterValue("testFlag2",testFlag2); setParameterValue("testFlag3",testFlag3); @@ -1047,6 +1073,7 @@ setParameterValue("vectorScale",vectorScale); setParameterValue("vibrationPeriod",vibrationPeriod); setParameterValue("vibrationScale",vibrationScale); + setParameterValue("visualRange",visualRange); setParameterValue("zoomLarge",zoomLarge); setParameterValue("zShade",zShade); setParameterValue("zeroBasedXyzRasmol",zeroBasedXyzRasmol); Modified: trunk/Jmol/src/org/jmol/viewer/TransformManager.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/viewer/TransformManager.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -146,6 +146,8 @@ commands.append("function _setPerspectiveState();\n"); } StateManager.appendCmd(commands, "perspectiveModel = "+ perspectiveModel); + StateManager.appendCmd(commands, "perspectiveDepth = "+ perspectiveDepth); + StateManager.appendCmd(commands, "visualRange = "+ visualRange); if (!isWindowCentered()) StateManager.appendCmd(commands, "windowCentered = false"); StateManager.appendCmd(commands, "cameraDepth = " + cameraDepth); @@ -1045,7 +1047,7 @@ protected boolean perspectiveDepth = true; protected float cameraDepth = Float.NaN; protected float cameraDepthSetting = 3f; - protected float visualRange = 5f; + protected float visualRange; // set in stateManager to 5f; protected float cameraDistance = 1000f; // prevent divide by zero on startup void setPerspectiveDepth(boolean perspectiveDepth) { @@ -1113,16 +1115,16 @@ this.antialias = antialias; width = (antialias ? screenWidth * 2 : screenWidth); height = (antialias ? screenHeight * 2 : screenHeight); - System.out.println("transformManager setScreenParameters screenWidth,Height, useZoomLarge, antialias, resetSlab, resetZoom " - + useZoomLarge + ","+antialias + "," + resetSlab + "," + resetZoom); + //System.out.println("transformManager setScreenParameters screenWidth,Height, useZoomLarge, antialias, resetSlab, resetZoom " + // + useZoomLarge + ","+antialias + "," + resetSlab + "," + resetZoom); scaleFitToScreen(false, useZoomLarge, resetSlab, resetZoom); } void setAntialias(boolean TF) { - System.out.println("setAntialias antialias=" + antialias + " TF=" + TF - + " width=" + width + " height=" + height + " screenWidth/height" + - screenWidth + "," + screenHeight); + //System.out.println("setAntialias antialias=" + antialias + " TF=" + TF + // + " width=" + width + " height=" + height + " screenWidth/height" + + // screenWidth + "," + screenHeight); boolean isNew = (antialias != TF); antialias = TF; @@ -1130,8 +1132,8 @@ height = (antialias ? screenHeight * 2 : screenHeight); if (isNew) scaleFitToScreen(false, useZoomLarge, false, false); - System.out.println("setAntialias2 " + TF + "width=" + width + " height=" + height - + " screenWidth/height" + screenWidth + "," + screenHeight); + //System.out.println("setAntialias2 " + TF + "width=" + width + " height=" + height + // + " screenWidth/height" + screenWidth + "," + screenHeight); } private float defaultScaleToScreen(float radius) { @@ -1151,17 +1153,17 @@ } void scaleFitToScreen(boolean andCenter) { - System.out.println("transformManager scaleFitToSreen " + andCenter); + //System.out.println("transformManager scaleFitToSreen " + andCenter); scaleFitToScreen(andCenter, viewer.getZoomLarge(), true, true); } void scaleFitToScreen(boolean andCenter, boolean zoomLarge, boolean resetSlab, boolean resetZoom) { - System.out.println("transformManager scaleFitToScreen andcenter " + andCenter - + " screenWidth,Height, " + screenWidth + "," + screenHeight + - " zoomLarge, antialias, resetSlab, resetZoom width/height " - + zoomLarge + ","+antialias + "," + resetSlab + "," + resetZoom - + " " + width + "/" + height); + //System.out.println("transformManager scaleFitToScreen andcenter " + andCenter + // + " screenWidth,Height, " + screenWidth + "," + screenHeight + + // " zoomLarge, antialias, resetSlab, resetZoom width/height " + // + zoomLarge + ","+antialias + "," + resetSlab + "," + resetZoom + // + " " + width + "/" + height); if (width == 0 || height == 0) return; @@ -1292,7 +1294,7 @@ matrixTemp.setZero(); matrixTemp.set(scalePixelsPerAngstrom); - System.out.println("calcTransMatrix scalepixelsperangstrom=" + scalePixelsPerAngstrom); + //System.out.println("calcTransMatrix scalepixelsperangstrom=" + scalePixelsPerAngstrom); if (!axesOrientationRasmol) { // negate y (for screen) and z (for zbuf) matrixTemp.m11 = matrixTemp.m22 = -scalePixelsPerAngstrom; @@ -2054,7 +2056,7 @@ this.stereoMode = stereoMode; } - float stereoDegrees = 5; + float stereoDegrees; // set in state manager float stereoRadians = 5 * radiansPerDegree; void setStereoDegrees(float stereoDegrees) { Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Viewer.java 2007-10-27 13:36:25 UTC (rev 8529) +++ trunk/Jmol/src/org/jmol/viewer/Viewer.java 2007-10-27 16:34:50 UTC (rev 8530) @@ -161,7 +161,7 @@ stateManager = new StateManager(this); g3d = new Graphics3D(display); colorManager = new ColorManager(this, g3d); - initialize(); + //initialize(); statusManager = new StatusManager(this); scriptManager = new ScriptManager(this); transformManager = new TransformManager11(this); @@ -177,9 +177,10 @@ modelManager = new ModelManager(this); propertyManager = new PropertyManager(this); tempManager = new TempArray(); - fileManager = new FileManager(this, modelAdapter); dataManager = new DataManager(); repaintManager = new RepaintManager(this); + initialize(); + fileManager = new FileManager(this, modelAdapter); compiler = new Compiler(this); eval = new Eval(this); } @@ -396,13 +397,23 @@ setObjectColor("axis1", "red"); setObjectColor("axis2", "green"); setObjectColor("axis3", "blue"); + + //transfer default global settings to managers and g3d + + setZShade(global.zShade); setAmbientPercent(global.ambientPercent); setDiffusePercent(global.diffusePercent); setSpecular(global.specular); setSpecularPercent(global.specularPercent); setSpecularExponent(global.specularExponent); setSpecularPower(global.specularPower); - setZShade(false); + + repaintManager.setAnimationFps(global.animationFps); + + statusManager.setAllowStatusReporting(global.statusReporting); + + setTransformManagerDefaults(); + } String listSavedStates() { @@ -2565,6 +2576,10 @@ } public void setAnimationFps(int fps) { + if (fps < 1) + fps = 1; + if (fps > 50) + fps = 50; global.setParameterValue("animationFps", fps); //Eval //app AtomSetChooser @@ -3929,7 +3944,7 @@ if (key.equalsIgnoreCase("hoverLabel")) { setAtomHoverLabel(value); - break; + return; } ///11.0/// if (key.equalsIgnoreCase("defaultDistanceLabel")) { @@ -4004,6 +4019,10 @@ global.setUserParameterValue(key, new Token(Token.string, value)); } + boolean isJmolVariable(String key) { + return global.isJmolVariable(key); + } + public void setFloatProperty(String key, float value) { setFloatProperty(key, value, false); } @@ -4069,7 +4088,7 @@ } if (key.equalsIgnoreCase("stereoDegrees")) { setStereoDegrees(value); - break; + return true; } if (key.equalsIgnoreCase("vectorScale")) { //public -- no need to set @@ -4440,10 +4459,6 @@ setDefaultColors(value ? "rasmol" : "jmol"); break; } - if (key.equalsIgnoreCase("perspectiveDepth")) { - setPerspectiveDepth(value); - break; - } if (key.equalsIgnoreCase("scriptQueue")) { scriptManager.setQueue(value); break; @@ -4456,6 +4471,11 @@ setDotsSelectedOnly(value); break; } + if (key.equalsIgnoreCase("perspectiveDepth")) { + setPerspectiveDepth(value); + //public; no need to set here + return true; + } if (key.equalsIgnoreCase("showAxes")) { setShowAxes(value); return true; @@ -4747,6 +4767,7 @@ } private void setAllowStatusReporting(boolean TF) { + //not part of the state statusManager.setAllowStatusReporting(TF); } @@ -4972,10 +4993,18 @@ default: transformManager = transformManager.getNavigationManager(this, dimScreen.width, dimScreen.height); - } + } + setTransformManagerDefaults(); reset(); } + private void setTransformManagerDefaults() { + transformManager.setCameraDepthPercent(global.cameraDepth); + transformManager.setPerspectiveDepth(global.perspectiveDepth); + transformManager.setStereoDegrees(global.stereoDegrees); + transformManager.setVisualRange(global.visualRange); + } + private void setZoomLarge(boolean TF) { global.zoomLarge = TF; transformManager.scaleFitToScreen(false, global.zoomLarge, false, true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |