From: <ha...@us...> - 2011-10-19 10:13:29
|
Revision: 16374 http://jmol.svn.sourceforge.net/jmol/?rev=16374&view=rev Author: hansonr Date: 2011-10-19 10:13:23 +0000 (Wed, 19 Oct 2011) Log Message: ----------- version=12.2.3_dev # bug fix: .... vdw 100.0% --- should be OK with float there, even if it rounds. Modified Paths: -------------- branches/v12_2/Jmol/src/org/jmol/script/ScriptEvaluator.java branches/v12_2/Jmol/src/org/jmol/viewer/Jmol.properties Modified: branches/v12_2/Jmol/src/org/jmol/script/ScriptEvaluator.java =================================================================== --- branches/v12_2/Jmol/src/org/jmol/script/ScriptEvaluator.java 2011-10-19 10:12:49 UTC (rev 16373) +++ branches/v12_2/Jmol/src/org/jmol/script/ScriptEvaluator.java 2011-10-19 10:13:23 UTC (rev 16374) @@ -11133,16 +11133,8 @@ case Token.vanderwaals: value = 1; factorType = RadiusData.EnumType.FACTOR; - switch (tok) { - case Token.adpmax: - case Token.adpmin: - case Token.ionic: - case Token.hydrophobic: - case Token.temperature: - case Token.vanderwaals: - default: - } - vdwType = (tok == Token.vanderwaals ? null : EnumVdw.getVdwType2(Token.nameOf(tok))); + vdwType = (tok == Token.vanderwaals ? null : EnumVdw.getVdwType2(Token + .nameOf(tok))); tok = tokAt(++index); break; } @@ -11159,9 +11151,33 @@ iToken = index - 1; break; case Token.plus: + case Token.integer: case Token.decimal: - if (tok == Token.plus) + if (tok == Token.plus) { index++; + } else if (tokAt(index + 1) == Token.percent) { + value = Math.round(floatParameter(index)); + iToken = ++index; + factorType = RadiusData.EnumType.FACTOR; + if (value < 0 || value > 200) + integerOutOfRange(0, 200); + value /= 100; + break; + } else if (tok == Token.integer) { + value = intParameter(index); + // rasmol 250-scale if positive or percent (again), if negative + // (deprecated) + if (value > 749 || value < -200) + integerOutOfRange(-200, 749); + if (value > 0) { + value /= 250; + factorType = RadiusData.EnumType.ABSOLUTE; + } else { + value /= -100; + factorType = RadiusData.EnumType.FACTOR; + } + break; + } value = floatParameter(index, (isOnly || !allowAbsolute ? -Atom.RADIUS_MAX : 0), Atom.RADIUS_MAX); if (tok == Token.plus || !allowAbsolute) { @@ -11173,28 +11189,6 @@ if (isOnly) value = -value; break; - case Token.integer: - value = intParameter(index); - if (tokAt(index + 1) == Token.percent) { - iToken = ++index; - factorType = RadiusData.EnumType.FACTOR; - if (value < 0 || value > 200) - integerOutOfRange(0, 200); - value /= 100; - break; - } - // rasmol 250-scale if positive or percent (again), if negative - // (deprecated) - if (value > 749 || value < -200) - integerOutOfRange(-200, 749); - if (value > 0) { - value /= 250; - factorType = RadiusData.EnumType.ABSOLUTE; - } else { - value /= -100; - factorType = RadiusData.EnumType.FACTOR; - } - break; default: if (value == 1) index--; Modified: branches/v12_2/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v12_2/Jmol/src/org/jmol/viewer/Jmol.properties 2011-10-19 10:12:49 UTC (rev 16373) +++ branches/v12_2/Jmol/src/org/jmol/viewer/Jmol.properties 2011-10-19 10:13:23 UTC (rev 16374) @@ -4,6 +4,7 @@ version=12.2.3_dev +# bug fix: .... vdw 100.0% --- should be OK with float there, even if it rounds. # bug fix: reading of JVXL files for color density fails to color properly # bug fix: load append twice can cause zap to be in wrong place in state file # bug fix: for (x IN {*}) ... makes x a bitset and leads to array[1] for x.atomName This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |