From: <ha...@us...> - 2008-03-25 23:42:43
|
Revision: 9202 http://jmol.svn.sourceforge.net/jmol/?rev=9202&view=rev Author: hansonr Date: 2008-03-25 16:42:40 -0700 (Tue, 25 Mar 2008) Log Message: ----------- version=11.5.21_dev # new feature: minimize command with thread # # minimizationSteps = 10 # for now # minimizationRefresh = false # for now # set loglevel 5 # for a minimal report # set loglevel 6 # for a detailed report # select * # minimize # minimize stop # minimize cancel # 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-03-25 22:36:39 UTC (rev 9201) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-03-25 23:42:40 UTC (rev 9202) @@ -5113,14 +5113,14 @@ String cmd = parameterAsString(i); if (cmd.equalsIgnoreCase("cancel")) { checkLength2(); - if (isSyntaxCheck || (minimizer = viewer.getMinimizer()) != null) + if (isSyntaxCheck || (minimizer = viewer.getMinimizer()) == null) return; minimizer.setProperty("cancel", null); return; } if (cmd.equalsIgnoreCase("stop")) { checkLength2(); - if (isSyntaxCheck || (minimizer = viewer.getMinimizer()) != null) + if (isSyntaxCheck || (minimizer = viewer.getMinimizer()) == null) return; minimizer.setProperty("stop", null); return; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-05-15 04:58:11
|
Revision: 9386 http://jmol.svn.sourceforge.net/jmol/?rev=9386&view=rev Author: hansonr Date: 2008-05-14 21:57:46 -0700 (Wed, 14 May 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-05-15 04:53:51 UTC (rev 9385) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-05-15 04:57:46 UTC (rev 9386) @@ -5741,14 +5741,16 @@ mad = Short.MIN_VALUE; if (tokAt(2) == Token.integer) mad -= intParameter(2); + break; } else if (parameterAsString(1).equalsIgnoreCase("ADPMAX")) { mad = Short.MAX_VALUE; if (tokAt(2) == Token.integer) mad += intParameter(2); + break; } - break; + //fall through default: - error(ERROR_booleanOrNumberExpected); + error(ERROR_invalidArgument); } setShapeSize(shape, mad); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2008-06-13 15:10:38
|
Revision: 9484 http://jmol.svn.sourceforge.net/jmol/?rev=9484&view=rev Author: hansonr Date: 2008-06-13 08:10:28 -0700 (Fri, 13 Jun 2008) Log Message: ----------- 11.5.40 VERSION (c) # new feature: new command: # # selectx {atomExpression} booleanEvaluation # # same as select() function, but simpler to implement # # new feature: full math on individual atom properties using # a new function: # # select(x;{atomexpression};booleanEvaluation) # # for example: # x = select(x;{*};x.distance({atomno=3}) / 3 > x.distance({atomno=2})) # # bug fix: H1 and H3 in DNA are NOT backbone # new feature: quaternion derivative2 (2nd derivative) and quaternion e derivative [experimental] # new feature: draw Vector [x y] or [x y %] {x' y' z'} # new feature: draw [x y] or [x y %] can be incorporated into lines, curves, arrows # bug fix: set picking center should not zoom -- just too annoying # new feature: set echo myecho [x y] and set echo myecho [x y %] # new feature: axes position [x y] and axes position [x y %] # sets the axes to the x y screen position or percent indicated. # bug fix: echos with active script and a model designation # and multiple models select even if not displayed because it is not their model # that is displayed. # bug fix: missing echocallback, scriptcallback, measurecallback "set"able variables # bug fix: "set picking identify" should be equivalent to "set picking ident" # bug fix: popup menu had stereo reversed # # new feature: signed applet shows frank "Jmol-S" which is NOT removable. # possibly to come: signed applet will send confirmation first time it reads a local file? # bug fix: reading .mmol (biological unit) files such as # http://pqs.ebi.ac.uk/pqs-doc/macmol/1j7n_1.mmol # new feature: frank appears RED in signed applet, and popup about menu identifies the applet as signed. # code: better handling of twin script manager threads # new feature: /*SPLIT*/ in a command string allows it to be processed by # the two independent processors. (just to isolate javascript from load commands # for the signed applet # # ----------------------------------------------------------------------------- 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-06-13 15:07:58 UTC (rev 9483) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2008-06-13 15:10:28 UTC (rev 9484) @@ -7259,8 +7259,10 @@ case Token.expressionBegin: v = expression(statement, i, 0, true, true, true, true); i = iToken; - if (nParen == 0 && isOneExpressionOnly) + if (nParen == 0 && isOneExpressionOnly) { + iToken++; return bitsetTokenVector(v); + } break; case Token.expressionEnd: i++; @@ -7300,7 +7302,6 @@ // this is expected -- the right parenthesis break out; } - //iToken--; error(ERROR_invalidArgument); } if (theTok == Token.leftparen) @@ -7316,12 +7317,6 @@ if (isSyntaxCheck) { v = name; } else { - // if (tokAt(i + 1) == Token.leftsquare || tokAt(i + 1) == Token.dot) { - // Object o = getParameter(name, true); - //Object o = getParameter(name+"_set", true); - // if (o instanceof String && ((String) o).indexOf("({") == 0) - // name += "_set"; - // } if (localVars == null || (v = localVars.get(name)) == null) { v = getParameter(name, true); if (v instanceof String) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-12 08:56:20
|
Revision: 4960 Author: hansonr Date: 2006-04-12 01:56:17 -0700 (Wed, 12 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4960&view=rev Log Message: ----------- removes commented-out older version of polyhedra() 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-04-12 08:55:09 UTC (rev 4959) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-12 08:56:17 UTC (rev 4960) @@ -3449,50 +3449,7 @@ } } - /* void polyhedra() throws ScriptException { - viewer.loadShape(JmolConstants.SHAPE_POLYHEDRA); - boolean radiusSeen = false, expressionSeen = false; - for (int i = 1; i < statementLength; ++i) { - String propertyName = null; - Object propertyValue = null; - switch (statement[i].tok) { - case Token.bonds: - case Token.on: - case Token.off: - case Token.delete: - case Token.edges: - case Token.noedges: - case Token.frontedges: - propertyName = (String)statement[i].value; - break; - case Token.decimal: - radiusSeen = true; - propertyName = "radius"; - propertyValue = statement[i].value; - break; - case Token.expressionBegin: - if (! radiusSeen) - evalError("radius expected"); - expressionSeen = true; - propertyName = "expression"; - propertyValue = expression(statement, i); - // hack for now; - i = statement.length; - break; - default: - invalidArgument(); - } - viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, - propertyName, propertyValue); - } - if (radiusSeen && !expressionSeen) - viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, - "expression", null); - } - */ - - void polyhedra() throws ScriptException { /* * needsGenerating: * This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-12 09:43:48
|
Revision: 4961 Author: hansonr Date: 2006-04-12 02:43:33 -0700 (Wed, 12 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4961&view=rev Log Message: ----------- tightening syntax for connect to align with documentation; no new functionality; fully tested. 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-04-12 08:56:17 UTC (rev 4960) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-12 09:43:33 UTC (rev 4961) @@ -3771,6 +3771,15 @@ } void connect() throws ScriptException { + boolean haveType = false; + int nAtomSets = 0; + int nDistances = 0; + /* + * connect [<=2 distance parameters] [<=2 atom sets] + * [<=1 bond type] [<=1 operation] + * + */ + viewer.setShapeProperty(JmolConstants.SHAPE_STICKS, "resetConnectParameters", null); if (statementLength == 1) { @@ -3785,18 +3794,25 @@ switch (statement[i].tok) { case Token.on: case Token.off: + if (statementLength != 2) + badArgumentCount(); viewer.setShapeProperty(JmolConstants.SHAPE_STICKS, "rasmolCompatibleConnect", null); return; case Token.integer: - propertyName = "connectDistance"; - propertyValue = new Float(statement[i].intValue); - break; case Token.decimal: + if (++nDistances > 2) + badArgumentCount(); + if (nAtomSets > 0 || haveType) + invalidParameterOrder(); propertyName = "connectDistance"; - propertyValue = statement[i].value; + propertyValue = new Float(floatParameter(i)); break; case Token.expressionBegin: + if (++nAtomSets > 2) + badArgumentCount(); + if (haveType) + invalidParameterOrder(); propertyName = "connectSet"; propertyValue = expression(statement, i); i = pcLastExpressionInstruction; // the for loop will increment i @@ -3806,12 +3822,17 @@ String cmd = (String)statement[i].value; for (int j = JmolConstants.bondOrderNames.length; --j >= 0; ) { if (cmd.equalsIgnoreCase(JmolConstants.bondOrderNames[j])) { + if (haveType) + incompatibleArguments(); cmd = JmolConstants.bondOrderNames[j]; propertyName = "connectBondOrder"; propertyValue = cmd; + haveType = true; break switch_tag; } } + if (++i != statementLength) + invalidParameterOrder(); if ("modify".equalsIgnoreCase(cmd)) propertyValue = "modify"; else if ("create".equalsIgnoreCase(cmd)) @@ -3826,6 +3847,8 @@ break; case Token.none: case Token.delete: + if (++i != statementLength) + invalidParameterOrder(); propertyName = "connectOperation"; propertyValue = "delete"; break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-12 20:10:25
|
Revision: 4963 Author: hansonr Date: 2006-04-12 13:09:52 -0700 (Wed, 12 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4963&view=rev Log Message: ----------- call it a simple bug fix or change for feature consistency, but this little fix allows "translucent" and "opaque" to be used without "atom" just like all other color-related parameters. I can't think of any reason why one would HAVE to have "atoms" in color atoms translucent yellow but not color atoms yellow This fix allows all: select (oxygen) color yellow color translucent color translucent yellow Again, this has to do with simplicity of documentation and (in this case) a specific user's (rightful) confusion. Bob (If later we want to remove this, we could; not a big deal.) 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-04-12 16:41:46 UTC (rev 4962) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-12 20:09:52 UTC (rev 4963) @@ -1556,6 +1556,8 @@ case Token.partialCharge: case Token.user: case Token.monomer: + case Token.translucent: + case Token.opaque: colorObject(Token.atom, 1); break; case Token.rubberband: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-05-10 03:52:23
|
Revision: 5093 Author: hansonr Date: 2006-05-09 20:52:19 -0700 (Tue, 09 May 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=5093&view=rev Log Message: ----------- within(xx.x, atomset) within same model that's what I like: a three-CHARACTER 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 2006-05-10 01:46:46 UTC (rev 5092) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-05-10 03:52:19 UTC (rev 5093) @@ -1415,7 +1415,7 @@ if (bs.get(i)) { Atom atom = frame.getAtomAt(i); AtomIterator iterWithin = - frame.getWithinAnyModelIterator(atom, distance); + frame.getWithinModelIterator(atom, distance); while (iterWithin.hasNext()) bsResult.set(iterWithin.next().getAtomIndex()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-18 13:20:27
|
Revision: 5592 http://svn.sourceforge.net/jmol/?rev=5592&view=rev Author: hansonr Date: 2006-09-18 06:20:21 -0700 (Mon, 18 Sep 2006) Log Message: ----------- newly introduced color cpk bug fixed 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-09-18 12:44:24 UTC (rev 5591) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-18 13:20:21 UTC (rev 5592) @@ -1930,8 +1930,9 @@ colorvalue = statement[itoken].value; tok = statement[itoken].tok; switch (tok) { + case Token.cpk: + colorvalue = "cpk"; case Token.none: - case Token.cpk: case Token.formalCharge: case Token.partialCharge: case Token.structure: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-18 13:26:33
|
Revision: 5593 http://svn.sourceforge.net/jmol/?rev=5593&view=rev Author: hansonr Date: 2006-09-18 06:26:27 -0700 (Mon, 18 Sep 2006) Log Message: ----------- safer 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-09-18 13:20:21 UTC (rev 5592) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-18 13:26:27 UTC (rev 5593) @@ -1932,6 +1932,7 @@ switch (tok) { case Token.cpk: colorvalue = "cpk"; + break; case Token.none: case Token.formalCharge: case Token.partialCharge: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-22 20:11:18
|
Revision: 5661 http://svn.sourceforge.net/jmol/?rev=5661&view=rev Author: hansonr Date: 2006-09-22 13:11:12 -0700 (Fri, 22 Sep 2006) Log Message: ----------- oops 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-09-22 20:09:45 UTC (rev 5660) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-22 20:11:12 UTC (rev 5661) @@ -473,6 +473,7 @@ break; case Token.selectionHalo: setSelectionHalo(1); + break; case Token.set: set(); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-22 20:22:27
|
Revision: 5662 http://svn.sourceforge.net/jmol/?rev=5662&view=rev Author: hansonr Date: 2006-09-22 13:22:23 -0700 (Fri, 22 Sep 2006) Log Message: ----------- selectionHalos on/off color selectionHalos [color or none] 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-09-22 20:11:12 UTC (rev 5661) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-22 20:22:23 UTC (rev 5662) @@ -1845,6 +1845,7 @@ } void color() throws ScriptException { + int argb; if (statementLength > 5 || statementLength < 2) badArgumentCount(); int tok = statement[1].tok; @@ -1880,9 +1881,14 @@ case Token.background: viewer.setBackgroundArgb(getArgbOrNoneParam(2)); return; + case Token.selectionHalo: + argb = getArgbOrNoneParam(2); + viewer.loadShape(JmolConstants.SHAPE_HALOS); + viewer.setSelectionArgb(argb); + return; case Token.identifier: case Token.hydrogen: - int argb = getArgbOrPaletteParam(2); + argb = getArgbOrPaletteParam(2); String str = (String) statement[1].value; for (int i = JmolConstants.elementNumberMax; --i >= 0;) { if (str.equalsIgnoreCase(JmolConstants.elementNameFromNumber(i))) { @@ -1926,12 +1932,6 @@ argb); return; } - if (str.equalsIgnoreCase("selectionHalo") - || str.equalsIgnoreCase("selectionHalos")) { - viewer.loadShape(JmolConstants.SHAPE_HALOS); - viewer.setSelectionArgb(argb); - return; - } invalidArgument(); default: if (tok == Token.bond) // special hack for bond/bonds confusion This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-25 05:00:27
|
Revision: 5715 http://svn.sourceforge.net/jmol/?rev=5715&view=rev Author: hansonr Date: 2006-09-24 22:00:23 -0700 (Sun, 24 Sep 2006) Log Message: ----------- comment out 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-09-25 04:57:03 UTC (rev 5714) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-25 05:00:23 UTC (rev 5715) @@ -315,7 +315,6 @@ } void predefine(String script) { - System.out.println(script); if (compiler.compile("#predefine", script, true)) { Token[][] aatoken = compiler.getAatokenCompiled(); if (aatoken.length != 1) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-25 05:09:53
|
Revision: 5716 http://svn.sourceforge.net/jmol/?rev=5716&view=rev Author: hansonr Date: 2006-09-24 22:09:49 -0700 (Sun, 24 Sep 2006) Log Message: ----------- that's it. _H == hydrogen 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-09-25 05:00:23 UTC (rev 5715) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-25 05:09:49 UTC (rev 5716) @@ -292,24 +292,26 @@ // Now, define all the elements as predefined sets // hydrogen is handled specially, so don't define it for (int i = JmolConstants.elementNumberMax; --i > 1;) { - String definition = "@" + JmolConstants.elementNameFromNumber(i)+ " _e=" + i; + String definition = "@" + JmolConstants.elementNameFromNumber(i) + " _e=" + + i; predefine(definition); } for (int i = JmolConstants.altElementMax; --i >= 0;) { - String definition = "@" + JmolConstants.altElementNameFromIndex(i) + " _e=" - + JmolConstants.altElementNumberFromIndex(i); + String definition = "@" + JmolConstants.altElementNameFromIndex(i) + + " _e=" + JmolConstants.altElementNumberFromIndex(i); predefine(definition); } for (int i = JmolConstants.elementNumberMax; --i >= 1;) { - String definition = "@_" + JmolConstants.elementSymbolFromNumber(i)+ " _e=" + i; + String definition = "@_" + JmolConstants.elementSymbolFromNumber(i) + " " + + JmolConstants.elementNameFromNumber(i); predefine(definition); } for (int i = JmolConstants.altElementMax; --i >= JmolConstants.firstIsotope;) { - String definition = "@_" + JmolConstants.altElementSymbolFromIndex(i) + " _e=" - + JmolConstants.altElementNumberFromIndex(i); + String definition = "@_" + JmolConstants.altElementSymbolFromIndex(i) + + " _e=" + JmolConstants.altElementNumberFromIndex(i); predefine(definition); definition = "@_" + JmolConstants.altIsotopeSymbolFromIndex(i) + " _e=" - + JmolConstants.altElementNumberFromIndex(i); + + JmolConstants.altElementNumberFromIndex(i); predefine(definition); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-01 00:27:11
|
Revision: 5785 http://svn.sourceforge.net/jmol/?rev=5785&view=rev Author: hansonr Date: 2006-09-30 17:27:06 -0700 (Sat, 30 Sep 2006) Log Message: ----------- bug fix: quit 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 2006-10-01 00:03:33 UTC (rev 5784) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-01 00:27:06 UTC (rev 5785) @@ -379,16 +379,20 @@ executionPaused = Boolean.FALSE; } - void checkIfPaused() { - if (!executionPaused.booleanValue()) - return; - Logger.debug("script execution paused at this command: " + getCommand()); - try { - while (executionPaused.booleanValue()) - Thread.sleep(100); - } catch (Exception e) { + boolean checkContinue() { + if (!interruptExecution.booleanValue()) { + if (!executionPaused.booleanValue()) + return true; + Logger.debug("script execution paused at this command: " + getCommand()); + try { + while (executionPaused.booleanValue()) + Thread.sleep(100); + } catch (Exception e) { + } + Logger.debug("script execution resumed"); } - Logger.debug("script execution resumed"); + //once more to trap quit during pause + return !interruptExecution.booleanValue(); } void instructionDispatchLoop() throws ScriptException { @@ -400,8 +404,9 @@ viewer.scriptStatus(toString()); } viewer.addCommand(script); - while (!interruptExecution.booleanValue() && pc < aatoken.length) { - checkIfPaused(); + while (pc < aatoken.length) { + if (!checkContinue()) + break; Token token = aatoken[pc][0]; //if (token.tok == Token.load) //viewer.getSetHistory(-2); //just clear -- no, this is very useful This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-05 22:32:27
|
Revision: 5834 http://svn.sourceforge.net/jmol/?rev=5834&view=rev Author: hansonr Date: 2006-10-05 15:32:22 -0700 (Thu, 05 Oct 2006) Log Message: ----------- 10.9.71 or 10.9.72 -- allows isosurface plane x=2.0 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-10-05 21:38:21 UTC (rev 5833) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-05 22:32:22 UTC (rev 5834) @@ -1474,10 +1474,12 @@ Point3f pt3 = atomCenterOrCoordinateParameter(++i); i = pcLastExpressionInstruction; Vector3f plane = new Vector3f(); - Logger.info("defined plane: " + plane); float w = Graphics3D.getPlaneThroughPoints(pt1, pt2, pt3, plane, vAB, vAC); - return new Point4f(plane.x, plane.y, plane.z, w); + Point4f p = new Point4f(plane.x, plane.y, plane.z, w); + Logger.info("defined plane: " + p); + return p; + case Token.identifier: case Token.string: String str = (String) statement[i].value; pcLastExpressionInstruction = i; @@ -1487,6 +1489,22 @@ return new Point4f(0, 1, 0, 0); if (str.equalsIgnoreCase("yz")) return new Point4f(1, 0, 0, 0); + pcLastExpressionInstruction += 2; + if (str.equalsIgnoreCase("x")) { + if (++i == statementLength || statement[i++].tok != Token.opEQ) + evalError("x=?"); + return new Point4f(1, 0, 0, -floatParameter(i)); + } + if (str.equalsIgnoreCase("y")) { + if (++i == statementLength || statement[i++].tok != Token.opEQ) + evalError("y=?"); + return new Point4f(0, 1, 0, -floatParameter(i)); + } + if (str.equalsIgnoreCase("z")) { + if (++i == statementLength || statement[i++].tok != Token.opEQ) + evalError("z=?"); + return new Point4f(0, 0, 1, -floatParameter(i)); + } default: break; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-06 16:25:16
|
Revision: 5840 http://svn.sourceforge.net/jmol/?rev=5840&view=rev Author: hansonr Date: 2006-10-06 09:25:08 -0700 (Fri, 06 Oct 2006) Log Message: ----------- better plane support; adds "hkl {h k l}" as an isosurface option for Miller indices. allows for just "isosurface plane ..." to automatically deliver isosurface plane ... sasurface 0 which is a very fast rendering of a molecular surfaces slice. 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-10-06 08:20:16 UTC (rev 5839) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-06 16:25:08 UTC (rev 5840) @@ -1455,6 +1455,8 @@ //impossible return return null; } + + Point4f planeParameter(int i) throws ScriptException { Vector3f vAB = new Vector3f(); Vector3f vAC = new Vector3f(); @@ -1514,6 +1516,41 @@ return null; } + Point4f hklParameter(int i) throws ScriptException { + Vector3f vAB = new Vector3f(); + Vector3f vAC = new Vector3f(); + Point3f pt = getCoordinate(i, true); + Point3f pt1 = new Point3f(pt.x == 0 ? 1 : 1 / pt.x, 0, 0); + Point3f pt2 = new Point3f(0, pt.y == 0 ? 1 : 1 / pt.y, 0); + Point3f pt3 = new Point3f(0, 0, pt.z == 0 ? 1 : 1 / pt.z); + //trick for 001 010 100 is to define the other points on other edges + + if (pt.x == 0 && pt.y == 0) { + pt1.set(1, 0, pt3.z); + pt2.set(0, 1, pt3.z); + } else if (pt.y == 0 && pt.z == 0) { + pt2.set(pt1.x, 0, 1); + pt3.set(pt1.x, 1, 0); + } else if (pt.z == 0 && pt.x == 0) { + pt3.set(0, pt2.y, 1); + pt1.set(1, pt2.y, 0); + } else if (pt.x == 0) { + pt1.set(1, pt2.y, 0); + } else if (pt.y == 0) { + pt2.set(0, 1, pt3.z); + } else if (pt.z == 0) { + pt3.set(pt1.x, 0, 1); + } + viewer.convertFractionalCoordinates(pt1); + viewer.convertFractionalCoordinates(pt2); + viewer.convertFractionalCoordinates(pt3); + Vector3f plane = new Vector3f(); + float w = Graphics3D.getPlaneThroughPoints(pt1, pt2, pt3, plane, vAB, vAC); + Point4f p = new Point4f(plane.x, plane.y, plane.z, w); + Logger.info("defined plane: " + p); + return p; + } + short getMadParameter() throws ScriptException { int tok = statement[1].tok; short mad = 1; @@ -5123,6 +5160,7 @@ int colorRangeStage = 0; int signPt = 0; boolean surfaceObjectSeen = false; + boolean planeSeen = false; float[] nlmZ = new float[5]; String str; int modelIndex = viewer.getDisplayModelIndex(); @@ -5329,12 +5367,20 @@ } if (str.equalsIgnoreCase("plane")) { // plane {X, Y, Z, W} - surfaceObjectSeen = true; + planeSeen = true; propertyName = "plane"; propertyValue = planeParameter(++i); i = pcLastExpressionInstruction; break; } + if (str.equalsIgnoreCase("hkl")) { + // miller indices hkl + planeSeen = true; + propertyName = "plane"; + propertyValue = hklParameter(++i); + i = pcLastExpressionInstruction; + break; + } if (str.equalsIgnoreCase("sphere")) { //sphere [radius] surfaceObjectSeen = true; @@ -5461,7 +5507,7 @@ if (t instanceof String) fileNotFoundException(filename + ":" + t); Logger.info("reading isosurface data from " + filename); - propertyName = surfaceObjectSeen ? "mapColor" : "getSurface"; + propertyName = surfaceObjectSeen || planeSeen ? "mapColor" : "getSurface"; propertyValue = t; surfaceObjectSeen = true; break; @@ -5473,6 +5519,9 @@ viewer.setShapeProperty(JmolConstants.SHAPE_ISOSURFACE, propertyName, propertyValue); } + if (planeSeen && !surfaceObjectSeen) { + viewer.setShapeProperty(JmolConstants.SHAPE_ISOSURFACE, "sasurface", new Float(0)); + } } boolean setMeshDisplayProperty(int shape, int tok) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-09 03:23:16
|
Revision: 5878 http://svn.sourceforge.net/jmol/?rev=5878&view=rev Author: hansonr Date: 2006-10-08 20:23:08 -0700 (Sun, 08 Oct 2006) Log Message: ----------- fixes bug in missing legacy compatibility "set measure|axes|etc. -1" meaning "dotted" 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-10-09 03:14:39 UTC (rev 5877) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-09 03:23:08 UTC (rev 5878) @@ -1602,8 +1602,8 @@ break; case Token.integer: int diameterPixels = statement[cmdPt].intValue; - if (diameterPixels < 0 || diameterPixels >= 20) - numberOutOfRange(0, 19); + if (diameterPixels < -1 || diameterPixels >= 20) + numberOutOfRange(-1, 19); mad = (short) diameterPixels; break; case Token.decimal: @@ -5487,7 +5487,6 @@ propertyName = "mep"; propertyValue = partialCharges; break; - case Token.molecule: case Token.sasurface: case Token.solvent: surfaceObjectSeen = true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-09 03:39:53
|
Revision: 5879 http://svn.sourceforge.net/jmol/?rev=5879&view=rev Author: hansonr Date: 2006-10-08 20:39:48 -0700 (Sun, 08 Oct 2006) Log Message: ----------- may not be satisfactory 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-10-09 03:23:08 UTC (rev 5878) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-09 03:39:48 UTC (rev 5879) @@ -1616,7 +1616,7 @@ mad = -1; break; default: - booleanOrNumberExpected("or dotted"); + booleanOrNumberExpected(GT._("or dotted")); } return mad; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-18 04:14:30
|
Revision: 5979 http://svn.sourceforge.net/jmol/?rev=5979&view=rev Author: hansonr Date: 2006-10-17 21:14:24 -0700 (Tue, 17 Oct 2006) Log Message: ----------- zoomTo/center for windowCentered 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 2006-10-18 03:19:49 UTC (rev 5978) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-18 04:14:24 UTC (rev 5979) @@ -446,7 +446,7 @@ background(); break; case Token.center: - center(); + center(1); break; case Token.color: color(); @@ -2208,33 +2208,27 @@ getArgbOrNoneParam(2)); } - // mth - 2003 01 - // the doc for RasMol says that they use the center of gravity - // this is currently only using the geometric center - // but someplace in the rasmol doc it makes reference to the geometric - // center as the default for rotations. who knows. - void center() throws ScriptException { - + void center(int i) throws ScriptException { + // from center (atom) or from zoomTo under conditions of not windowCentered() if (statementLength == 1) { viewer.setCenterBitSet(null, true); return; } - if (statement[1].tok == Token.dollarsign) { + if (statement[i].tok == Token.dollarsign) { //center $ id - String axisID = objectNameParameter(2); + String axisID = objectNameParameter(i+1); viewer.setNewRotationCenter(axisID); return; } - if (statement[1].tok == Token.leftbrace) { + if (statement[i].tok == Token.leftbrace) { //center { x y z } - Point3f pt = getCoordinate(1, true); + Point3f pt = getCoordinate(i, true); viewer.setNewRotationCenter(pt); return; } - - viewer.setCenterBitSet(expression(statement, 1), true); + viewer.setCenterBitSet(expression(statement, i), true); } void color() throws ScriptException { @@ -3085,7 +3079,8 @@ //zoom if (statementLength == 1) { if (isZoomTo) - viewer.moveTo(1, null, new Point3f(0, 0, 0), 0, viewer.getZoomPercentFloat()*2f, 0, 0, 0); + viewer.moveTo(1, null, new Point3f(0, 0, 0), 0, viewer + .getZoomPercentFloat() * 2f, 0, 0, 0); else viewer.setZoomEnabled(true); return; @@ -3110,11 +3105,15 @@ if (isFloatParameter(i) && isZoomTo) time = floatParameter(i++); //zoom {x y z} or (atomno=3) + int ptCenter = 0; if (isAtomCenterOrCoordinateNext(i)) { + ptCenter = i; center = atomCenterOrCoordinateParameter(i); i = pcLastExpressionInstruction + 1; } + boolean isSameAtom = (center != null && currentCenter.distance(center) < 0.1); + //zoom/zoomTo percent|-factor|+factor|*factor|/factor if (isFloatParameter(i)) factor = floatParameter(i++); @@ -3122,8 +3121,8 @@ factor += zoom; if (factor == 0) { factor = zoom; - if (isFloatParameter(i+1)) { - float value = floatParameter(i+1); + if (isFloatParameter(i + 1)) { + float value = floatParameter(i + 1); switch (statement[i].tok) { case Token.slash: factor /= value; @@ -3141,13 +3140,23 @@ // no factor -- check for no center (zoom out) or same center (zoom in) if (center == null) factor /= 2; - else if (currentCenter.distance(center) < 0.1) + else if (isSameAtom) factor *= 2; } } + float xTrans = 0; + float yTrans = 0; if (factor < 5 || factor > Viewer.MAXIMUM_ZOOM_PERCENTAGE) numberOutOfRange(5, Viewer.MAXIMUM_ZOOM_PERCENTAGE); - viewer.moveTo(time, center, new Point3f(0, 0, 0), 0, factor, 0, 0, radius); + if (!viewer.isWindowCentered()) { + // do a smooth zoom only if not windowCentered + if (center != null) + viewer.setCenterBitSet(expression(statement, ptCenter), false); + center = viewer.getRotationCenter(); + xTrans = viewer.getTranslationXPercent(); + yTrans = viewer.getTranslationYPercent(); + } + viewer.moveTo(time, center, new Point3f(0, 0, 0), 0, factor, xTrans, yTrans, radius); } void delay() throws ScriptException { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-25 13:59:55
|
Revision: 6019 http://svn.sourceforge.net/jmol/?rev=6019&view=rev Author: hansonr Date: 2006-10-25 06:59:46 -0700 (Wed, 25 Oct 2006) Log Message: ----------- fixes polyhedra not restricting 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-10-25 13:52:56 UTC (rev 6018) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-25 13:59:46 UTC (rev 6019) @@ -2768,7 +2768,7 @@ for (int shapeType = JmolConstants.SHAPE_MIN_SELECTION_INDEPENDENT; --shapeType >= 0;) if (shapeType != JmolConstants.SHAPE_MEASURES) viewer.setShapeSize(shapeType, 0); - + viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, "delete", null); viewer.setLabel(null); viewer.setBondSelectionModeOr(bondmode); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-01 03:23:57
|
Revision: 6066 http://svn.sourceforge.net/jmol/?rev=6066&view=rev Author: hansonr Date: 2006-10-31 19:23:52 -0800 (Tue, 31 Oct 2006) Log Message: ----------- allowing simple "select C34" without error return. 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-01 01:22:14 UTC (rev 6065) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-01 03:23:52 UTC (rev 6066) @@ -1029,9 +1029,8 @@ BitSet bs = lookupValue(identifier, false); if (bs != null) // identifier had been previously defined return copyBitSet(bs); - if ((bs = viewer.getAtomBits("IdentifierOrNull", identifier)) == null) - undefinedVariable(identifier); - return bs; + bs = viewer.getAtomBits("IdentifierOrNull", identifier); + return (bs == null ? new BitSet() : bs); } BitSet lookupValue(String variable, boolean plurals) throws ScriptException { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-08 16:23:27
|
Revision: 6137 http://svn.sourceforge.net/jmol/?rev=6137&view=rev Author: hansonr Date: 2006-11-08 08:21:08 -0800 (Wed, 08 Nov 2006) 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 2006-11-08 15:12:50 UTC (rev 6136) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-08 16:21:08 UTC (rev 6137) @@ -919,7 +919,7 @@ stack[sp++] = copyBitSet(viewer.getSelectionSet()); break; case Token.subset: - stack[sp++] = copyBitSet(bsSubset); + stack[sp++] = copyBitSet(bsSubset == null ? bsAll() : bsSubset); break; case Token.hidden: stack[sp++] = copyBitSet(viewer.getHiddenSet()); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-19 04:44:11
|
Revision: 6267 http://svn.sourceforge.net/jmol/?rev=6267&view=rev Author: hansonr Date: 2006-11-18 20:44:10 -0800 (Sat, 18 Nov 2006) Log Message: ----------- measurement clean up 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-19 00:33:15 UTC (rev 6266) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-19 04:44:10 UTC (rev 6267) @@ -2697,6 +2697,10 @@ atomIndex = -1; isAll = true; continue; + case Token.string: + //measures "%a1 %a2 %v %u" + strFormat = (String) token.value; + continue; case Token.decimal: isAll = true; isRange = true; @@ -2710,18 +2714,6 @@ ptFloat = (ptFloat + 1) % 2; rangeMinMax[ptFloat] = atomNumber; break; - case Token.string: - //measures "%a1 %a2 %v %u" - strFormat = (String) token.value; - break; - case Token.hide: - //measures hide - if (statementLength == 5 && i == 2 && statement[3].tok == Token.bitset) { - viewer.setShapeProperty(JmolConstants.SHAPE_MEASURES, "hide", - statement[3].value); - return; - } - expressionOrIntegerExpected(); case Token.expressionBegin: isExpression = true; bs = expression(statement, i); @@ -2731,7 +2723,8 @@ default: expressionOrIntegerExpected(); } - if (atomIndex == -1 && strFormat == null) + //only here for point definition + if (atomIndex == -1) badAtomNumber(); if (isAll) { if (bs == null || bs.size() == 0) @@ -2739,7 +2732,7 @@ if (++expressionCount > 4) badArgumentCount(); monitorExpressions.add(bs); - } else if (strFormat == null) { + } else { if (++countPlusIndexes[0] > 4) badArgumentCount(); countPlusIndexes[countPlusIndexes[0]] = atomIndex; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-19 18:11:56
|
Revision: 6269 http://svn.sourceforge.net/jmol/?rev=6269&view=rev Author: hansonr Date: 2006-11-19 10:11:55 -0800 (Sun, 19 Nov 2006) Log Message: ----------- bug fix: restrict not returning selected set 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-19 13:20:24 UTC (rev 6268) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-19 18:11:55 UTC (rev 6269) @@ -2774,7 +2774,8 @@ void restrict() throws ScriptException { select(); - BitSet bsSelected = viewer.getSelectionSet(); + BitSet bsSelected = new BitSet(); + bsSelected.or(viewer.getSelectionSet()); viewer.invertSelection(); if (bsSubset != null) { BitSet bs = new BitSet(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-19 18:24:03
|
Revision: 6271 http://svn.sourceforge.net/jmol/?rev=6271&view=rev Author: hansonr Date: 2006-11-19 10:24:01 -0800 (Sun, 19 Nov 2006) Log Message: ----------- same thing--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 2006-11-19 18:17:55 UTC (rev 6270) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-19 18:24:01 UTC (rev 6271) @@ -2774,8 +2774,7 @@ void restrict() throws ScriptException { select(); - BitSet bsSelected = new BitSet(); - bsSelected.or(viewer.getSelectionSet()); + BitSet bsSelected = copyBitSet(viewer.getSelectionSet()); viewer.invertSelection(); if (bsSubset != null) { BitSet bs = new BitSet(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |