From: Michael T H. <mic...@us...> - 2003-10-30 14:43:40
|
Update of /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/script In directory sc8-pr-cvs1:/tmp/cvs-serv1910/src/org/openscience/jmol/viewer/script Modified Files: Eval.java Log Message: changes for strands/trace rendering + tweaks for Egon CDKEditBus Index: Eval.java =================================================================== RCS file: /cvsroot/jmol/Jmol/src/org/openscience/jmol/viewer/script/Eval.java,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- Eval.java 13 Oct 2003 17:10:42 -0000 1.28 +++ Eval.java 30 Oct 2003 14:43:36 -0000 1.29 @@ -365,6 +365,9 @@ case Token.dots: dots(); break; + case Token.strands: + strands(); + break; case Token.trace: trace(); break; @@ -385,7 +388,6 @@ case Token.ssbonds: case Token.star: case Token.stereo: - case Token.strands: case Token.structure: case Token.unbond: case Token.write: @@ -1011,6 +1013,9 @@ case Token.trace: colorObject(Token.trace, 2); break; + case Token.strands: + colorObject(Token.strands, 2); + break; case Token.identifier: String str = (String)statement[1].value; if (str.equalsIgnoreCase("dotsConvex")) @@ -1074,6 +1079,9 @@ case Token.trace: viewer.setTraceColor(palette, color); break; + case Token.strands: + viewer.setStrandsColor(palette, color); + break; default: unrecognizedColorObject(); } @@ -1682,7 +1690,7 @@ int tok = statement[1].tok; switch (tok) { case Token.on: - radius = 0.33f; + radius = -1; // means thick-n-thin break; case Token.off: break; @@ -1694,20 +1702,47 @@ break; case Token.decimal: float angstroms = ((Float)statement[1].value).floatValue(); - if (angstroms >= 2) + if (angstroms > 4) numberOutOfRange(); radius = angstroms; break; case Token.identifier: String id = (String)statement[1].value; if (id.equalsIgnoreCase("temperature")) { - radius = -1; + radius = -2; // means trace temperature return; } default: booleanOrNumberExpected(); } viewer.setTraceRadius(radius); + } + + void strands() throws ScriptException { + float width = 0; + int tok = statement[1].tok; + switch (tok) { + case Token.on: + width = -1; // means take default + break; + case Token.off: + break; + case Token.integer: + int widthRasMol = statement[1].intValue; + if (widthRasMol >= 500) + numberOutOfRange(); + width = widthRasMol * 4 / 1000f; + break; + case Token.decimal: + float angstroms = ((Float)statement[1].value).floatValue(); + if (angstroms > 4) + numberOutOfRange(); + width = angstroms; + break; + default: + booleanOrNumberExpected(); + } + viewer.setStrandsWidth(width); } /**************************************************************** |