From: <ha...@us...> - 2006-11-23 14:59:39
|
Revision: 6302 http://svn.sourceforge.net/jmol/?rev=6302&view=rev Author: hansonr Date: 2006-11-23 06:59:38 -0800 (Thu, 23 Nov 2006) Log Message: ----------- load! Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-23 07:48:15 UTC (rev 6301) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-23 14:59:38 UTC (rev 6302) @@ -2550,13 +2550,16 @@ dataLabelString = new String[2]; dataLabelString[0] = dataLabel; dataLabelString[1] = dataString; - viewer.setData(dataType, dataLabelString); - if (dataType.equalsIgnoreCase("model")) { + boolean isModel = dataType.equalsIgnoreCase("model"); + if (!isSyntaxCheck || isScriptCheck && isModel) + viewer.setData(dataType, dataLabelString); + if (isModel) { // only if first character is "|" do we consider "|" to be new line char newLine = viewer.getInlineChar(); if (dataString.length() > 0 && dataString.charAt(0) != newLine) newLine = '\0'; - viewer.loadInline(dataString, newLine); + if (!isSyntaxCheck || isScriptCheck) + viewer.loadInline(dataString, newLine); return; } } @@ -2637,7 +2640,8 @@ if (i == 0 || filename.length() == 0) filename = viewer.getFullPathName(); loadScript.append(" " + StateManager.escape(filename) + ";"); - viewer.openFile(filename, params, loadScript.toString()); + if (!isSyntaxCheck || isScriptCheck) + viewer.openFile(filename, params, loadScript.toString()); } else if (statement[i + 1].tok == Token.leftbrace || statement[i + 1].tok == Token.integer) { filename = (String) statement[i++].value; @@ -2696,7 +2700,8 @@ } } loadScript.append(";"); - viewer.openFile(filename, params, loadScript.toString()); + if (!isSyntaxCheck || isScriptCheck) + viewer.openFile(filename, params, loadScript.toString()); } else { String modelName = (String) statement[i].value; i++; @@ -2709,8 +2714,11 @@ i++; } loadScript.append(";"); - viewer.openFiles(modelName, filenames, loadScript.toString()); + if (!isSyntaxCheck || isScriptCheck) + viewer.openFiles(modelName, filenames, loadScript.toString()); } + if (isSyntaxCheck && !isScriptCheck) + return; String errMsg = viewer.getOpenFileError(); // int millis = (int)(System.currentTimeMillis() - timeBegin); // Logger.debug("!!!!!!!!! took " + millis + " ms"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-29 15:51:09
|
Revision: 6355 http://svn.sourceforge.net/jmol/?rev=6355&view=rev Author: hansonr Date: 2006-11-29 07:51:07 -0800 (Wed, 29 Nov 2006) Log Message: ----------- bug fix "set bondMode or" Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-29 15:08:41 UTC (rev 6354) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-29 15:51:07 UTC (rev 6355) @@ -4516,7 +4516,7 @@ default: invalidArgument(); } - setBooleanProperty("bondSelelectionModeOr", bondmodeOr); + setBooleanProperty("bondModeOr", bondmodeOr); } void setSelectionHalo(int pt) throws ScriptException { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-12-01 17:18:47
|
Revision: 6361 http://svn.sourceforge.net/jmol/?rev=6361&view=rev Author: hansonr Date: 2006-12-01 09:17:56 -0800 (Fri, 01 Dec 2006) Log Message: ----------- cruel Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-01 17:02:43 UTC (rev 6360) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-01 17:17:56 UTC (rev 6361) @@ -5055,7 +5055,7 @@ } if (type.equals("image")) { if (fileName != null && fileName.indexOf(".") >= 0) - type = filename.substring(fileName.lastIndexOf(".") + 1).toUpperCase(); + type = fileName.substring(fileName.lastIndexOf(".") + 1).toUpperCase(); else type = "JPG"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-12-01 17:22:43
|
Revision: 6362 http://svn.sourceforge.net/jmol/?rev=6362&view=rev Author: hansonr Date: 2006-12-01 09:22:38 -0800 (Fri, 01 Dec 2006) Log Message: ----------- what was "PDF" doing in there? Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-01 17:17:56 UTC (rev 6361) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-01 17:22:38 UTC (rev 6362) @@ -5059,7 +5059,7 @@ else type = "JPG"; } - if (";JPEG;JPG64;JPG;PDF;PNG;SPT;HIS;".indexOf(";" + type + ";") < 0) + if (";JPEG;JPG64;JPG;PPM;PNG;SPT;HIS;".indexOf(";" + type + ";") < 0) evalError(GT._("write what? {0} or {1} \"filename\"", new Object[] { "STATE|HISTORY|IMAGE CLIPBOARD", "JPG|JPG64|PNG|PPM|SPT" })); if (!isSyntaxCheck) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-12-23 14:36:46
|
Revision: 6539 http://svn.sourceforge.net/jmol/?rev=6539&view=rev Author: hansonr Date: 2006-12-23 06:36:44 -0800 (Sat, 23 Dec 2006) Log Message: ----------- 11.1: better set debugScript Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-22 15:49:11 UTC (rev 6538) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-12-23 14:36:44 UTC (rev 6539) @@ -72,6 +72,7 @@ boolean tQuiet; boolean logMessages = false; + boolean debugScript = false; Eval(Viewer viewer) { compiler = new Compiler(viewer); @@ -473,7 +474,8 @@ long timeBegin = 0; int ifLevel = 0; ifs[0] = true; - logMessages = (!isSyntaxCheck && Logger.isActiveLevel(Logger.LEVEL_DEBUG)); + debugScript = (!isSyntaxCheck && viewer.getDebugScript()); + logMessages = (debugScript && Logger.isActiveLevel(Logger.LEVEL_DEBUG)); if (logMessages) { timeBegin = System.currentTimeMillis(); viewer.scriptStatus("Eval.instructionDispatchLoop():" + timeBegin); @@ -498,9 +500,10 @@ delay((long) nSecDelay * 1000); Logger.info(getCommand()); } - if (logMessages || viewer.getDebugScript()) + if (debugScript) logDebugScript(); - Logger.debug(token.toString()); + if (logMessages) + Logger.debug(token.toString()); if (ifLevel > 0 && !ifs[ifLevel] && token.tok != Token.endifcmd && token.tok != Token.ifcmd && token.tok != Token.elsecmd) continue; @@ -851,9 +854,11 @@ void logDebugScript() { strbufLog.setLength(0); - Logger.debug(statement[0].toString()); - for (int i = 1; i < statementLength; ++i) - Logger.debug(statement[i].toString()); + if (logMessages) { + Logger.debug(statement[0].toString()); + for (int i = 1; i < statementLength; ++i) + Logger.debug(statement[i].toString()); + } strbufLog.append(statement[0].value.toString()); for (int i = 1; i < statementLength; ++i) { strbufLog.append(' '); @@ -918,6 +923,8 @@ strbufLog.append("\"" + token.value + "\""); continue; default: + if (!logMessages) + break; strbufLog.append(token.toString()); continue; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-01-05 03:49:03
|
Revision: 6581 http://svn.sourceforge.net/jmol/?rev=6581&view=rev Author: hansonr Date: 2007-01-04 19:49:00 -0800 (Thu, 04 Jan 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-01-04 21:49:39 UTC (rev 6580) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-01-05 03:49:00 UTC (rev 6581) @@ -5150,7 +5150,7 @@ if (statementLength > 1) { String saveName = optParameterAsString(2); if (getToken(1).tok != Token.orientation) - checkLength3(); + checkLength23(); switch (getToken(1).tok) { case Token.orientation: float timeSeconds = (statementLength > 3 ? floatParameter(3) : 0); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-10 11:34:24
|
Revision: 6758 http://svn.sourceforge.net/jmol/?rev=6758&view=rev Author: hansonr Date: 2007-02-10 03:34:21 -0800 (Sat, 10 Feb 2007) Log Message: ----------- 11.1.10 final tweak Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-10 11:26:01 UTC (rev 6757) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-10 11:34:21 UTC (rev 6758) @@ -3619,7 +3619,7 @@ isSpin); return; } - if (nPoints < 2) { + if (nPoints < 2 && !isSyntaxCheck) { // rotate MOLECULAR // rotate MOLECULAR (atom1) // rotate MOLECULAR x 10 (atom1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-12 13:51:04
|
Revision: 6790 http://svn.sourceforge.net/jmol/?rev=6790&view=rev Author: hansonr Date: 2007-02-12 05:50:56 -0800 (Mon, 12 Feb 2007) Log Message: ----------- 11.1.12 helpful message Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-12 13:42:11 UTC (rev 6789) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-12 13:50:56 UTC (rev 6790) @@ -841,6 +841,7 @@ break; case Token.pause: //resume is done differently pauseExecution(); + viewer.scriptStatus("script execution paused -- type RESUME to continue."); break; default: if ((token.tok & Token.unimplemented) != 0) { @@ -3093,7 +3094,6 @@ String s = viewer.formatText(text); Logger.warn(s); if (!s.startsWith("_")) - viewer.scriptStatus(s); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-12 16:54:31
|
Revision: 6793 http://svn.sourceforge.net/jmol/?rev=6793&view=rev Author: hansonr Date: 2007-02-12 08:54:29 -0800 (Mon, 12 Feb 2007) Log Message: ----------- 11.1.12 better error handling during pause Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-12 16:06:19 UTC (rev 6792) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-12 16:54:29 UTC (rev 6793) @@ -491,11 +491,22 @@ String script = viewer.getInterruptScript(); if (script != "") { resumePausedExecution(); - runScript(script); + error = false; + pc--; // in case there is an error, we point to the PAUSE command + try { + runScript(script); + } catch (Exception e) { + error = true; + errorMessage = e.toString(); + } + pc++; + if (error) + viewer.scriptStatus(errorMessage); pauseExecution(); } } } catch (Exception e) { + } Logger.debug("script execution resumed"); } @@ -526,6 +537,8 @@ if (lineEnd == 0) lineEnd = Integer.MAX_VALUE; for (; pc < aatoken.length && pc < pcEnd; pc++) { + if (!checkContinue()) + break; Token token = aatoken[pc][0]; statement = aatoken[pc]; if (linenumbers[pc] > lineEnd) @@ -533,8 +546,6 @@ thisCommand = getCommand(); statementLength = statement.length; iToken = 0; - if (!checkContinue()) - break; String script = viewer.getInterruptScript(); if (script != "") runScript(script); @@ -5121,6 +5132,8 @@ switch (statementLength) { case 2: setBooleanProperty(key, true); + if (!isSyntaxCheck) + showString(key + " = " + viewer.getParameterEscaped(key)); return; case 3: switch (statement[2].tok) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-17 23:33:36
|
Revision: 6857 http://svn.sourceforge.net/jmol/?rev=6857&view=rev Author: hansonr Date: 2007-02-17 15:33:34 -0800 (Sat, 17 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-17 23:25:43 UTC (rev 6856) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-17 23:33:34 UTC (rev 6857) @@ -5013,7 +5013,7 @@ * ============================================================== */ -void set() throws ScriptException { + void set() throws ScriptException { if (statementLength == 1) { showString(viewer.getAllSettings()); return; @@ -5198,22 +5198,23 @@ if (setParameter(key)) { if (isSyntaxCheck) return; - } else { - Object v = parameterExpression((getToken(2).tok == Token.opEQ ? 3 : 2), false); + } else { + Object v = parameterExpression((getToken(2).tok == Token.opEQ ? 3 : 2), + false); if (isSyntaxCheck) return; if (v instanceof Boolean) { - setBooleanProperty(key, ((Boolean)v).booleanValue()); + setBooleanProperty(key, ((Boolean) v).booleanValue()); } else if (v instanceof Integer) { - setIntProperty(key, ((Integer)v).intValue()); + setIntProperty(key, ((Integer) v).intValue()); } else if (v instanceof Float) { - setFloatProperty(key, ((Float)v).floatValue()); + setFloatProperty(key, ((Float) v).floatValue()); } else if (v instanceof String) { - setStringProperty(key, (String)v); + setStringProperty(key, (String) v); } else if (v instanceof Point3f) { - drawPoint(key, (Point3f)v, false); - showString("draw " + key + " " + StateManager.escape((Point3f)v) - + "; draw off"); + drawPoint(key, (Point3f) v, false); + showString("draw " + key + " " + StateManager.escape((Point3f) v) + + " off;"); return; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-21 02:39:55
|
Revision: 6886 http://svn.sourceforge.net/jmol/?rev=6886&view=rev Author: hansonr Date: 2007-02-20 18:39:54 -0800 (Tue, 20 Feb 2007) Log Message: ----------- better coding Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 01:57:45 UTC (rev 6885) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 02:39:54 UTC (rev 6886) @@ -7994,7 +7994,8 @@ } /// Reverse Polish Notation Engine for IF, SET, and %{...} -- Bob Hanson 2/16/2007 - /// Just a simple RPN processor that can handle boolean, int, float, String, and Point3f + /// Just a simple RPN processor that can handle + /// boolean, int, float, String, Point3f, and BitSet class Rpn { @@ -8045,60 +8046,47 @@ } boolean addOp(Token op) throws ScriptException { + + // was an operand entered last? + switch (op.tok) { case Token.opNot: case Token.leftparen: if (wasX) return false; break; - case Token.rightparen: - if (parenCount == 0 || !wasX) - return false; - if (oPt >= 0 && oStack[oPt].tok == Token.leftparen) { - oPt--; - return wasX = true; - } - break; - case Token.rightsquare: - if (squareCount == 0 || !wasX) - return false; - if (oPt >= 0 && oStack[oPt].tok == Token.leftsquare) { - oPt--; - doBitsetSelect(); - return wasX = true; - } - break; default: if (!wasX) return false; break; } + //do we need to operate? + while (oPt >= 0 && op.tok != Token.leftparen && op.tok != Token.leftsquare && op.tok != Token.opNot && Token.prec(oStack[oPt]) >= Token.prec(op)) { - if (op.tok == Token.rightparen) { - if (parenCount == 0) + + // ) and ] must wait until matching ( or [ is found + + if (op.tok == Token.rightparen && oStack[oPt].tok == Token.leftparen + || op.tok == Token.rightsquare + && oStack[oPt].tok == Token.leftsquare) { + if (op.tok == Token.rightsquare && !doBitsetSelect()) return false; - if (oStack[oPt].tok == Token.leftparen) { - parenCount--; - oPt--; - break; - } - } else if (op.tok == Token.rightsquare) { - if (oStack[oPt].tok == Token.leftsquare) { - if (squareCount == 0) - return false; - squareCount--; - oPt--; - return doBitsetSelect(); - } - } + break; + } + + // if not, it's time to operate + if (!operate(op.tok)) return false; - + } + // fix up counts and operand flag + // right ) and ] are not added to the stack + switch (op.tok) { case Token.leftparen: parenCount++; @@ -8107,17 +8095,22 @@ squareCount++; break; case Token.rightparen: + wasX = true; + oPt--; + return (parenCount-- > 0); case Token.rightsquare: wasX = true; - break; + oPt--; + return (squareCount-- > 0); case Token.propselector: wasX = (op.intValue != Token.distance && op.intValue != Token.label); break; default: wasX = false; } - if (op.tok == Token.rightparen || op.tok == Token.rightsquare) - return true; + + //add the operator if possible + if (++oPt == maxLevel) stackOverflow(); oStack[oPt] = op; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-21 17:30:15
|
Revision: 6888 http://svn.sourceforge.net/jmol/?rev=6888&view=rev Author: hansonr Date: 2007-02-21 09:14:44 -0800 (Wed, 21 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 17:14:14 UTC (rev 6887) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 17:14:44 UTC (rev 6888) @@ -8119,7 +8119,7 @@ boolean addOp(Token op) throws ScriptException { - dumpStacks(); + //dumpStacks(); // Do we have the appropriate context for this operator? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-21 21:44:15
|
Revision: 6900 http://svn.sourceforge.net/jmol/?rev=6900&view=rev Author: hansonr Date: 2007-02-21 13:44:12 -0800 (Wed, 21 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 21:43:45 UTC (rev 6899) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-21 21:44:12 UTC (rev 6900) @@ -4982,7 +4982,7 @@ } BitSet bitSetForModelNumberSet(int[] frameList, int nFrames) { -1 BitSet bs = new BitSet(); + BitSet bs = new BitSet(); if (isSyntaxCheck) return bs; int modelCount = viewer.getModelCount(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-23 19:51:20
|
Revision: 6920 http://svn.sourceforge.net/jmol/?rev=6920&view=rev Author: hansonr Date: 2007-02-23 11:51:15 -0800 (Fri, 23 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-23 19:50:43 UTC (rev 6919) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-23 19:51:15 UTC (rev 6920) @@ -3565,8 +3565,10 @@ void reset() throws ScriptException { if (isSyntaxCheck) return; - if (statementLength == 1) + if (statementLength == 1) { viewer.reset(); + return; + } String var = parameterAsString(1); if (var.charAt(0) == '_') invalidArgument(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-25 23:01:10
|
Revision: 6933 http://svn.sourceforge.net/jmol/?rev=6933&view=rev Author: hansonr Date: 2007-02-25 15:01:09 -0800 (Sun, 25 Feb 2007) Log Message: ----------- Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-25 22:40:41 UTC (rev 6932) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-25 23:01:09 UTC (rev 6933) @@ -8508,18 +8508,18 @@ } boolean evaluateDistance(Token[] args) throws ScriptException { - Token x2 = getX(); + Token x1 = getX(); if (args.length != 1) return false; + Token x2 = args[0]; Point3f pt = ptValue(x2); Point4f plane = planeValue(x2); - Token x1 = args[0]; if (x1.tok == Token.bitset) return addX(getBitsetAverage(Token.bsSelect(x1), Token.distance, pt, plane, (x1.intValue >= 0), null)); else if (x1.tok == Token.xyz) - return addX(plane == null ? pt.distance((Point3f) x1.value) - : Graphics3D.distanceToPlane(plane, (Point3f) x1.value)); + return addX(plane == null ? pt.distance(ptValue(x1)) + : Graphics3D.distanceToPlane(plane, ptValue(x1))); return false; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-26 03:17:46
|
Revision: 6935 http://svn.sourceforge.net/jmol/?rev=6935&view=rev Author: hansonr Date: 2007-02-25 19:17:44 -0800 (Sun, 25 Feb 2007) Log Message: ----------- 11.1.15 operation order fix Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-26 01:38:15 UTC (rev 6934) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-26 03:17:44 UTC (rev 6935) @@ -5533,6 +5533,7 @@ Token getBitsetPropertySelector(int i) throws ScriptException { int tok = getToken(++i).tok; + String s = parameterAsString(i).toLowerCase(); switch (tok) { case Token.bonds: case Token.atom: @@ -5544,7 +5545,6 @@ case Token.list: break; case Token.identifier: - String s = parameterAsString(i).toLowerCase(); if (s.equals("x")) tok = Token.atomX; else if (s.equals("y")) @@ -5568,7 +5568,7 @@ if (!Compiler.tokAttr(tok, Token.atomproperty)) invalidArgument(); } - return new Token(Token.propselector, tok); + return new Token(Token.propselector, tok, s); } Object getBitsetAverage(BitSet bs, int tok, Point3f ptRef, Point4f planeRef, boolean isAtoms, @@ -8281,7 +8281,7 @@ Logger.info("\naddOp: " + op); dumpStacks(); } - + Token newOp = null; boolean isLeftOp = false; boolean isDotSelector = (op.tok == Token.propselector); boolean isMathFunc = (Compiler.tokAttr(op.tok, Token.mathfunc) || isDotSelector @@ -8292,10 +8292,8 @@ switch (op.tok) { case Token.leftsquare: // two contexts: [x x].distance or {....}[n] isLeftOp = !wasX; - if (isLeftOp) { - op = new Token(Token.leftsquare, 0); - addX(op); - } + if (isLeftOp) + op = newOp = new Token(Token.leftsquare, 0); break; case Token.hyphen: if (wasX) @@ -8310,7 +8308,7 @@ if (isMathFunc) { if (!isDotSelector && wasX) return false; - addX(op); + newOp = op; isLeftOp = true; wasX = false; } @@ -8324,13 +8322,14 @@ //do we need to operate? while (oPt >= 0 - && (!isLeftOp && op.tok != Token.leftsquare || op.tok == Token.leftsquare + && (!(isLeftOp || op.tok == Token.leftsquare) || + (op.tok == Token.propselector || op.tok == Token.leftsquare) && oStack[oPt].tok == Token.propselector) && Token.prec(oStack[oPt]) >= Token.prec(op)) { if (logMessages) { dumpStacks(); - Logger.info("operating, oPt=" + oPt + " isLeftOp=" + isLeftOp + Logger.info("\noperating, oPt=" + oPt + " isLeftOp=" + isLeftOp + " oStack[oPt]=" + Token.nameOf(oStack[oPt].tok) + "/" + Token.prec(oStack[oPt]) + " op=" + Token.nameOf(op.tok) + "/" + Token.prec(op)); @@ -8358,6 +8357,11 @@ } + // now add a marker on the xStack if necessary + + if (newOp != null) + addX(newOp); + // fix up counts and operand flag // right ) and ] are not added to the stack @@ -8523,21 +8527,40 @@ return false; } + boolean evaluateMeasure(Token[] args, boolean isAngle) throws ScriptException { + int nPoints = args.length; + if (nPoints < (isAngle ? 3 : 2) || nPoints > (isAngle ? 4 : 2)) + return false; + Point3f[] pts = new Point3f[nPoints]; + for (int i = 0; i < nPoints; i++) + pts[i] = ptValue(args[i]); + switch (nPoints) { + case 2: + return addX(pts[0].distance(pts[1])); + case 3: + return addX(Measurement.computeAngle(pts[0], pts[1], pts[2], true)); + case 4: + return addX(Measurement.computeTorsion(pts[0], pts[1], pts[2], pts[3], true)); + } + return false; + } + boolean evaluateFind(Token[] args) throws ScriptException { - Token x2 = getX(); + Token x1 = getX(); if (args.length != 1) return false; - Token x1 = args[0]; + Token x2 = args[0]; if (x1.tok == Token.string && x2.tok == Token.string) return addX(Token.sValue(x1).indexOf(Token.sValue(x2)) + 1); return false; } boolean evaluateLabel(Token[] args) throws ScriptException { - Token x2 = getX(); + System.out.println("eval label"); + Token x1 = getX(); if (args.length != 1) return false; - Token x1 = args[0]; + Token x2 = args[0]; if (x1.tok != Token.bitset || x2.tok != Token.string) return false; return addX(getBitsetIdent(Token.bsSelect(x1), Token.sValue(x2), @@ -8548,6 +8571,7 @@ // within ( distance, expression) // within ( group, etc., expression) // within ( plane or hkl or coord atomcenter atomcenter atomcenter ) + System.out.println("eval within"); if (args.length < 1) return false; Object withinSpec = args[0].value; @@ -8666,38 +8690,22 @@ } boolean evaluateSubstructure(Token[] args) throws ScriptException { + System.out.println("eval subs"); if (isSyntaxCheck) return true; if (args.length != 1) return false; String smiles = Token.sValue(args[0]); PatternMatcher matcher = new PatternMatcher(viewer); + BitSet bs = new BitSet(); try { - return addX(matcher.getSubstructureSet(smiles)); + bs = matcher.getSubstructureSet(smiles); } catch (InvalidSmilesException e) { evalError(e.getMessage()); } - return false; + return addX(bs); } - boolean evaluateMeasure(Token[] args, boolean isAngle) throws ScriptException { - int nPoints = args.length; - if (nPoints < (isAngle ? 3 : 2) || nPoints > (isAngle ? 4 : 2)) - return false; - Point3f[] pts = new Point3f[nPoints]; - for (int i = 0; i < nPoints; i++) - pts[i] = ptValue(args[i]); - switch (nPoints) { - case 2: - return addX(pts[0].distance(pts[1])); - case 3: - return addX(Measurement.computeAngle(pts[0], pts[1], pts[2], true)); - case 4: - return addX(Measurement.computeTorsion(pts[0], pts[1], pts[2], pts[3], true)); - } - return false; - } - boolean operate(int thisOp) throws ScriptException { Token op = oStack[oPt--]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-26 03:27:13
|
Revision: 6937 http://svn.sourceforge.net/jmol/?rev=6937&view=rev Author: hansonr Date: 2007-02-25 19:27:12 -0800 (Sun, 25 Feb 2007) Log Message: ----------- 11.1.15 bug fix Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-26 03:18:10 UTC (rev 6936) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-26 03:27:12 UTC (rev 6937) @@ -8515,6 +8515,8 @@ Token x1 = getX(); if (args.length != 1) return false; + if (isSyntaxCheck) + return addX(1f); Token x2 = args[0]; Point3f pt = ptValue(x2); Point4f plane = planeValue(x2); @@ -8531,6 +8533,9 @@ int nPoints = args.length; if (nPoints < (isAngle ? 3 : 2) || nPoints > (isAngle ? 4 : 2)) return false; + if (isSyntaxCheck) + return addX(1f); + Point3f[] pts = new Point3f[nPoints]; for (int i = 0; i < nPoints; i++) pts[i] = ptValue(args[i]); @@ -8549,6 +8554,8 @@ Token x1 = getX(); if (args.length != 1) return false; + if (isSyntaxCheck) + return addX((int)1); Token x2 = args[0]; if (x1.tok == Token.string && x2.tok == Token.string) return addX(Token.sValue(x1).indexOf(Token.sValue(x2)) + 1); @@ -8556,10 +8563,12 @@ } boolean evaluateLabel(Token[] args) throws ScriptException { - System.out.println("eval label"); + //System.out.println("eval label"); Token x1 = getX(); if (args.length != 1) return false; + if (isSyntaxCheck) + return addX(""); Token x2 = args[0]; if (x1.tok != Token.bitset || x2.tok != Token.string) return false; @@ -8571,11 +8580,12 @@ // within ( distance, expression) // within ( group, etc., expression) // within ( plane or hkl or coord atomcenter atomcenter atomcenter ) - System.out.println("eval within"); + //System.out.println("eval within"); if (args.length < 1) return false; Object withinSpec = args[0].value; String withinStr = "" + withinSpec; + BitSet bs = new BitSet(); float distance = 0; boolean isSequence = false; if (withinSpec instanceof String) @@ -8589,7 +8599,8 @@ if (!isOneOf(withinStr,"plane;hkl;coord")) return false; } - BitSet bs = new BitSet(); + if (isSyntaxCheck) + return addX(bs); Point3f pt = null; Point4f plane = null; int i = args.length - 1; @@ -8679,6 +8690,8 @@ atoms1 = bsAll(); if (atoms2 != null) { BitSet bsBonds = new BitSet(); + if (isSyntaxCheck) + return addX(new Token(Token.bitset, Integer.MIN_VALUE, bsBonds)); viewer.makeConnections(fmin, fmax, order, JmolConstants.CONNECT_IDENTIFY_ONLY, atoms1, atoms2, bsBonds); return addX(new Token(Token.bitset, Integer.MIN_VALUE, bsBonds, @@ -8690,14 +8703,14 @@ } boolean evaluateSubstructure(Token[] args) throws ScriptException { - System.out.println("eval subs"); - if (isSyntaxCheck) - return true; + //System.out.println("eval subs"); if (args.length != 1) return false; + BitSet bs = new BitSet(); + if (isSyntaxCheck) + return addX(bs); String smiles = Token.sValue(args[0]); PatternMatcher matcher = new PatternMatcher(viewer); - BitSet bs = new BitSet(); try { bs = matcher.getSubstructureSet(smiles); } catch (InvalidSmilesException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-02-27 18:56:31
|
Revision: 6972 http://svn.sourceforge.net/jmol/?rev=6972&view=rev Author: hansonr Date: 2007-02-27 10:56:24 -0800 (Tue, 27 Feb 2007) Log Message: ----------- 11.1.15 int + float = float; int - float = float Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-27 18:53:44 UTC (rev 6971) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-27 18:56:24 UTC (rev 6972) @@ -8886,7 +8886,7 @@ return addX(Token.concatList(x1, x2, false, true)); return addX(Token.sValue(x1) + Token.sValue(x2)); } - if (x1.tok == Token.integer) + if (x1.tok == Token.integer && x2.tok != Token.decimal) return addX(x1.intValue + Token.iValue(x2)); if (x1.tok == Token.point3f) { Point3f pt = new Point3f((Point3f) x1.value); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ni...@us...> - 2007-02-27 21:41:15
|
Revision: 6983 http://svn.sourceforge.net/jmol/?rev=6983&view=rev Author: nicove Date: 2007-02-27 13:41:02 -0800 (Tue, 27 Feb 2007) Log Message: ----------- Warnings Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-27 21:30:47 UTC (rev 6982) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-02-27 21:41:02 UTC (rev 6983) @@ -25,7 +25,6 @@ import org.jmol.g3d.Graphics3D; import org.jmol.g3d.Font3D; -import org.jmol.smiles.InvalidSmilesException; import org.jmol.util.CommandHistory; import org.jmol.util.Logger; import org.jmol.util.TextFormat; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-03-02 20:41:22
|
Revision: 7018 http://svn.sourceforge.net/jmol/?rev=7018&view=rev Author: hansonr Date: 2007-03-02 12:41:14 -0800 (Fri, 02 Mar 2007) Log Message: ----------- 11.1.17 removes trailing \n in ident Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-02 20:14:05 UTC (rev 7017) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-02 20:41:14 UTC (rev 7018) @@ -5687,8 +5687,9 @@ str = frame.getBondAt(j).formatLabel(str, indices); } str = TextFormat.formatString(str, "#", ++n); + if (n > 1) + s.append("\n"); s.append(str); - s.append("\n"); } return s.toString(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-03-05 05:41:56
|
Revision: 7028 http://svn.sourceforge.net/jmol/?rev=7028&view=rev Author: hansonr Date: 2007-03-04 21:41:46 -0800 (Sun, 04 Mar 2007) Log Message: ----------- 11.1.17 fix for "x = frank" not working Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-04 23:10:26 UTC (rev 7027) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-05 05:41:46 UTC (rev 7028) @@ -5569,16 +5569,6 @@ rpn.addX(new Token(Token.point3f, centerParameter(i))); i = iToken; break; - case Token.identifier: - String name = parameterAsString(i); - if (isSyntaxCheck) { - v = name; - } else { - v = viewer.getParameter(name); - if (v instanceof String) - v = getStringObjectAsToken((String) v); - } - break; case Token.leftbrace: v = getPointOrPlane(i, false, true, true, false, 3, 4); i = iToken; @@ -5603,12 +5593,23 @@ i = iToken; break; default: - if (!Compiler.tokAttr(theTok, Token.mathop) - && !Compiler.tokAttr(theTok, Token.mathfunc)) - invalidArgument(); - if (!rpn.addOp(theToken)) { - iToken--; - invalidArgument(); + if (Compiler.tokAttr(theTok, Token.mathop) + || Compiler.tokAttr(theTok, Token.mathfunc)) { + if (!rpn.addOp(theToken)) { + iToken--; + invalidArgument(); + } + } else { + String name = parameterAsString(i); + if (isSyntaxCheck) { + v = name; + } else { + v = viewer.getParameter(name); + if (v instanceof String) + v = getStringObjectAsToken((String) v); + } + break; + } } if (v != null) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-03-07 18:21:05
|
Revision: 7045 http://svn.sourceforge.net/jmol/?rev=7045&view=rev Author: hansonr Date: 2007-03-07 10:21:00 -0800 (Wed, 07 Mar 2007) Log Message: ----------- 11.1.18 missing "break" causes x.bonds.length to be 50% off Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-07 16:37:50 UTC (rev 7044) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-07 18:21:00 UTC (rev 7045) @@ -6008,6 +6008,7 @@ fvMin = Math.min(fvMin, fv); fvMax = Math.max(fvMax, fv); fvAvg += fv; + break; case Token.xyz: pt.add(bond.atom1); pt.add(bond.atom2); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-03-31 18:54:13
|
Revision: 7290 http://svn.sourceforge.net/jmol/?rev=7290&view=rev Author: hansonr Date: 2007-03-31 11:54:11 -0700 (Sat, 31 Mar 2007) Log Message: ----------- 11.1.28 bug fix for mo command in .c3xml files Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-31 18:31:13 UTC (rev 7289) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-03-31 18:54:11 UTC (rev 7290) @@ -7845,15 +7845,16 @@ if (moNumber != Integer.MAX_VALUE) { if (tokAt(2) == Token.string) title = parameterAsString(2); - setMoData(JmolConstants.SHAPE_MO, moNumber, title); + setMoData(JmolConstants.SHAPE_MO, moNumber, modelIndex, title); } return true; } - void setMoData(int shape, int moNumber, String title) throws ScriptException { + void setMoData(int shape, int moNumber, int modelIndex, String title) throws ScriptException { if (isSyntaxCheck) return; - int modelIndex = viewer.getDisplayModelIndex(); + if (modelIndex == 0) + modelIndex = viewer.getDisplayModelIndex(); if (modelIndex < 0) multipleModelsNotOK(); Hashtable moData = (Hashtable) viewer.getModelAuxiliaryInfo(modelIndex, @@ -7862,10 +7863,10 @@ modelIndex, "jmolSurfaceInfo"); if (surfaceInfo != null && ((String) surfaceInfo.get("surfaceDataType")).equals("mo")) { - viewer.loadShape(JmolConstants.SHAPE_ISOSURFACE); - setShapeProperty(JmolConstants.SHAPE_ISOSURFACE, "init", null); - setShapeProperty(JmolConstants.SHAPE_ISOSURFACE, "sign", Boolean.TRUE); - setShapeProperty(JmolConstants.SHAPE_ISOSURFACE, "getSurface", + viewer.loadShape(shape); + setShapeProperty(shape, "init", new Integer(modelIndex)); + setShapeProperty(shape, "sign", Boolean.TRUE); + setShapeProperty(shape, "getSurface", surfaceInfo); return; @@ -8297,7 +8298,7 @@ if (++i == statementLength) badArgumentCount(); int moNumber = intParameter(i); - setMoData(iShape, moNumber, null); + setMoData(iShape, moNumber, modelIndex, null); surfaceObjectSeen = true; continue; case Token.mep: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-05-13 12:34:43
|
Revision: 7680 http://svn.sourceforge.net/jmol/?rev=7680&view=rev Author: hansonr Date: 2007-05-13 05:34:37 -0700 (Sun, 13 May 2007) Log Message: ----------- 11.1.38 better handling of lcaoCartoon SELECT to make it more consistent with other isosurface commands Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-05-13 12:27:42 UTC (rev 7679) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-05-13 12:34:37 UTC (rev 7680) @@ -7934,8 +7934,14 @@ propertyName = (optParameterAsString(++i).equalsIgnoreCase("molecular") ? "molecular" : "create"); break; case Token.select: - propertyName = "selectType"; - propertyValue = parameterAsString(++i); + if (tokAt(i + 1) == Token.bitset || tokAt(i + 1) == Token.expressionBegin) { + propertyName = "select"; + propertyValue = expression(i + 1); + i = iToken; + } else { + propertyName = "selectType"; + propertyValue = parameterAsString(++i); + } break; case Token.identifier: String str = parameterAsString(i); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2007-05-14 02:52:17
|
Revision: 7689 http://svn.sourceforge.net/jmol/?rev=7689&view=rev Author: hansonr Date: 2007-05-13 19:52:15 -0700 (Sun, 13 May 2007) Log Message: ----------- 11.1.39 bug fix in frame range 1.0 when file 1 has only one model. Modified Paths: -------------- trunk/Jmol/src/org/jmol/viewer/Eval.java Modified: trunk/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-05-14 02:44:50 UTC (rev 7688) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2007-05-14 02:52:15 UTC (rev 7689) @@ -5439,7 +5439,7 @@ nFrames = 2; else if (!isHyphen && modelIndex2 != modelIndex) isHyphen = true; - isRange = (isRange || !isHyphen && modelIndex2 != modelIndex); + isRange = isRange || modelIndex == modelIndex2;//(isRange || !isHyphen && modelIndex2 != modelIndex); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |