From: <ha...@us...> - 2008-07-21 13:51:44
|
Revision: 9621 http://jmol.svn.sourceforge.net/jmol/?rev=9621&view=rev Author: hansonr Date: 2008-07-21 13:51:38 +0000 (Mon, 21 Jul 2008) 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 2008-07-21 13:29:55 UTC (rev 9620) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-07-21 13:51:38 UTC (rev 9621) @@ -2086,8 +2086,10 @@ */ private void checkLength(int length) throws ScriptException { - if (length >= 0) + if (length >= 0) { checkLength(length, 0); + return; + } //max if (statementLength <= -length) return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-08-30 19:17:21
|
Revision: 9819 http://jmol.svn.sourceforge.net/jmol/?rev=9819&view=rev Author: hansonr Date: 2008-08-30 19:17:17 +0000 (Sat, 30 Aug 2008) Log Message: ----------- 11.6.RC12 (more) new features: set atomPicking/set bondPicking 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 2008-08-30 19:04:33 UTC (rev 9818) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-08-30 19:17:17 UTC (rev 9819) @@ -12150,7 +12150,7 @@ int pt = 0; String propertyName = (args.length > pt ? Token.sValue(args[pt++]) .toLowerCase() : ""); - if (args.length == 1 && propertyName.indexOf(".") >= 0) { + if (args.length == 1 && propertyName.indexOf(".") >= 0 || propertyName.indexOf("[") >= 0) { propertyName = propertyName.replace(']', ' ').replace('[', ' ') .replace('.', ' '); propertyName = TextFormat.simpleReplace(propertyName, " ", " "); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-11-01 22:10:40
|
Revision: 10197 http://jmol.svn.sourceforge.net/jmol/?rev=10197&view=rev Author: hansonr Date: 2008-11-01 22:10:35 +0000 (Sat, 01 Nov 2008) Log Message: ----------- version=11.7.7_dev # new feature: settable atom elements # {atomno=3}.element = 6 # set atom 3 to carbon # note -- this will reset the atom color to its standard CPK value. 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 2008-11-01 21:57:20 UTC (rev 10196) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-11-01 22:10:35 UTC (rev 10197) @@ -8212,6 +8212,8 @@ for (int i = nValues; --i >= 0;) fvalues[i] = Parser.parseFloat(list[i]); } + if (tok == Token.element) + clearDefinedVariableAtomSets(); viewer.setAtomProperty(bs, tok, iValue, fValue, fvalues); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-11-01 22:14:21
|
Revision: 10199 http://jmol.svn.sourceforge.net/jmol/?rev=10199&view=rev Author: hansonr Date: 2008-11-01 22:14:18 +0000 (Sat, 01 Nov 2008) Log Message: ----------- version=11.7.7_dev # code: faster loading -- no "pre" definition of atom sets 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 2008-11-01 22:13:52 UTC (rev 10198) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-11-01 22:14:18 UTC (rev 10199) @@ -148,7 +148,6 @@ Eval(Viewer viewer) { this.viewer = viewer; compiler = viewer.getCompiler(); - //System.out.println("new eval: " + this.hashCode()); definedAtomSets = viewer.getDefinedAtomSets(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-11-02 03:55:27
|
Revision: 10202 http://jmol.svn.sourceforge.net/jmol/?rev=10202&view=rev Author: hansonr Date: 2008-11-02 03:55:17 +0000 (Sun, 02 Nov 2008) Log Message: ----------- # new feature: Jmol math simple array definitions using brackets: x = [3,4,5,6] 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 2008-11-01 22:21:53 UTC (rev 10201) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-11-02 03:55:17 UTC (rev 10202) @@ -11980,6 +11980,10 @@ return true; case Token.leftsquare: // {....}[n][m] isLeftOp = true; + if (!wasX) { + squareCount++; + op = newOp = Token.tokenArray; + } break; case Token.minus: if (wasX) @@ -12031,13 +12035,6 @@ xStack[xPt] = Token.selectItem(xStack[xPt]); break; } - if (op.tok == Token.comma && oStack[oPt].tok == Token.leftsquare) { - // [x,y,z] - oStack[oPt] = Token.tokenArray; - newOp = xStack[xPt]; - xStack[xPt] = Token.tokenArray; - break; - } if (op.tok == Token.rightsquare && oStack[oPt].tok == Token.array) { break; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-12-03 17:41:15
|
Revision: 10425 http://jmol.svn.sourceforge.net/jmol/?rev=10425&view=rev Author: hansonr Date: 2008-12-03 17:41:11 +0000 (Wed, 03 Dec 2008) Log Message: ----------- version=11.7.16_dev # new feature: set errorCallback -- cannot be a Jmol script! 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 2008-12-03 17:37:16 UTC (rev 10424) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-12-03 17:41:11 UTC (rev 10425) @@ -275,10 +275,10 @@ this.historyDisabled = historyDisabled; try { try { - instructionDispatchLoop(listCommands); - String script = viewer.getInterruptScript(); - if (script != "") - runScript(script, null); + instructionDispatchLoop(listCommands); + String script = viewer.getInterruptScript(); + if (script != "") + runScript(script, null); } catch (Error er) { viewer.handleError(er, false); setErrorMessage("" + er + " " + viewer.getShapeErrorState()); @@ -287,7 +287,9 @@ } catch (ScriptException e) { setErrorMessage(e.toString()); scriptStatus(errorMessage); - viewer.notifyError("ScriptException", errorMessage); + viewer.notifyError( + (errorMessage.indexOf("java.lang.OutOfMemoryError") >= 0 ? "Error" + : "ScriptException"), errorMessage); } timeEndExecution = System.currentTimeMillis(); fileOpenCheck = tempOpen; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-12-07 06:18:15
|
Revision: 10456 http://jmol.svn.sourceforge.net/jmol/?rev=10456&view=rev Author: hansonr Date: 2008-12-07 06:18:12 +0000 (Sun, 07 Dec 2008) Log Message: ----------- version=11.7.17_dev quaternion fix # new feature: q = quaternion(matrixColumn1, matrixColumn2) # quaternion from first two columns of a 3x3 rotation matrix # bug fix: some quaternions cannot be created from a 3x3, namely: # q = quaternion({1 2 -2}, {2 1 2}) = {0.57735026 0.57735026 0.0 0.57735026} (xyzw format) 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 2008-12-07 06:08:23 UTC (rev 10455) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-12-07 06:18:12 UTC (rev 10456) @@ -291,7 +291,6 @@ } catch (ScriptException e) { setErrorMessage(e.toString()); errorMessageUntranslated = e.getErrorMessageUntranslated(); - System.out.println("eval e, untrans" + e + " "+ errorMessageUntranslated); scriptStatusOrBuffer(errorMessage); viewer.notifyError( (errorMessage.indexOf("java.lang.OutOfMemoryError") >= 0 ? "Error" @@ -12785,6 +12784,7 @@ // quaternion(q0, q1, q2, q3) // quaternion("{x, y, z, w"}) // quaternion(center, X, XY) + // quaternion(mcol1, mcol2) // quaternion(q, "id", center) // draw code // axisangle(vector, theta) // axisangle(x, y, z, theta) @@ -12794,7 +12794,8 @@ case 4: break; case 2: - if (args[0].tok != Token.point3f) + if (args[0].tok != Token.point3f || tok != Token.quaternion + && args[1].tok == Token.point3f) return false; break; case 3: @@ -12818,7 +12819,10 @@ Point4f p4 = null; switch (args.length) { case 2: - q = new Quaternion((Point3f) args[0].value, Token.fValue(args[1])); + if (args[1].tok == Token.point3f) + q = Quaternion.getQuaternionFrame(new Point3f(0,0,0), (Point3f) args[0].value, (Point3f) args[1].value); + else + q = new Quaternion((Point3f) args[0].value, Token.fValue(args[1])); break; case 3: if (args[0].tok == Token.point4f) { @@ -13542,6 +13546,16 @@ return addX(v4); } switch (n) { + // q%0 w + // q%1 x + // q%2 y + // q%3 z + // q%4 normal + // q%-1 vector(1) + // q%-2 theta + // q%-3 Matrix column 0 + // q%-4 Matrix column 1 + // q%-5 Matrix column 2 case 0: return addX(q.w); case 1: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-12-07 06:27:15
|
Revision: 10460 http://jmol.svn.sourceforge.net/jmol/?rev=10460&view=rev Author: hansonr Date: 2008-12-07 06:27:11 +0000 (Sun, 07 Dec 2008) 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 2008-12-07 06:23:23 UTC (rev 10459) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-12-07 06:27:11 UTC (rev 10460) @@ -11407,8 +11407,7 @@ if (ignoreError) throw new NullPointerException(); if (!isSyntaxCheck) { - String s = viewer.removeCommand(); - viewer.addCommand(s + CommandHistory.ERROR_FLAG); + viewer.addCommand(viewer.removeCommand() + CommandHistory.ERROR_FLAG); viewer.setCursor(Viewer.CURSOR_DEFAULT); viewer.setRefreshing(true); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-12-09 17:39:43
|
Revision: 10473 http://jmol.svn.sourceforge.net/jmol/?rev=10473&view=rev Author: hansonr Date: 2008-12-09 17:39:40 +0000 (Tue, 09 Dec 2008) Log Message: ----------- version=11.7.18_dev # new feature: new command "exitJmol" does just that 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 2008-12-09 16:08:04 UTC (rev 10472) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-12-09 17:39:40 UTC (rev 10473) @@ -5243,7 +5243,7 @@ if (compiler.getFunction(name) == null) { if (!isSyntaxCheck && !viewer.isApplet() && name.equalsIgnoreCase("exitjmol")) { - Logger.debug("#exitJmol -- exiting"); + Logger.debug("exitJmol -- exiting"); System.out.flush(); System.exit(0); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-01-22 13:47:33
|
Revision: 10575 http://jmol.svn.sourceforge.net/jmol/?rev=10575&view=rev Author: hansonr Date: 2009-01-22 13:47:28 +0000 (Thu, 22 Jan 2009) Log Message: ----------- version=11.7.22 # new feature: translate x|y|z x.x nm|angstroms|% 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 2009-01-22 13:42:16 UTC (rev 10574) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2009-01-22 13:47:28 UTC (rev 10575) @@ -5549,7 +5549,7 @@ private void translate() throws ScriptException { char type = (optParameterAsString(3).toLowerCase() + '\0').charAt(0); checkLength(type == '\0' ? 3 : 4); - float percent = floatParameter(2, -100, 100); + float percent = floatParameter(2); if (getToken(1).tok == Token.identifier) { char xyz = parameterAsString(1).toLowerCase().charAt(0); switch (xyz) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-02 01:15:13
|
Revision: 10936 http://jmol.svn.sourceforge.net/jmol/?rev=10936&view=rev Author: hansonr Date: 2009-06-02 01:15:03 +0000 (Tue, 02 Jun 2009) 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 2009-06-01 20:19:22 UTC (rev 10935) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2009-06-02 01:15:03 UTC (rev 10936) @@ -8100,9 +8100,9 @@ int iModel = -1; int nOps = 0; count = (isSyntaxCheck ? 0 : viewer.getAtomCount()); - if (isAll) + if (isAll || isString) sb = new StringBuffer(); - int mode = (isPt ? 0 : isInt ? 1 : isFloat ? 2 : 3); + int mode = (isPt ? 0 : isString ? 3 : isInt ? 1 : 2); for (int i = (ptAtom >= 0 ? ptAtom : 0); i < count; i++) if (ptAtom >= 0 || bs == null || bs.get(i)) { n++; @@ -12160,6 +12160,7 @@ this.isAssignment = isAssignment; this.maxLevel = maxLevel; this.asVector = asVector; + wasX = isAssignment; oStack = new Token[maxLevel]; xStack = new Token[maxLevel]; if (logMessages) @@ -13629,7 +13630,11 @@ return addX(((Point3f) x1.value).distance((Point3f) x2.value) >= 0.000001); if (x1.tok == Token.point4f && x2.tok == Token.point4f) return addX(((Point4f) x1.value).distance((Point4f) x2.value) >= 0.000001); - return addX(Math.abs(Token.fValue(x1) - Token.fValue(x2)) >= 0.000001); + { + float f1 = Token.fValue(x1); + float f2 = Token.fValue(x2); + return addX(Float.isNaN(f1) || Float.isNaN(f2) || Math.abs(f1 - f2) >= 0.000001); + } case Token.plus: if (x1.tok == Token.list || x2.tok == Token.list) return addX(Token.concatList(x1, x2)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-03 05:24:31
|
Revision: 10947 http://jmol.svn.sourceforge.net/jmol/?rev=10947&view=rev Author: hansonr Date: 2009-06-03 05:24:30 +0000 (Wed, 03 Jun 2009) Log Message: ----------- version=11.7.40 # bug fix: various tweaks of atom properties business. 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 2009-06-03 04:27:54 UTC (rev 10946) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2009-06-03 05:24:30 UTC (rev 10947) @@ -7525,7 +7525,7 @@ int iF = iToken; if (tokAt(iF++) != Token.semicolon) error(ERROR_invalidArgument); - parameterExpression(-iF, -1, null, false, 1, null, null); + parameterExpression(-iF, -1, null, false, 1, localVars, localVar); int iEnd = iToken; if (tokAt(iEnd) != Token.rightparen) error(ERROR_invalidArgument); @@ -7566,7 +7566,7 @@ // select(dummy;{atom expr};math expr) BitSet bsSelect = new BitSet(); BitSet bsX = new BitSet(); - StringBuffer sb = (isFor ? new StringBuffer() : null); + String[] sout = (isFor ? new String[BitSetUtil.cardinalityOf(bsAtoms)] : null); Token.Token2 t = null; int atomCount = (isSyntaxCheck ? 0 : viewer.getAtomCount()); if (localVars == null) @@ -7577,6 +7577,7 @@ localVars.put(dummy, t = new Token.Token2(Token.bitset, 0, bsX)); if (isFunctionOfX && tokAt(iToken) != Token.rightparen) error(ERROR_invalidArgument); + int p = 0; for (int j = 0; j < atomCount; j++) if (bsAtoms.get(j)) { bsX.clear(); @@ -7587,15 +7588,14 @@ if (isFor) { if (res == null || ((Vector) res).size() == 0) error(ERROR_invalidArgument); - sb.append('\n').append( - Token.sValue((Token) ((Vector) res).elementAt(0))); + sout[p++] = Token.sValue((Token) ((Vector) res).elementAt(0)); } else if (isFunctionOfX) { if (((Boolean) res).booleanValue()) bsSelect.set(j); } } if (isFor) { - v = (sb.length() > 0 ? sb.substring(1) : ""); + v = sout; } else if (isFunctionOfX) { v = bsSelect; } else { @@ -7717,6 +7717,8 @@ rpn.addX(new Token(Token.decimal, v)); } else if (v instanceof String) { rpn.addX(new Token(Token.string, v)); + } else if (v instanceof String[]) { + rpn.addX(new Token(Token.list, v)); } else if (v instanceof Point3f) { rpn.addX(new Token(Token.point3f, v)); } else if (v instanceof Point4f) { @@ -8227,7 +8229,7 @@ } viewer.setShapeProperty(JmolConstants.SHAPE_BALLS, "colorValues", values, bs); - break; + return; } viewer.setShapeProperty(JmolConstants.SHAPE_BALLS, "color", tokenValue.tok == Token.string ? tokenValue.value : new Integer( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-04 02:43:34
|
Revision: 10954 http://jmol.svn.sourceforge.net/jmol/?rev=10954&view=rev Author: hansonr Date: 2009-06-04 02:43:32 +0000 (Thu, 04 Jun 2009) Log Message: ----------- version=11.7.40 # new feature: load "@x" -- inline load of data contained in variable x. 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 2009-06-04 02:26:06 UTC (rev 10953) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2009-06-04 02:43:32 UTC (rev 10954) @@ -4363,13 +4363,6 @@ } if (filename.equals("string[]")) return; - - viewer.openFile(filename, htParams, null, isAppend); - loadScript.append(" "); - if (!filename.equals("string") && !filename.equals("string[]")) - loadScript.append("/*file*/"); - loadScript.append(Escape.escape(modelName = (String) htParams - .get("fullPathName"))); } else if (getToken(i + 1).tok == Token.leftbrace || theTok == Token.point3f || theTok == Token.integer || theTok == Token.identifier && tokAt(i + 3) != Token.coord) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2009-06-10 14:53:08
|
Revision: 10995 http://jmol.svn.sourceforge.net/jmol/?rev=10995&view=rev Author: hansonr Date: 2009-06-10 13:42:03 +0000 (Wed, 10 Jun 2009) Log Message: ----------- one more fix for 11.7.41 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 2009-06-10 13:17:52 UTC (rev 10994) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2009-06-10 13:42:03 UTC (rev 10995) @@ -3914,11 +3914,18 @@ if (!isSyntaxCheck) { data = getBitsetProperty(null, getToken(index++).tok | Token.minmaxmask, null, null, null, null, false, Integer.MAX_VALUE); - if (!(data instanceof float[])) - error(ERROR_invalidArgument); } } } + if (data != null && !(data instanceof float[])) { + if (data instanceof String[]) { + float[] fdata = new float[((String[])data).length]; + Parser.parseFloatArray((String[])data, null, fdata); + data = fdata; + } else { + error(ERROR_invalidArgument); + } + } } else if (pid == JmolConstants.PALETTE_VARIABLE) { index++; name = parameterAsString(index++); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |