From: <ha...@us...> - 2007-08-21 12:34:01
|
Revision: 8121 http://jmol.svn.sourceforge.net/jmol/?rev=8121&view=rev Author: hansonr Date: 2007-08-21 05:33:58 -0700 (Tue, 21 Aug 2007) Log Message: ----------- 11.2.9 VERSION # bug fix dots nn% not operational # bug fix for state of multi-polymer protein cannot be restored # bug fix for script window using swing thread start not from event queue # bug fix for script window not showing undo/redo buttons # bug fix: lcaoCartoon for sp center requires "sp2" not "sp" # bug fix: mo not showing titles Modified Paths: -------------- branches/v11_2/Jmol/src/org/jmol/jvxl/readers/IsoMOReader.java branches/v11_2/Jmol/src/org/jmol/jvxl/readers/Parameters.java branches/v11_2/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java branches/v11_2/Jmol/src/org/jmol/modelset/ModelManager.java branches/v11_2/Jmol/src/org/jmol/modelset/ModelSet.java branches/v11_2/Jmol/src/org/jmol/shapespecial/Isosurface.java branches/v11_2/Jmol/src/org/jmol/shapespecial/LcaoCartoon.java branches/v11_2/Jmol/src/org/jmol/shapespecial/MolecularOrbital.java branches/v11_2/Jmol/src/org/jmol/util/TextFormat.java branches/v11_2/Jmol/src/org/jmol/viewer/Eval.java branches/v11_2/Jmol/src/org/jmol/viewer/Jmol.properties branches/v11_2/Jmol/src/org/jmol/viewer/Viewer.java Modified: branches/v11_2/Jmol/src/org/jmol/jvxl/readers/IsoMOReader.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/jvxl/readers/IsoMOReader.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/jvxl/readers/IsoMOReader.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -57,17 +57,19 @@ if (line.length() == 0 || pt < 0) return; int rep = 0; - if (line.indexOf("%I") > 0) + if (line.indexOf("%F") >= 0) + line = TextFormat.formatString(line, "F", params.fileName); + if (line.indexOf("%I") >= 0) line = TextFormat.formatString(line, "I", "" + params.qm_moNumber); - if (line.indexOf("%N") > 0) + if (line.indexOf("%N") >= 0) line = TextFormat.formatString(line, "N", "" + params.qmOrbitalCount); - if (line.indexOf("%E") > 0) + if (line.indexOf("%E") >= 0) line = TextFormat.formatString(line, "E", "" + mo.get("energy")); - if (line.indexOf("%U") > 0) + if (line.indexOf("%U") >= 0) line = TextFormat.formatString(line, "U", params.moData.containsKey("energyUnits") && ++rep != 0 ? (String) params.moData.get("energyUnits") : ""); - if (line.indexOf("%S") > 0) + if (line.indexOf("%S") >= 0) line = TextFormat.formatString(line, "S", mo.containsKey("symmetry") && ++rep != 0 ? "" + mo.get("symmetry") : ""); - if (line.indexOf("%O") > 0) + if (line.indexOf("%O") >= 0) line = TextFormat.formatString(line, "O", mo.containsKey("occupancy") && ++rep != 0 ? "" + mo.get("occupancy") : ""); boolean isOptional = (line.indexOf("?") == 0); params.title[iLine] = (!isOptional ? line : rep > 0 ? line.substring(1) : ""); Modified: branches/v11_2/Jmol/src/org/jmol/jvxl/readers/Parameters.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/jvxl/readers/Parameters.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/jvxl/readers/Parameters.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -186,6 +186,7 @@ distance = Float.MAX_VALUE; envelopeRadius = 10f; fileIndex = 1; + fileName = ""; iAddGridPoints = false; isAngstroms = false; isBicolorMap = isCutoffAbsolute = isPositiveOnly = false; @@ -578,7 +579,8 @@ String[] title; boolean blockCubeData; - int fileIndex; //one-based + int fileIndex; //one-based + String fileName; int modelIndex; // zero-based boolean isXLowToHigh; Modified: branches/v11_2/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/jvxl/readers/SurfaceGenerator.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -209,6 +209,10 @@ return params.script; } + public String[] getTitle() { + return params.title; + } + public BitSet getBsSelected() { return params.bsSelected; } @@ -664,6 +668,11 @@ return true; } + if ("fileName" == propertyName) { + params.fileName = (String) value; + return true; + } + if ("readFile" == propertyName) { if ((voxelReader = setFileData(value)) == null) { Logger.error("Could not set the data"); Modified: branches/v11_2/Jmol/src/org/jmol/modelset/ModelManager.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/modelset/ModelManager.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/modelset/ModelManager.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -1348,9 +1348,9 @@ modelSet.rotateSelected(mNew, matrixRotate, bs, fullMolecule); } - public boolean getPrincipalAxes(int atomIndex, Vector3f z, Vector3f x, + public String getHybridizationAndAxes(int atomIndex, Vector3f z, Vector3f x, String lcaoType, boolean hybridizationCompatible) { - return modelSet.getPrincipalAxes(atomIndex, z, x, lcaoType, + return modelSet.getHybridizationAndAxes(atomIndex, z, x, lcaoType, hybridizationCompatible); } Modified: branches/v11_2/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/modelset/ModelSet.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/modelset/ModelSet.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -1904,8 +1904,6 @@ } } - private String hybridization; - private Point3f[][] getAdditionalHydrogens(BitSet atomSet, int[] nTotal) { Vector3f z = new Vector3f(); Vector3f x = new Vector3f(); @@ -1921,8 +1919,8 @@ int nBonds = (atom.getCovalentHydrogenCount() > 0 ? 0 : atom .getCovalentBondCount()); if (nBonds == 3 || nBonds == 2) { //could be XA3 sp2 or XA2 sp - if (!viewer.getPrincipalAxes(i, z, x, "sp3", true) - || hybridization == "sp") + String hybridization = getHybridizationAndAxes(i, z, x, "sp3", true); + if (hybridization == null || hybridization.equals("sp")) nBonds = 0; } if (nBonds > 0 && nBonds <= 4) @@ -1932,34 +1930,34 @@ n = 0; switch (nBonds) { case 1: - viewer.getPrincipalAxes(i, z, x, "sp3a", false); + getHybridizationAndAxes(i, z, x, "sp3a", false); pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; - viewer.getPrincipalAxes(i, z, x, "sp3b", false); + getHybridizationAndAxes(i, z, x, "sp3b", false); pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; - viewer.getPrincipalAxes(i, z, x, "sp3c", false); + getHybridizationAndAxes(i, z, x, "sp3c", false); pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; break; case 2: - if (viewer.getPrincipalAxes(i, z, x, "sp3", true) - && hybridization != "sp") { - viewer.getPrincipalAxes(i, z, x, "lpa", false); + String hybridization = getHybridizationAndAxes(i, z, x, "sp3", true); + if (hybridization != null && !hybridization.equals("sp")) { + getHybridizationAndAxes(i, z, x, "lpa", false); pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; - viewer.getPrincipalAxes(i, z, x, "lpb", false); + getHybridizationAndAxes(i, z, x, "lpb", false); pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; } break; case 3: - if (viewer.getPrincipalAxes(i, z, x, "sp3", true)) { + if (getHybridizationAndAxes(i, z, x, "sp3", true) != null) { pt = new Point3f(z); pt.scaleAdd(1.1f, atom); hAtoms[i][n++] = pt; @@ -1975,13 +1973,13 @@ ////// special method for lcaoCartoons - boolean getPrincipalAxes(int atomIndex, Vector3f z, Vector3f x, + String getHybridizationAndAxes(int atomIndex, Vector3f z, Vector3f x, String lcaoTypeRaw, boolean hybridizationCompatible) { String lcaoType = (lcaoTypeRaw.length() > 0 && lcaoTypeRaw.charAt(0) == '-' ? lcaoTypeRaw .substring(1) : lcaoTypeRaw); Atom atom = atoms[atomIndex]; - hybridization = ""; + String hybridization = ""; z.set(0, 0, 0); x.set(0, 0, 0); Atom atom1 = atom; @@ -2052,7 +2050,7 @@ hybridization = "sp"; if (atom1.getCovalentBondCount() == 3) { //special case, for example R2C=O oxygen - getPrincipalAxes(atom1.atomIndex, z, x3, lcaoType, false); + getHybridizationAndAxes(atom1.atomIndex, z, x3, lcaoType, false); x3.set(x); if (lcaoType.indexOf("sp2") == 0) { // align z as sp2 orbital hybridization = "sp2"; @@ -2070,7 +2068,7 @@ atom1 = atom2; if (atom1.getCovalentBondCount() == 3) { //special case, for example R2C=C=CR2 central carbon - getPrincipalAxes(atom1.atomIndex, x, z, "pz", false); + getHybridizationAndAxes(atom1.atomIndex, x, z, "pz", false); if (lcaoType.equals("px")) x.scale(-1); z.set(x2); @@ -2127,8 +2125,7 @@ if (Math.abs(y2.dot(y1)) < 0.95f) { hybridization = "sp3"; if (lcaoType.indexOf("sp") == 0) { // align z as sp3 orbital - z - .set(lcaoType.equalsIgnoreCase("sp3") + z.set(lcaoType.equalsIgnoreCase("sp3") || lcaoType.indexOf("d") >= 0 ? x4 : lcaoType.indexOf("c") >= 0 ? x3 : lcaoType.indexOf("b") >= 0 ? x2 : x); @@ -2167,16 +2164,16 @@ } if (hybridizationCompatible) { if (hybridization == "") - return false; + return null; if (lcaoType.indexOf("p") == 0) { if (hybridization == "sp3") - return false; + return null; } else { if (lcaoType.indexOf(hybridization) < 0) - return false; + return null; } } - return true; + return hybridization; } /* ****************************************************** Modified: branches/v11_2/Jmol/src/org/jmol/shapespecial/Isosurface.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/shapespecial/Isosurface.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/shapespecial/Isosurface.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -222,7 +222,11 @@ } if ("title" == propertyName) { + if (value instanceof String && "-".equals((String)value)) + value = null; setPropertySuper(propertyName, value, bs); + sg.setParameter("title", title, bs); + return; } if ("select" == propertyName) { @@ -632,7 +636,7 @@ } private void setScriptInfo() { - thisMesh.title = title; + thisMesh.title = sg.getTitle(); thisMesh.scriptCommand = fixScript(sg.getScript(), sg.getBsSelected(), sg .getBsIgnore()); } Modified: branches/v11_2/Jmol/src/org/jmol/shapespecial/LcaoCartoon.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/shapespecial/LcaoCartoon.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/shapespecial/LcaoCartoon.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -220,7 +220,7 @@ } } if (isMolecular || thisType.equalsIgnoreCase("s") - || viewer.getPrincipalAxes(iAtom, axes[0], axes[1], thisType, true)) + || viewer.getHybridizationAndAxes(iAtom, axes[0], axes[1], thisType, true) != null) super.setProperty("lcaoCartoon", axes, null); if (isTranslucent) Modified: branches/v11_2/Jmol/src/org/jmol/shapespecial/MolecularOrbital.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/shapespecial/MolecularOrbital.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/shapespecial/MolecularOrbital.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -287,6 +287,7 @@ super.setProperty("colorRGB", moColorPos, null); } super.setProperty("title", moTitleFormat, null); + super.setProperty("fileName", viewer.getFileName(), null); super.setProperty("molecularOrbital", new Integer(moNumber), null); if (moTranslucentLevel != null) super.setProperty("translucenctLevel", moTranslucentLevel, null); Modified: branches/v11_2/Jmol/src/org/jmol/util/TextFormat.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/util/TextFormat.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/util/TextFormat.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -203,8 +203,8 @@ } } strLabel += strFormat.substring(ich); - if (strLabel.length() == 0) - return null; + //if (strLabel.length() == 0) + //return null; return strLabel; } Modified: branches/v11_2/Jmol/src/org/jmol/viewer/Eval.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/viewer/Eval.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/viewer/Eval.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -8733,7 +8733,7 @@ setShapeProperty(iShape, "modelIndex", new Integer(modelIndex)); Vector3f[] axes = { new Vector3f(), new Vector3f(), new Vector3f(pt) }; if (!isSyntaxCheck) - viewer.getPrincipalAxes(atomIndex, axes[0], axes[1], lcaoType, + viewer.getHybridizationAndAxes(atomIndex, axes[0], axes[1], lcaoType, false); propertyValue = axes; break; Modified: branches/v11_2/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v11_2/Jmol/src/org/jmol/viewer/Jmol.properties 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/viewer/Jmol.properties 2007-08-21 12:33:58 UTC (rev 8121) @@ -4,6 +4,8 @@ # bug fix for state of multi-polymer protein cannot be restored # bug fix for script window using swing thread start not from event queue # bug fix for script window not showing undo/redo buttons +# bug fix: lcaoCartoon for sp center requires "sp2" not "sp" +# bug fix: mo not showing titles # ----------------------------------------------------------------------------- Modified: branches/v11_2/Jmol/src/org/jmol/viewer/Viewer.java =================================================================== --- branches/v11_2/Jmol/src/org/jmol/viewer/Viewer.java 2007-08-21 12:23:52 UTC (rev 8120) +++ branches/v11_2/Jmol/src/org/jmol/viewer/Viewer.java 2007-08-21 12:33:58 UTC (rev 8121) @@ -1770,10 +1770,10 @@ modelManager.clearBfactorRange(); } - public boolean getPrincipalAxes(int atomIndex, Vector3f z, Vector3f x, + public String getHybridizationAndAxes(int atomIndex, Vector3f z, Vector3f x, String lcaoType, boolean hybridizationCompatible) { - return modelManager.getPrincipalAxes(atomIndex, z, x, lcaoType, + return modelManager.getHybridizationAndAxes(atomIndex, z, x, lcaoType, hybridizationCompatible); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |