From: <ha...@us...> - 2006-03-22 12:29:34
|
Revision: 4681 Author: hansonr Date: 2006-03-22 04:29:28 -0800 (Wed, 22 Mar 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4681&view=rev Log Message: ----------- Eval: just adding some error traps; some may be unnecessary. 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-03-22 02:43:59 UTC (rev 4680) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-03-22 12:29:28 UTC (rev 4681) @@ -738,6 +738,10 @@ evalError("variable undefined:" + varName); } + void endOfStatementUnexpected() throws ScriptException { + evalError("unexpected end of script command"); + } + void badArgumentCount() throws ScriptException { evalError("bad argument count"); } @@ -1769,6 +1773,8 @@ Hashtable variables = new Hashtable(); void define() throws ScriptException { + if (statementLength == 1) + keywordExpected(); String variable = (String) statement[1].value; variables.put(variable, (expression(statement, 2))); } @@ -1813,6 +1819,8 @@ int i = 1; // ignore optional file format String filename = "fileset"; + if (statementLength == 1) + filenameExpected(); if (statement[i].tok == Token.identifier) ++i; if (statement[i].tok != Token.string) @@ -2148,6 +2156,8 @@ } void script() throws ScriptException { + if (statementLength == 1) + endOfStatementUnexpected(); if (statement[1].tok != Token.string) filenameExpected(); pushContext(); @@ -2173,6 +2183,8 @@ } void translate() throws ScriptException { + if (statementLength <3) + endOfStatementUnexpected(); if (statement[2].tok != Token.integer) integerExpected(); int percent = statement[2].intValue; @@ -2198,6 +2210,8 @@ } void zoom() throws ScriptException { + if (statementLength == 1) + endOfStatementUnexpected(); if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 5 || percent > Viewer.MAXIMUM_ZOOM_PERCENTAGE) @@ -2220,6 +2234,8 @@ void delay() throws ScriptException { long timeBegin = System.currentTimeMillis(); long millis = 0; + if (statementLength == 1) + endOfStatementUnexpected(); Token token = statement[1]; switch (token.tok) { case Token.integer: @@ -2315,6 +2331,8 @@ } void slab() throws ScriptException { + if (statementLength == 1) + endOfStatementUnexpected(); if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 0 || percent > 100) @@ -2612,6 +2630,8 @@ } void dots() throws ScriptException { + if (statementLength == 1) + endOfStatementUnexpected(); short mad = 0; switch (statement[1].tok) { case Token.on: @@ -2638,6 +2658,9 @@ void proteinShape(int shapeType) throws ScriptException { short mad = 0; + if (statementLength == 1) + endOfStatementUnexpected(); + int tok = statement[1].tok; switch (tok) { case Token.on: @@ -2883,6 +2906,8 @@ */ void set() throws ScriptException { + if (statementLength == 1) + endOfStatementUnexpected(); switch (statement[1].tok) { case Token.axes: setAxes(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-03-23 05:17:03
|
Revision: 4686 Author: hansonr Date: 2006-03-22 21:16:53 -0800 (Wed, 22 Mar 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4686&view=rev Log Message: ----------- removing unnecessary statementLength checks; leaves necessary ones in -- load and translate, for example. 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-03-23 04:18:56 UTC (rev 4685) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-03-23 05:16:53 UTC (rev 4686) @@ -1927,8 +1927,7 @@ } void script() throws ScriptException { - if (statementLength == 1) - endOfStatementUnexpected(); + // token allows for only 1 parameter if (statement[1].tok != Token.string) filenameExpected(); pushContext(); @@ -1946,7 +1945,7 @@ void translate() throws ScriptException { if (statementLength <3) - endOfStatementUnexpected(); + badArgumentCount(); if (statement[2].tok != Token.integer) integerExpected(); int percent = statement[2].intValue; @@ -1972,8 +1971,7 @@ } void zoom() throws ScriptException { - if (statementLength == 1) - endOfStatementUnexpected(); + // token has ondefault1 if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 5 || percent > Viewer.MAXIMUM_ZOOM_PERCENTAGE) @@ -1996,8 +1994,7 @@ void delay() throws ScriptException { long timeBegin = System.currentTimeMillis(); long millis = 0; - if (statementLength == 1) - endOfStatementUnexpected(); + //token has ondefault1 Token token = statement[1]; switch (token.tok) { case Token.integer: @@ -2041,8 +2038,7 @@ } void slab() throws ScriptException { - if (statementLength == 1) - endOfStatementUnexpected(); + //token has ondefault1 if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 0 || percent > 100) @@ -2340,8 +2336,7 @@ } void dots() throws ScriptException { - if (statementLength == 1) - endOfStatementUnexpected(); + // token has onDefault1 short mad = 0; switch (statement[1].tok) { case Token.on: @@ -2368,9 +2363,7 @@ void proteinShape(int shapeType) throws ScriptException { short mad = 0; - if (statementLength == 1) - endOfStatementUnexpected(); - + //token has ondefault1 int tok = statement[1].tok; switch (tok) { case Token.on: @@ -2616,8 +2609,6 @@ */ void set() throws ScriptException { - if (statementLength == 1) - endOfStatementUnexpected(); switch (statement[1].tok) { case Token.axes: setAxes(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-03-23 05:31:32
|
Revision: 4687 Author: hansonr Date: 2006-03-22 21:31:26 -0800 (Wed, 22 Mar 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4687&view=rev Log Message: ----------- Eval quick 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-03-23 05:16:53 UTC (rev 4686) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-03-23 05:31:26 UTC (rev 4687) @@ -1045,7 +1045,7 @@ case Token.identifier: case Token.sidechain: case Token.surface: - stack[sp++] = viewer.getAtomBits("IdentifierValue", (String) instruction.value); + stack[sp++] = lookupIdentifierValue((String) instruction.value); break; case Token.opLT: case Token.opLE: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mig...@us...> - 2006-03-30 18:04:54
|
Revision: 4851 Author: migueljmol Date: 2006-03-30 10:04:50 -0800 (Thu, 30 Mar 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4851&view=rev Log Message: ----------- reintroduced restrict() bug fix from r4557 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-03-30 18:04:42 UTC (rev 4850) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-03-30 18:04:50 UTC (rev 4851) @@ -1756,14 +1756,15 @@ boolean bondmode = viewer.getBondSelectionModeOr(); viewer.setBondSelectionModeOr(true); viewer.setShapeSize(JmolConstants.SHAPE_STICKS, 0); - viewer.setBondSelectionModeOr(bondmode); - viewer.setLabel(null); + // also need to turn off backbones, ribbons, strands, cartoons for (int shapeType = JmolConstants.SHAPE_MIN_SELECTION_INDEPENDENT; --shapeType >= 0; ) viewer.setShapeSize(shapeType, 0); - // also need to turn off backbones, ribbons, strands, cartoons + viewer.setLabel(null); + + viewer.setBondSelectionModeOr(bondmode); viewer.invertSelection(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mig...@us...> - 2006-03-30 18:11:21
|
Revision: 4852 Author: migueljmol Date: 2006-03-30 10:11:13 -0800 (Thu, 30 Mar 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4852&view=rev Log Message: ----------- reintroduced r4686 - statementLength checks in script interpreter 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-03-30 18:04:50 UTC (rev 4851) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-03-30 18:11:13 UTC (rev 4852) @@ -1821,8 +1821,7 @@ pc = context.pc; } void script() throws ScriptException { - if (statement[1].tok != Token.string) - filenameExpected(); + // token allows for only 1 parameter pushContext(); String filename = (String)statement[1].value; if (! loadScriptFileInternal(filename)) @@ -1846,6 +1845,8 @@ } void translate() throws ScriptException { + if (statementLength <3) + badArgumentCount(); if (statement[2].tok != Token.integer) integerExpected(); int percent = statement[2].intValue; @@ -1871,6 +1872,7 @@ } void zoom() throws ScriptException { + // token has ondefault1 if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 5 || percent > Viewer.MAXIMUM_ZOOM_PERCENTAGE) @@ -1893,6 +1895,7 @@ void delay() throws ScriptException { long timeBegin = System.currentTimeMillis(); long millis = 0; + //token has ondefault1 Token token = statement[1]; switch (token.tok) { case Token.integer: @@ -1988,6 +1991,7 @@ } void slab() throws ScriptException { + //token has ondefault1 if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 0 || percent > 100) @@ -2384,6 +2388,7 @@ */ void dots() throws ScriptException { + // token has onDefault1 short mad = 0; switch (statement[1].tok) { case Token.on: @@ -2410,6 +2415,7 @@ void proteinShape(int shapeType) throws ScriptException { short mad = 0; + //token has ondefault1 int tok = statement[1].tok; switch (tok) { case Token.on: @@ -2576,8 +2582,7 @@ *==============================================================*/ void set() throws ScriptException { - System.out.println("setting:" + statement[1].value); - switch(statement[1].tok) { + switch (statement[1].tok) { case Token.axes: setAxes(); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-06 13:27:10
|
Revision: 4926 Author: hansonr Date: 2006-04-06 06:26:53 -0700 (Thu, 06 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4926&view=rev Log Message: ----------- (1) Adds allowed range to numberOutOfBounds error message (2) Many Eval bugs fixed, including: -inconsistent upper bound of rasmol mad value; sometimes 750, sometimes 749 -wireframe, ssbonds, hbonds, axes, stars, cpk, vectors, cartoons, etc. allowed negative bond/line diameter mad values when not appropriate -incorrect error message for direction 1/-1 (was "out of bounds") -not fixed: Eval wrong error reported for -int "bad argument count" instead of "number out of range" (needs fixing, but I don't want to go after it in Token.java) 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-06 11:46:05 UTC (rev 4925) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-06 13:26:53 UTC (rev 4926) @@ -692,6 +692,18 @@ evalError("number out of range"); } + void numberOutOfRange(int min, int max) throws ScriptException { + evalError("integer out of range (" + min + " - " + max + ")"); + } + + void numberOutOfRange(float min, float max) throws ScriptException { + evalError("decimal number out of range (" + min + " - " + max + ")"); + } + + void numberMustBe(int a, int b) throws ScriptException { + evalError("number must be (" + a + " or " + b + ")"); + } + void badAtomNumber() throws ScriptException { evalError("bad atom number"); } @@ -799,14 +811,14 @@ break; case Token.integer: int diameterPixels = statement[2].intValue; - if (diameterPixels >= 20) - numberOutOfRange(); + if (diameterPixels < 0 || diameterPixels > 20) + numberOutOfRange(0, 20); mad = (short)diameterPixels; break; case Token.decimal: float angstroms = floatParameter(2); - if (angstroms >= 2) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 2) + numberOutOfRange(0f, 2f); mad = (short)(angstroms * 1000 * 2); break; case Token.dotted: @@ -1879,7 +1891,7 @@ integerExpected(); int percent = statement[2].intValue; if (percent > 100 || percent < -100) - numberOutOfRange(); + numberOutOfRange(-100, 100); switch (statement[1].tok) { case Token.x: viewer.translateToXPercent(percent); @@ -1904,7 +1916,7 @@ if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 5 || percent > Viewer.MAXIMUM_ZOOM_PERCENTAGE) - numberOutOfRange(); + numberOutOfRange(5, Viewer.MAXIMUM_ZOOM_PERCENTAGE); viewer.zoomToPercent(percent); return; } @@ -2023,7 +2035,7 @@ if (statement[1].tok == Token.integer) { int percent = statement[1].intValue; if (percent < 0 || percent > 100) - numberOutOfRange(); + numberOutOfRange(0, 100); viewer.slabToPercent(percent); return; } @@ -2064,22 +2076,23 @@ break; case Token.integer: int radiusRasMol = statement[1].intValue; + //needs fixing; can't get - int, I think if (statementLength == 2) { - if (radiusRasMol >= 750 || radiusRasMol < -100) - numberOutOfRange(); + if (radiusRasMol > 750 || radiusRasMol < -100) + numberOutOfRange(-100, 750); mad = (short)radiusRasMol; if (radiusRasMol > 0) mad *= 4 * 2; } else { if (radiusRasMol < 0 || radiusRasMol > 100) - numberOutOfRange(); + numberOutOfRange(-100, 750); mad = (short)-radiusRasMol; // use a negative number to specify %vdw } break; case Token.decimal: float angstroms = floatParameter(1); - if (angstroms > 3) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 3) + numberOutOfRange(0f, 3f); mad = (short)(angstroms * 1000 * 2); break; case Token.temperature: @@ -2116,21 +2129,22 @@ case Token.integer: int radiusRasMol = statement[1].intValue; if (statementLength == 2) { - if (radiusRasMol >= 750 || radiusRasMol < -200) - numberOutOfRange(); + //needs fixing; can't get - int, I think + if (radiusRasMol > 750 || radiusRasMol < -200) + numberOutOfRange(-200, 750); mad = (short)radiusRasMol; if (radiusRasMol > 0) mad *= 4 * 2; } else { if (radiusRasMol < 0 || radiusRasMol > 200) - numberOutOfRange(); + numberOutOfRange(-200, 750); mad = (short)-radiusRasMol; // use a negative number to specify %vdw } break; case Token.decimal: float angstroms = floatParameter(1); - if (angstroms > 3) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 3) + numberOutOfRange(0f, 3f); mad = (short)(angstroms * 1000 * 2); break; case Token.temperature: @@ -2146,6 +2160,7 @@ } short getMadParameter() throws ScriptException { + //for wireframe, ssbond, hbond int tok = statement[1].tok; short mad = 1; switch (tok) { @@ -2156,14 +2171,14 @@ break; case Token.integer: int radiusRasMol = statement[1].intValue; - if (radiusRasMol > 750) - numberOutOfRange(); + if (radiusRasMol < 0 || radiusRasMol > 750) + numberOutOfRange(0, 750); mad = (short)(radiusRasMol * 4 * 2); break; case Token.decimal: float angstroms = floatParameter(1); - if (angstroms > 3) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 3) + numberOutOfRange(0f, 3f); mad = (short)(angstroms * 1000 * 2); break; default: @@ -2197,14 +2212,14 @@ break; case Token.integer: int diameterPixels = statement[1].intValue; - if (diameterPixels >= 20) - numberOutOfRange(); + if (diameterPixels < 0 || diameterPixels > 20) + numberOutOfRange(0, 20); mad = (short)diameterPixels; break; case Token.decimal: float angstroms = floatParameter(1); - if (angstroms > 3) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 3) + numberOutOfRange(0f, 3f); mad = (short)(angstroms * 1000 * 2); break; case Token.identifier: @@ -2225,7 +2240,7 @@ checkLength3(); float scale = floatParameter(2); if (scale < -10 || scale > 10) - numberOutOfRange(); + numberOutOfRange(-10f, 10f); viewer.setVectorScale(scale); } @@ -2319,7 +2334,7 @@ checkLength3(); float scale = floatParameter(2); if (scale < -10 || scale > 10) - numberOutOfRange(); + numberOutOfRange(-10f, 10f); viewer.setVibrationScale(scale); } @@ -2335,7 +2350,7 @@ invalidArgument(); int direction = statement[3].intValue; if (direction != 1) - numberOutOfRange(); + numberMustBe(1, -1); if (negative) direction = -direction; viewer.setAnimationDirection(direction); @@ -2431,7 +2446,7 @@ case Token.integer: int dotsParam = statement[1].intValue; if (dotsParam < 0 || dotsParam > 1000) - numberOutOfRange(); + numberOutOfRange(0, 1000); // I don't know what to do with this thing yet mad = (short)dotsParam; break; @@ -2465,14 +2480,16 @@ break; case Token.integer: int radiusRasMol = statement[1].intValue; - if (radiusRasMol >= 500) - numberOutOfRange(); + //currently not possible to get here with < 0, but that may change + //this redundancy is safer + if (radiusRasMol < 0 || radiusRasMol > 500) + numberOutOfRange(0, 500); mad = (short)(radiusRasMol * 4 * 2); break; case Token.decimal: float angstroms = ((Float)statement[1].value).floatValue(); - if (angstroms > 4) - numberOutOfRange(); + if (angstroms < 0 || angstroms > 4) + numberOutOfRange(0f, 4f); mad = (short)(angstroms * 1000 * 2); break; default: @@ -2828,7 +2845,8 @@ if (rasmolSize < JmolConstants.LABEL_MINIMUM_FONTSIZE || rasmolSize > JmolConstants.LABEL_MAXIMUM_FONTSIZE) - numberOutOfRange(); + numberOutOfRange(JmolConstants.LABEL_MINIMUM_FONTSIZE, + JmolConstants.LABEL_MINIMUM_FONTSIZE); } viewer.loadShape(JmolConstants.SHAPE_LABELS); viewer.setShapeProperty(JmolConstants.SHAPE_LABELS, "fontsize", @@ -2914,7 +2932,7 @@ integerExpected(); strandCount = statement[2].intValue; if (strandCount < 0 || strandCount > 20) - numberOutOfRange(); + numberOutOfRange(0, 20); } viewer.setShapeProperty(JmolConstants.SHAPE_STRANDS, "strandCount", new Integer(strandCount)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-07 02:44:45
|
Revision: 4928 Author: hansonr Date: 2006-04-06 19:44:38 -0700 (Thu, 06 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4928&view=rev Log Message: ----------- Eval numberOutOfRange() correction for undocumented/incorrectly documented %vdw options in spacefill and cpk. Lesson learned. Rollback if desired. My apologies. 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-06 13:32:06 UTC (rev 4927) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-07 02:44:38 UTC (rev 4928) @@ -2076,7 +2076,6 @@ break; case Token.integer: int radiusRasMol = statement[1].intValue; - //needs fixing; can't get - int, I think if (statementLength == 2) { if (radiusRasMol > 750 || radiusRasMol < -100) numberOutOfRange(-100, 750); @@ -2085,7 +2084,7 @@ mad *= 4 * 2; } else { if (radiusRasMol < 0 || radiusRasMol > 100) - numberOutOfRange(-100, 750); + numberOutOfRange(0, 100); mad = (short)-radiusRasMol; // use a negative number to specify %vdw } break; @@ -2129,7 +2128,6 @@ case Token.integer: int radiusRasMol = statement[1].intValue; if (statementLength == 2) { - //needs fixing; can't get - int, I think if (radiusRasMol > 750 || radiusRasMol < -200) numberOutOfRange(-200, 750); mad = (short)radiusRasMol; @@ -2137,7 +2135,7 @@ mad *= 4 * 2; } else { if (radiusRasMol < 0 || radiusRasMol > 200) - numberOutOfRange(-200, 750); + numberOutOfRange(0, 200); mad = (short)-radiusRasMol; // use a negative number to specify %vdw } break; @@ -3824,5 +3822,4 @@ viewer.setShapeProperty(JmolConstants.SHAPE_STICKS, "applyConnectParameters", null); } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <eg...@us...> - 2006-04-08 14:12:59
|
Revision: 4937 Author: egonw Date: 2006-04-08 07:12:53 -0700 (Sat, 08 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4937&view=rev Log Message: ----------- Reintroduced the equalities. 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-08 07:20:31 UTC (rev 4936) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-08 14:12:53 UTC (rev 4937) @@ -811,13 +811,13 @@ break; case Token.integer: int diameterPixels = statement[2].intValue; - if (diameterPixels < 0 || diameterPixels > 20) + if (diameterPixels < 0 || diameterPixels >= 20) numberOutOfRange(0, 20); mad = (short)diameterPixels; break; case Token.decimal: float angstroms = floatParameter(2); - if (angstroms < 0 || angstroms > 2) + if (angstroms < 0 || angstroms >= 2) numberOutOfRange(0f, 2f); mad = (short)(angstroms * 1000 * 2); break; @@ -2077,7 +2077,7 @@ case Token.integer: int radiusRasMol = statement[1].intValue; if (statementLength == 2) { - if (radiusRasMol > 750 || radiusRasMol < -100) + if (radiusRasMol >= 750 || radiusRasMol < -100) numberOutOfRange(-100, 750); mad = (short)radiusRasMol; if (radiusRasMol > 0) @@ -2128,7 +2128,7 @@ case Token.integer: int radiusRasMol = statement[1].intValue; if (statementLength == 2) { - if (radiusRasMol > 750 || radiusRasMol < -200) + if (radiusRasMol >= 750 || radiusRasMol < -200) numberOutOfRange(-200, 750); mad = (short)radiusRasMol; if (radiusRasMol > 0) @@ -2210,7 +2210,7 @@ break; case Token.integer: int diameterPixels = statement[1].intValue; - if (diameterPixels < 0 || diameterPixels > 20) + if (diameterPixels < 0 || diameterPixels >= 20) numberOutOfRange(0, 20); mad = (short)diameterPixels; break; @@ -2480,7 +2480,7 @@ int radiusRasMol = statement[1].intValue; //currently not possible to get here with < 0, but that may change //this redundancy is safer - if (radiusRasMol < 0 || radiusRasMol > 500) + if (radiusRasMol < 0 || radiusRasMol >= 500) numberOutOfRange(0, 500); mad = (short)(radiusRasMol * 4 * 2); break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-08 14:46:04
|
Revision: 4939 Author: hansonr Date: 2006-04-08 07:45:57 -0700 (Sat, 08 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4939&view=rev Log Message: ----------- just changes numberOutOfRange() error report values to be consistent with 10.00 range values. 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-08 14:20:34 UTC (rev 4938) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-08 14:45:57 UTC (rev 4939) @@ -812,13 +812,13 @@ case Token.integer: int diameterPixels = statement[2].intValue; if (diameterPixels < 0 || diameterPixels >= 20) - numberOutOfRange(0, 20); + numberOutOfRange(0, 19); mad = (short)diameterPixels; break; case Token.decimal: float angstroms = floatParameter(2); if (angstroms < 0 || angstroms >= 2) - numberOutOfRange(0f, 2f); + numberOutOfRange(0f, 1.99999f); mad = (short)(angstroms * 1000 * 2); break; case Token.dotted: @@ -2078,7 +2078,7 @@ int radiusRasMol = statement[1].intValue; if (statementLength == 2) { if (radiusRasMol >= 750 || radiusRasMol < -100) - numberOutOfRange(-100, 750); + numberOutOfRange(-100, 749); mad = (short)radiusRasMol; if (radiusRasMol > 0) mad *= 4 * 2; @@ -2129,7 +2129,7 @@ int radiusRasMol = statement[1].intValue; if (statementLength == 2) { if (radiusRasMol >= 750 || radiusRasMol < -200) - numberOutOfRange(-200, 750); + numberOutOfRange(-200, 749); mad = (short)radiusRasMol; if (radiusRasMol > 0) mad *= 4 * 2; @@ -2211,7 +2211,7 @@ case Token.integer: int diameterPixels = statement[1].intValue; if (diameterPixels < 0 || diameterPixels >= 20) - numberOutOfRange(0, 20); + numberOutOfRange(0, 19); mad = (short)diameterPixels; break; case Token.decimal: @@ -2481,7 +2481,7 @@ //currently not possible to get here with < 0, but that may change //this redundancy is safer if (radiusRasMol < 0 || radiusRasMol >= 500) - numberOutOfRange(0, 500); + numberOutOfRange(0, 499); mad = (short)(radiusRasMol * 4 * 2); break; case Token.decimal: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-09 12:41:11
|
Revision: 4943 Author: hansonr Date: 2006-04-09 05:41:06 -0700 (Sun, 09 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4943&view=rev Log Message: ----------- adds hbonds calculate as an EXACT behavioral replacement for Version 10.00 hbonds on -calculates all hbonds (as in Version 10.00) -displays only the selected set (as in Version 10.00) -does not create hbonds where bonds already exist (as in connect auto hbonds) -calculates but does not actually create hbonds outside the selected set (as in connect auto hbonds; no user difference from version 10.00) -allows introduction of "connect" while still holding off on "connect auto" until terminology concerns are addressed. 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-09 09:52:07 UTC (rev 4942) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-09 12:41:06 UTC (rev 4943) @@ -2196,6 +2196,12 @@ void hbond() throws ScriptException { viewer.loadShape(JmolConstants.SHAPE_HSTICKS); + if (statementLength == 2 && statement[1].tok == Token.identifier && + ((String)statement[1].value).equalsIgnoreCase("calculate")) { + BitSet bs = viewer.getSelectionSet(); + viewer.getFrame().autoHbond(bs, bs); + return; + } viewer.setShapeSize(JmolConstants.SHAPE_HSTICKS, getMadParameter()); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-11 13:13:06
|
Revision: 4955 Author: hansonr Date: 2006-04-11 06:12:58 -0700 (Tue, 11 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4955&view=rev Log Message: ----------- minor bug fix for polyhedra with explicit RADIUS keyword 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-11 13:04:41 UTC (rev 4954) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-11 13:12:58 UTC (rev 4955) @@ -3504,7 +3504,7 @@ propertyName = "bonds"; break; case Token.radius: - decimalPropertyName = "radius"; + decimalPropertyName = "radius_"; continue; case Token.identifier: String str = (String)token.value; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-11 13:14:27
|
Revision: 4956 Author: hansonr Date: 2006-04-11 06:14:15 -0700 (Tue, 11 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4956&view=rev Log Message: ----------- nevermind 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-11 13:12:58 UTC (rev 4955) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-11 13:14:15 UTC (rev 4956) @@ -3504,7 +3504,7 @@ propertyName = "bonds"; break; case Token.radius: - decimalPropertyName = "radius_"; + decimalPropertyName = "radius"; continue; case Token.identifier: String str = (String)token.value; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-04-11 16:14:33
|
Revision: 4957 Author: hansonr Date: 2006-04-11 09:14:23 -0700 (Tue, 11 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4957&view=rev Log Message: ----------- Polyhedra -- fixes bug allowing inappropriate modify-only options ON, OFF, DELETE when constructing polyhedra. (Noticed while creating documentation.) 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-11 13:14:15 UTC (rev 4956) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-11 16:14:23 UTC (rev 4957) @@ -3487,6 +3487,7 @@ void polyhedra() throws ScriptException { boolean needsGenerating = false; boolean optionalParameterSeen = false; + boolean modifyOnly = false; viewer.loadShape(JmolConstants.SHAPE_POLYHEDRA); viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, "init", null); String setPropertyName = "potentialCenterSet"; @@ -3555,6 +3556,7 @@ case Token.delete: case Token.on: case Token.off: + modifyOnly = true; case Token.edges: case Token.noedges: case Token.frontedges: @@ -3574,6 +3576,8 @@ default: invalidArgument(); } + if (modifyOnly && needsGenerating) + badArgumentCount(); viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, propertyName, propertyValue); } 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:55:20
|
Revision: 4959 Author: hansonr Date: 2006-04-12 01:55:09 -0700 (Wed, 12 Apr 2006) ViewCVS: http://svn.sourceforge.net/jmol/?rev=4959&view=rev Log Message: ----------- tightens allowable syntax for polyhedra to be consistent with documentation. May look like a bit much, but it's fully tested and only relates to improved error trapping. No new functionality. 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-11 18:59:55 UTC (rev 4958) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-04-12 08:55:09 UTC (rev 4959) @@ -668,6 +668,14 @@ evalError("invalid argument"); } + void incompatibleArguments() throws ScriptException { + evalError("incompatible arguments"); + } + + void insufficientArguments() throws ScriptException { + evalError("insufficient arguments"); + } + void unrecognizedSetParameter() throws ScriptException { evalError("unrecognized SET parameter"); } @@ -3485,9 +3493,23 @@ */ void polyhedra() throws ScriptException { + /* + * needsGenerating: + * + * polyhedra [number of vertices and/or basis] [at most two selection sets] + * [optional type and/or edge] [optional design parameters] + * + * OR else: + * + * polyhedra [at most one selection set] [type-and/or-edge or on/off/delete] + * + */ boolean needsGenerating = false; - boolean optionalParameterSeen = false; - boolean modifyOnly = false; + boolean onOffDelete = false; + boolean typeSeen = false; + boolean edgeParameterSeen = false; + boolean isDesignParameter = false; + int nAtomSets = 0; viewer.loadShape(JmolConstants.SHAPE_POLYHEDRA); viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, "init", null); String setPropertyName = "potentialCenterSet"; @@ -3501,6 +3523,8 @@ case Token.opOr: continue; case Token.bonds: + if (nAtomSets > 0) + invalidParameterOrder(); needsGenerating = true; propertyName = "bonds"; break; @@ -3512,33 +3536,46 @@ if ("collapsed".equalsIgnoreCase(str)) { propertyName = "collapsed"; propertyValue = Boolean.TRUE; - optionalParameterSeen = true; + if (typeSeen) + incompatibleArguments(); + typeSeen = true; break; } if ("flat".equalsIgnoreCase(str)) { propertyName = "collapsed"; propertyValue = Boolean.FALSE; - optionalParameterSeen = true; + if (typeSeen) + incompatibleArguments(); + typeSeen = true; break; } + if (! needsGenerating) + insufficientArguments(); + if ("to".equalsIgnoreCase(str)) { + if (nAtomSets > 1) + invalidParameterOrder(); + setPropertyName = "potentialVertexSet"; + continue; + } if ("centerAngleMax".equalsIgnoreCase(str)) { decimalPropertyName = "centerAngleMax"; + isDesignParameter = true; continue; } if ("faceNormalMax".equalsIgnoreCase(str)) { decimalPropertyName = "faceNormalMax"; + isDesignParameter = true; continue; } if ("faceCenterOffset".equalsIgnoreCase(str)) { decimalPropertyName = "faceCenterOffset"; + isDesignParameter = true; continue; } - if ("to".equalsIgnoreCase(str)) { - setPropertyName = "potentialVertexSet"; - continue; - } unrecognizedSubcommand(); case Token.integer: + if (nAtomSets > 0 && ! isDesignParameter) + invalidParameterOrder(); // no reason not to allow integers when explicit if (decimalPropertyName == "radius_") { propertyName = "vertexCount"; @@ -3547,27 +3584,39 @@ break; } case Token.decimal: + if (nAtomSets > 0 && ! isDesignParameter) + invalidParameterOrder(); propertyName = (decimalPropertyName == "radius_" ? "radius" : decimalPropertyName); propertyValue = new Float(floatParameter(i)); decimalPropertyName = "radius_"; + isDesignParameter = false; needsGenerating = true; break; case Token.delete: case Token.on: case Token.off: - modifyOnly = true; + if (++i != statementLength || needsGenerating || nAtomSets > 1 + || nAtomSets == 0 && setPropertyName == "potentialVertexSet") + incompatibleArguments(); + propertyName = (String)token.value; + onOffDelete = true; + break; case Token.edges: case Token.noedges: case Token.frontedges: - optionalParameterSeen = true; + if (edgeParameterSeen) + incompatibleArguments(); propertyName = (String)token.value; + edgeParameterSeen = true; break; case Token.expressionBegin: + if (typeSeen) + invalidParameterOrder(); + if (++nAtomSets > 2) + badArgumentCount(); if (setPropertyName == "potentialVertexSet") needsGenerating = true; - if (optionalParameterSeen) - invalidParameterOrder(); propertyName = setPropertyName; setPropertyName = "potentialVertexSet"; propertyValue = expression(statement, ++i); @@ -3576,13 +3625,13 @@ default: invalidArgument(); } - if (modifyOnly && needsGenerating) - badArgumentCount(); viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, propertyName, propertyValue); + if (onOffDelete) + return; } - if (! needsGenerating && ! optionalParameterSeen) - subcommandExpected(); + if (! needsGenerating && ! typeSeen && ! edgeParameterSeen) + insufficientArguments(); if (needsGenerating) viewer.setShapeProperty(JmolConstants.SHAPE_POLYHEDRA, "generate", null); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-09-16 03:07:16
|
Revision: 5556 http://svn.sourceforge.net/jmol/?rev=5556&view=rev Author: hansonr Date: 2006-09-15 20:07:12 -0700 (Fri, 15 Sep 2006) Log Message: ----------- #note required: calculate surface 1.2 select surfacedistance > 2 color surfacedistance 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-16 02:59:30 UTC (rev 5555) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-09-16 03:07:12 UTC (rev 5556) @@ -1015,6 +1015,8 @@ continue; break; case Token.surfacedistance: + if (viewer.getFrame().getSurfaceDistanceMax() == 0) + dots(statementLength, Dots.DOTS_MODE_CALCONLY); propertyValue = atom.getSurfaceDistance(); if (propertyValue < 0) continue; @@ -1819,9 +1821,6 @@ case Token.dollarsign: colorNamedObject(2); return; - case Token.surfacedistance: - if (viewer.getFrame().getSurfaceDistanceMax() == 0) - dots(statementLength, Dots.DOTS_MODE_CALCONLY); case Token.colorRGB: case Token.none: case Token.cpk: @@ -1834,6 +1833,7 @@ case Token.fixedtemp: case Token.formalCharge: case Token.partialCharge: + case Token.surfacedistance: case Token.user: case Token.monomer: case Token.molecule: @@ -1942,7 +1942,10 @@ case Token.fixedtemp: case Token.altloc: case Token.insertion: + break; case Token.surfacedistance: + if (viewer.getFrame().getSurfaceDistanceMax() == 0) + dots(statementLength, Dots.DOTS_MODE_CALCONLY); break; case Token.temperature: if (viewer.isRangeSelected()) 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:48:12
|
Revision: 5835 http://svn.sourceforge.net/jmol/?rev=5835&view=rev Author: hansonr Date: 2006-10-05 15:48:08 -0700 (Thu, 05 Oct 2006) Log Message: ----------- explicit refresh not required for select clickable 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 22:32:22 UTC (rev 5834) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-05 22:48:08 UTC (rev 5835) @@ -868,8 +868,7 @@ stack[sp++] = viewer.getVisibleSet(); break; case Token.clickable: - viewer.setTainted(true); - viewer.refresh(); + refresh(); stack[sp++] = viewer.getClickableSet(); break; case Token.specialposition: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-07 11:53:32
|
Revision: 5855 http://svn.sourceforge.net/jmol/?rev=5855&view=rev Author: hansonr Date: 2006-10-07 04:53:24 -0700 (Sat, 07 Oct 2006) Log Message: ----------- bug fix: isosurface hkl (Miller indices) 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-07 11:49:07 UTC (rev 5854) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-07 11:53:24 UTC (rev 5855) @@ -1519,13 +1519,15 @@ Point4f hklParameter(int i) throws ScriptException { Vector3f vAB = new Vector3f(); Vector3f vAC = new Vector3f(); - Point3f pt = getCoordinate(i, true); + Point3f pt = getCoordinate(i, true, false, 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) { + if (pt.x == 0 && pt.y == 0 && pt.z == 0) { + evalError(GT._("Miller indices cannot all be zero.")); + } else 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) { @@ -1672,7 +1674,7 @@ boolean isCoordinate3(int i) { try { - getCoordinate(i, true, true); + getCoordinate(i, true, true, false); } catch (Exception e) { return false; } @@ -1680,10 +1682,10 @@ } Point3f getCoordinate(int i, boolean allowFractional) throws ScriptException { - return getCoordinate(i, allowFractional, true); + return getCoordinate(i, allowFractional, true, false); } - Point3f getCoordinate(int i, boolean allowFractional, boolean doConvert) + Point3f getCoordinate(int i, boolean allowFractional, boolean doConvert, boolean implicitFractional) throws ScriptException { // syntax: {1/2, 1/2, 1/3} or {0.5/, 0.5, 0.5} // ONE fractional sign anywhere is enough to make ALL fractional; @@ -1691,7 +1693,7 @@ // commas not necessary if denominator is present or not a fraction if (i >= statementLength) coordinateExpected(); - coordinatesAreFractional = false; + coordinatesAreFractional = implicitFractional; if (statement[i++].tok != Token.leftbrace) coordinateExpected(); Point3f pt = new Point3f(); @@ -3933,7 +3935,7 @@ return; } viewer.setShapeProperty(JmolConstants.SHAPE_UCCAGE, "offset", - getCoordinate(cmdPt, true, false)); + getCoordinate(cmdPt, true, false, true)); } void setFrank(int cmdPt) throws ScriptException { @@ -5497,10 +5499,24 @@ case Token.string: propertyName = surfaceObjectSeen || planeSeen ? "mapColor" : "getSurface"; surfaceObjectSeen = true; - // must be a file name, optionally followed by an integer file index. + /* + * a file name, optionally followed by an integer file index. + * OR empty. In that case, if the model auxiliary info has the + * data stored in it, we use that. There are two possible structures: + * + * jmolSurfaceInfo + * jmolMappedDataInfo + * + * Both can be present, but if jmolMappedDataInfo is missing, + * then jmolSurfaceInfo is used by default. + * + */ String filename = (String) token.value; if (filename.length() == 0) { - propertyValue = viewer.getModelAuxiliaryInfo(modelIndex, "jmolSurfaceInfo"); + if (surfaceObjectSeen || planeSeen) + propertyValue = viewer.getModelAuxiliaryInfo(modelIndex, "jmolMappedDataInfo"); + if (propertyValue == null) + propertyValue = viewer.getModelAuxiliaryInfo(modelIndex, "jmolSurfaceInfo"); if (propertyValue != null) break; filename = viewer.getFullPathName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-17 17:04:07
|
Revision: 5975 http://svn.sourceforge.net/jmol/?rev=5975&view=rev Author: hansonr Date: 2006-10-17 10:03:12 -0700 (Tue, 17 Oct 2006) Log Message: ----------- (NOT test) instead of NOT(test) 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-17 16:50:10 UTC (rev 5974) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-17 17:03:12 UTC (rev 5975) @@ -716,12 +716,12 @@ boolean value = false; boolean isNot = false; int i = 1; + if (i < statementLength && statement[i].tok == Token.leftparen) + i++; if (statement[i].tok == Token.opNot) { i++; isNot = true; } - if (i < statementLength && statement[i].tok == Token.leftparen) - i++; if (i == statementLength) badArgumentCount(); String str = (String) statement[i].value; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-17 17:10:00
|
Revision: 5976 http://svn.sourceforge.net/jmol/?rev=5976&view=rev Author: hansonr Date: 2006-10-17 10:09:54 -0700 (Tue, 17 Oct 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-10-17 17:03:12 UTC (rev 5975) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-17 17:09:54 UTC (rev 5976) @@ -718,7 +718,7 @@ int i = 1; if (i < statementLength && statement[i].tok == Token.leftparen) i++; - if (statement[i].tok == Token.opNot) { + if (i < statementLength && statement[i].tok == Token.opNot) { i++; isNot = true; } 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:33:57
|
Revision: 5980 http://svn.sourceforge.net/jmol/?rev=5980&view=rev Author: hansonr Date: 2006-10-17 21:33:46 -0700 (Tue, 17 Oct 2006) Log Message: ----------- cleaner 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 04:14:24 UTC (rev 5979) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-18 04:33:46 UTC (rev 5980) @@ -3086,14 +3086,15 @@ return; } //zoom on|off - switch (statement[1].tok) { - case Token.on: - viewer.setZoomEnabled(true); - return; - case Token.off: - viewer.setZoomEnabled(false); - return; - } + if (!isZoomTo) + switch (statement[1].tok) { + case Token.on: + viewer.setZoomEnabled(true); + return; + case Token.off: + viewer.setZoomEnabled(false); + return; + } float time = (isZoomTo ? 1f : 0f); float zoom = viewer.getZoomPercentFloat(); float factor = 0; @@ -3140,7 +3141,7 @@ // no factor -- check for no center (zoom out) or same center (zoom in) if (center == null) factor /= 2; - else if (isSameAtom) + else if (isSameAtom) factor *= 2; } } @@ -3156,7 +3157,8 @@ xTrans = viewer.getTranslationXPercent(); yTrans = viewer.getTranslationYPercent(); } - viewer.moveTo(time, center, new Point3f(0, 0, 0), 0, factor, xTrans, yTrans, radius); + 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-23 04:06:56
|
Revision: 6002 http://svn.sourceforge.net/jmol/?rev=6002&view=rev Author: hansonr Date: 2006-10-22 21:06:51 -0700 (Sun, 22 Oct 2006) Log Message: ----------- minor bug fix for missing "set picking on" "set picking normal" 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-23 02:15:27 UTC (rev 6001) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-23 04:06:51 UTC (rev 6002) @@ -4534,6 +4534,10 @@ Token token = statement[statementLength - 1]; int tok = token.tok; switch (tok) { + case Token.on: + case Token.normal: + str = "ident"; + break; case Token.none: str = "off"; break; @@ -4553,7 +4557,7 @@ } try { if (str == null) - str = (String)token.value; + str = (String) token.value; } catch (Exception e) { invalidArgument(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-10-26 22:46:06
|
Revision: 6037 http://svn.sourceforge.net/jmol/?rev=6037&view=rev Author: hansonr Date: 2006-10-26 15:45:59 -0700 (Thu, 26 Oct 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-10-26 19:14:14 UTC (rev 6036) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-10-26 22:45:59 UTC (rev 6037) @@ -3147,8 +3147,9 @@ } float xTrans = 0; float yTrans = 0; - if (factor < 5 || factor > Viewer.MAXIMUM_ZOOM_PERCENTAGE) - numberOutOfRange(5, Viewer.MAXIMUM_ZOOM_PERCENTAGE); + float max = viewer.getMaxZoomPercent(); + if (factor < 5 || factor > max) + numberOutOfRange(5, max); if (!viewer.isWindowCentered()) { // do a smooth zoom only if not windowCentered if (center != null) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-08 15:13:01
|
Revision: 6136 http://svn.sourceforge.net/jmol/?rev=6136&view=rev Author: hansonr Date: 2006-11-08 07:12:50 -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:01:16 UTC (rev 6135) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-08 15:12:50 UTC (rev 6136) @@ -1015,8 +1015,6 @@ evalError(GT._("atom expression compiler error - stack over/underflow")); if (!isSubsetDefinition && bsSubset != null) stack[0].and(bsSubset); - System.out.println(StateManager.encodeBitset(stack[0])); - System.out.println(StateManager.decodeBitset(StateManager.encodeBitset(stack[0]))); return stack[0]; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ha...@us...> - 2006-11-17 04:23:46
|
Revision: 6242 http://svn.sourceforge.net/jmol/?rev=6242&view=rev Author: hansonr Date: 2006-11-16 20:23:45 -0800 (Thu, 16 Nov 2006) Log Message: ----------- show state: silent bitset selection 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-17 04:16:30 UTC (rev 6241) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-17 04:23:45 UTC (rev 6242) @@ -846,8 +846,9 @@ */ int pcLastExpressionInstruction; - + boolean isExpressionBitSet; BitSet expression(Token[] code, int pcStart) throws ScriptException { + isExpressionBitSet = false; BitSet bs; BitSet[] stack = new BitSet[10]; int sp = 0; @@ -964,6 +965,7 @@ break; case Token.bitset: stack[sp++] = (BitSet)instruction.value; + isExpressionBitSet = true; break; case Token.spec_alternate: stack[sp++] = viewer.getAtomBits("SpecAlternate", @@ -3052,7 +3054,7 @@ viewer.selectBonds((BitSet)statement[3].value); return; } - viewer.select(statementLength == 1 ? null : expression(statement, 1), tQuiet); + viewer.select(statementLength == 1 ? null : expression(statement, 1), tQuiet || isExpressionBitSet); } void subset() 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-23 07:48:16
|
Revision: 6301 http://svn.sourceforge.net/jmol/?rev=6301&view=rev Author: hansonr Date: 2006-11-22 23:48:15 -0800 (Wed, 22 Nov 2006) Log Message: ----------- bug 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:30:50 UTC (rev 6300) +++ trunk/Jmol/src/org/jmol/viewer/Eval.java 2006-11-23 07:48:15 UTC (rev 6301) @@ -822,7 +822,8 @@ } String getLine() { - int ichBegin = lineIndices[pc]; + //pc has been incremented + int ichBegin = lineIndices[pc - 1]; int ichEnd; if ((ichEnd = script.indexOf('\r', ichBegin)) == -1 && (ichEnd = script.indexOf('\n', ichBegin)) == -1) @@ -832,10 +833,11 @@ } String getCommand() { + //pc has been incremented int ichBegin = lineIndices[pc]; - int ichEnd = (pc + 1 == lineIndices.length || lineIndices[pc + 1] == 0 ? script + int ichEnd = (pc == lineIndices.length || lineIndices[pc] == 0 ? script .length() - : lineIndices[pc + 1]); + : lineIndices[pc]); while ("\n\r;".indexOf(script.charAt(ichEnd - 1)) >= 0) ichEnd--; return script.substring(ichBegin, ichEnd) + ";"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |