From: <ha...@us...> - 2014-01-09 01:42:56
|
Revision: 19155 http://sourceforge.net/p/jmol/code/19155 Author: hansonr Date: 2014-01-09 01:42:48 +0000 (Thu, 09 Jan 2014) Log Message: ----------- ___JmolVersion="14.1.5_dev_2014.01.08" bug fix: LCAOCartoon translucency broken bug fix: translucent backbone broken bug fix: pqr,p2n readers broken bug fix: isosurface map property xxx can fail if surface is a fragment that (somehow) has a point not associated with an underlying atom. Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cif/Subsystem.java trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java trunk/Jmol/src/org/jmol/api/SymmetryInterface.java trunk/Jmol/src/org/jmol/render/MeshRenderer.java trunk/Jmol/src/org/jmol/renderbio/BackboneRenderer.java trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java trunk/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java trunk/Jmol/src/org/jmol/scriptext/ScriptExt.java trunk/Jmol/src/org/jmol/shapesurface/IsosurfaceMesh.java trunk/Jmol/src/org/jmol/shapesurface/LcaoCartoon.java trunk/Jmol/src/org/jmol/symmetry/Symmetry.java trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java trunk/Jmol/src/org/jmol/util/Elements.java trunk/Jmol/src/org/jmol/util/GenericApplet.java trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: trunk/Jmol/src/org/jmol/adapter/readers/cif/Subsystem.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cif/Subsystem.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/adapter/readers/cif/Subsystem.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -1,6 +1,9 @@ package org.jmol.adapter.readers.cif; +import java.util.Map.Entry; + import javajs.util.List; +import javajs.util.M3; import javajs.util.M4; import javajs.util.Matrix; import javajs.util.V3; @@ -28,17 +31,17 @@ public SymmetryInterface getSymmetry() { if (modMatrices == null) - setSymmetry(); + setSymmetry(true); return symmetry; } public Matrix[] getModMatrices() { if (modMatrices == null) - setSymmetry(); + setSymmetry(true); return modMatrices; } - private void setSymmetry() { + private void setSymmetry(boolean setOperators) { double[][] a; // Part 1: Get sigma_nu @@ -57,7 +60,6 @@ Matrix sigma = msReader.getSigma(); Matrix sigma_nu = wdd.mul(sigma).add(wd3).mul(w3d.mul(sigma).add(w33).inverse()); Matrix tFactor = wdd.sub(sigma_nu.mul(w3d)); - modMatrices = new Matrix[] { sigma_nu, tFactor }; Logger.info("sigma_nu = " + sigma_nu); @@ -96,6 +98,10 @@ uc_nu[i + 1] = V3.new3((float) a[i][0], (float) a[i][1], (float) a[i][2]); uc_nu = reciprocalsOf(uc_nu); symmetry = msReader.cr.symmetry.getUnitCell(uc_nu, false); + if (!setOperators) + return; + + modMatrices = new Matrix[] { sigma_nu, tFactor }; // Part 3: Transform the operators // @@ -113,8 +119,8 @@ int nOps = s0.getSpaceGroupOperationCount(); for (int iop = 0; iop < nOps; iop++) { Matrix rv = s0.getOperationRsVs(iop); - Matrix r = rv.getRotation(); - Matrix v = rv.getTranslation(); + Matrix r0 = rv.getRotation(); + Matrix v0 = rv.getTranslation(); // System.out.println("op " + (iop + 1) + ".1: "+ r); // r = w2.mul(r).mul(w2inv); // System.out.println("op " + (iop + 1) + ".2: "+ r); @@ -123,14 +129,44 @@ // System.out.println("====="); // // r = rv.getRotation(); - r = w.mul(r).mul(winv); - v = w.mul(v); - String jf = symmetry.addOp(r, v, sigma_nu); + Matrix r = w.mul(r0).mul(winv); + Matrix v = w.mul(v0); + M3 jToi = null; + if(isComplex(r)) { + // must find 3+d subsystem + for (Entry<String, Subsystem> e: msReader.htSubsystems.entrySet()){ + Subsystem ss = e.getValue(); + if (ss == this) + continue; + Matrix rj = ss.w.mul(r0).mul(winv); + if (!isComplex(rj)) { + // result of this operation will be in other system. + jToi = M3.newM(symmetry.getMatrix("toFractional")); + if (ss.symmetry == null) + ss.setSymmetry(false); + jToi.mul(ss.symmetry.getMatrix("toCartesian")); + r = rj; + v = ss.w.mul(v0); + break; + } + } + } + String jf = symmetry.addOp(code, r, v, sigma_nu, jToi); + Logger.info(jf); } System.out.println("===="); } + private boolean isComplex(Matrix r) { + double[][] a = r.getArray(); + for (int i = 3; --i >= 0;) + for (int j = 3 + d; --j >= 3;) + if (a[i][j] != 0) + return true; + return false; + } + private V3[] reciprocalsOf(V3[] abc) { V3[] rabc = new V3[4]; rabc[0] = abc[0]; // origin Modified: trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/adapter/smarter/Resolver.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -43,11 +43,11 @@ private final static String[] readerSets = new String[] { "cif.", ";Cif;", "molxyz.", ";Mol3D;Mol;Xyz;", - "more.", ";BinaryDcd;Gromacs;Jcampdx;MdCrd;MdTop;Mol2;Pqr;P2n;TlsDataOnly;", + "more.", ";BinaryDcd;Gromacs;Jcampdx;MdCrd;MdTop;Mol2;TlsDataOnly;", "quantum.", ";Adf;Csf;Dgrid;GamessUK;GamessUS;Gaussian;GausianWfn;Jaguar;" + "Molden;MopacGraphf;GenNBO;NWChem;Odyssey;Psi;Qchem;Spartan;SpartanSmol;" + "WebMO;", - "pdb.", ";Pdb;", + "pdb.", ";Pdb;Pqr;P2n;", "pymol.", ";PyMOL;", "simple.", ";Alchemy;Ampac;Cube;FoldingXyz;GhemicalMM;HyperChem;Jme;Mopac;MopacArchive;ZMatrix;JSON;", "xtal.", ";Abinit;Aims;Castep;Crystal;Dmol;Espresso;Gulp;Jana;Magres;Shelx;Siesta;VaspOutcar;" + Modified: trunk/Jmol/src/org/jmol/api/SymmetryInterface.java =================================================================== --- trunk/Jmol/src/org/jmol/api/SymmetryInterface.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/api/SymmetryInterface.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -178,8 +178,10 @@ public int getSiteMultiplicity(P3 a); - public String addOp(Matrix rs, Matrix vs, Matrix sigma); + public String addOp(String code, Matrix rs, Matrix vs, Matrix sigma, M3 jToi); public String getUnitCellState(); + public M3 getMatrix(String type); + } Modified: trunk/Jmol/src/org/jmol/render/MeshRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/render/MeshRenderer.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/render/MeshRenderer.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -190,7 +190,9 @@ needTranslucent = true; doRender = (setColix(mesh.colix) || mesh.showContourLines); if (!doRender || isGhostPass && !(doRender = g3d.setColix(mesh.slabColix))) { - vertices = mesh.vertices; + vertices = mesh.vertices; + if (needTranslucent) + g3d.setColix(C.getColixTranslucent3(C.BLACK, true, 0.5f)); return true; } vertices = (mesh.scale3d == 0 && mesh.mat4 == null ? mesh.vertices : mesh.getOffsetVertices(thePlane)); Modified: trunk/Jmol/src/org/jmol/renderbio/BackboneRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/BackboneRenderer.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/renderbio/BackboneRenderer.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -47,15 +47,8 @@ continue; short colixA = C.getColixInherited(colixes[i], atomA.getColix()); short colixB = C.getColixInherited(colixes[i + 1], atomB.getColix()); - if (!isExport && !isPass2) { - boolean doA = !C.isColixTranslucent(colixA); - boolean doB = !C.isColixTranslucent(colixB); - if (!doA || !doB) { - if (!doA && !doB) - continue; - needTranslucent = true; - } - } + if (!isExport && !isPass2 && !setBioColix(colixA) && !setBioColix(colixB)) + continue; int xA = atomA.sX, yA = atomA.sY, zA = atomA.sZ; int xB = atomB.sX, yB = atomB.sY, zB = atomB.sZ; mad = mads[i]; Modified: trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -179,7 +179,7 @@ protected boolean setBioColix(short colix) { if (g3d.setColix(colix)) - return true; + return true; needTranslucent = true; return false; } Modified: trunk/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -33,6 +33,8 @@ import org.jmol.util.GData; import javajs.util.List; import org.jmol.util.Normix; +import org.jmol.viewer.JC; + import javajs.util.P3; import javajs.util.P3i; import javajs.util.V3; @@ -158,7 +160,7 @@ private boolean renderMeshSlab() { volumeRender = (imesh.jvxlData.colorDensity && imesh.jvxlData.allowVolumeRender); int thisSlabValue = mySlabValue; - frontOnly = mesh.frontOnly; + frontOnly = mesh.frontOnly || shapeID == JC.SHAPE_LCAOCARTOON; if (!isNavigationMode) { meshSlabValue = imesh.jvxlData.slabValue; if (meshSlabValue != Integer.MIN_VALUE Modified: trunk/Jmol/src/org/jmol/scriptext/ScriptExt.java =================================================================== --- trunk/Jmol/src/org/jmol/scriptext/ScriptExt.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/scriptext/ScriptExt.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -2777,7 +2777,8 @@ setShapeProperty(iShape, "clear", null); if (toCache) setShapeProperty(iShape, "cache", null); - listIsosurface(iShape); + if (iShape != JC.SHAPE_LCAOCARTOON) + listIsosurface(iShape); return true; } @@ -8313,7 +8314,8 @@ * @return T/F * @throws ScriptException */ - private boolean evaluateList(ScriptMathProcessor mp, int tok, SV[] args) + private boolean evaluateList(ScriptMathProcessor mp, + int tok, SV[] args) throws ScriptException { int len = args.length; SV x1 = mp.getX(); Modified: trunk/Jmol/src/org/jmol/shapesurface/IsosurfaceMesh.java =================================================================== --- trunk/Jmol/src/org/jmol/shapesurface/IsosurfaceMesh.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/shapesurface/IsosurfaceMesh.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -538,9 +538,7 @@ if (isAtoms) for (int i = 0; i < vertexCount; i++) { int pt = vertexSource[i]; - if (pt < 0) - continue; - if (bs.get(pt)) { + if (pt >= 0 && bs.get(pt)) { vertexColixes[i] = colix; if (bsVertices != null) bsVertices.set(i); @@ -752,7 +750,7 @@ Atom[] atoms = viewer.getModelSet().atoms; for (int i = mergeVertexCount0; i < vertexCount; i++) { int pt = vertexSource[i]; - if (pt < atoms.length) + if (pt >= 0 && pt < atoms.length) jvxlData.vertexColors[i] = viewer.getColorArgbOrGray(vertexColixes[i] = C.copyColixTranslucency(colix, atoms[pt].getColix())); } Modified: trunk/Jmol/src/org/jmol/shapesurface/LcaoCartoon.java =================================================================== --- trunk/Jmol/src/org/jmol/shapesurface/LcaoCartoon.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/shapesurface/LcaoCartoon.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -57,7 +57,8 @@ //persistent private Float lcaoScale; - private boolean isTranslucent; + private boolean lcaoTranslucent; + private float lcaoTranslucentLevel; private Integer lcaoColorPos; private Integer lcaoColorNeg; boolean isLonePair; @@ -128,17 +129,17 @@ } if ("translucentLevel" == propertyName) { - translucentLevel = ((Float) value).floatValue(); + lcaoTranslucentLevel = ((Float) value).floatValue(); //pass through } if ("settranslucency" == propertyName) { - isTranslucent = (((String) value).equals("translucent")); + lcaoTranslucent = (((String) value).equals("translucent")); return; } if ("translucency" == propertyName) { - isTranslucent = (((String) value).equals("translucent")); + lcaoTranslucent = (((String) value).equals("translucent")); if (lcaoID == null) return; } @@ -272,6 +273,7 @@ if (meshes[i].thisID.indexOf(id) == 0) deleteMeshI(i); setPropI("init", null, null); + translucentLevel = lcaoTranslucentLevel; setPropI("thisID", id, null); //System.out.println("lcaocartoon: " + id); if (lcaoScale != null) @@ -317,7 +319,7 @@ setPropI("translucentLevel", Float.valueOf(C.getColixTranslucencyLevel(colix)), null); setPropI("translucency", "translucent", null); } - } else if (isTranslucent) + } else if (lcaoTranslucent) for (int i = meshCount; --i >= 0;) if (meshes[i].thisID.indexOf(id) == 0) meshes[i].setTranslucent(true, translucentLevel); @@ -341,7 +343,7 @@ appendCmd(sb, "lcaoCartoon color " + Escape.escapeColor(lcaoColorNeg.intValue()) + " " + Escape.escapeColor(lcaoColorPos.intValue())); - if (isTranslucent) + if (lcaoTranslucent) appendCmd(sb, "lcaoCartoon translucent " + translucentLevel); for (int i = meshCount; --i >= 0;) if (!meshes[i].visible) @@ -354,7 +356,8 @@ LcaoCartoon lc = (LcaoCartoon) shape; lcaoScale = lc.lcaoScale; lcaoColorNeg = lc.lcaoColorNeg; - isTranslucent = lc.isTranslucent; + lcaoTranslucent = lc.lcaoTranslucent; + lcaoTranslucentLevel = lc.lcaoTranslucentLevel; super.merge(shape); } Modified: trunk/Jmol/src/org/jmol/symmetry/Symmetry.java =================================================================== --- trunk/Jmol/src/org/jmol/symmetry/Symmetry.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/symmetry/Symmetry.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -752,16 +752,28 @@ * @param trans is a (3+d)x(1) array of translations * @return Jones-Faithful representation */ - public String addOp(Matrix rs, Matrix vs, Matrix sigma) { + public String addOp(String code, Matrix rs, Matrix vs, Matrix sigma, M3 jtoi) { spaceGroup.isSSG = true; String s = SymmetryOperation.getXYZFromRsVs(rs, vs, false); int i = spaceGroup.addSymmetry(s, -1, true); - spaceGroup.operations[i].setSigma(sigma); - return s; + spaceGroup.operations[i].setSigma(code, sigma, jtoi); + System.out.println(spaceGroup.operations[i]); + return s; } @Override public String getUnitCellState() { return (unitCell == null ? "" : unitCell.getState()); } + + @Override + public M3 getMatrix(String type) { + M3 m = new M3(); + if (type.equals("toFractional")) { + unitCell.matrixCartesianToFractional.getRotationScale(m); + } else if (type.equals("toCartesian")) { + unitCell.matrixFractionalToCartesian.getRotationScale(m); + } + return m; + } } Modified: trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java =================================================================== --- trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/symmetry/SymmetryOperation.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -69,8 +69,6 @@ private int opId; private P3 atomTest; - private P3 temp3 = new P3(); - private P3 temp3b; private String[] myLabels; int modDim; @@ -86,13 +84,15 @@ Matrix rsvs; private boolean isBio; - private M3 mComplex; - private boolean isComplex; private Matrix sigma; int index; + private M3 jtoi; + private String subsystemCode; - void setSigma(Matrix sigma) { + void setSigma(String subsystemCode, Matrix sigma, M3 jtoi) { + this.subsystemCode = subsystemCode; this.sigma = sigma; + this.jtoi = jtoi; } /** @@ -124,6 +124,8 @@ index = op.index; linearRotTrans = op.linearRotTrans; sigma = op.sigma; + jtoi = op.jtoi; + subsystemCode = op.subsystemCode; setMatrix(false); if (!op.isFinalized) doFinalize(); @@ -157,11 +159,8 @@ double[] t = new double[n]; int pt = 0; for (int i = 0; i < n; i++) { - for (int j = 0; j < n; j++) { + for (int j = 0; j < n; j++) a[i][j] = linearRotTrans[pt++]; - if (i < 3 && j >= 3 && a[i][j] != 0) - isComplex = true; - } t[i] = (isReverse ? -1 : 1) * linearRotTrans[pt++]; } a[n][n] = 1; @@ -193,45 +192,15 @@ } void newPoint(P3 atom1, P3 atom2, int transX, int transY, int transZ) { - temp3.setT(atom1); - if (isComplex) { - if (mComplex == null) { - mComplex = new M3(); - Matrix w = rsvs.getSubmatrix(0, 3, 3, modDim); - w = w.mul(sigma); - double[][] a = w.getArray(); - for (int i = 0; i < 3; i++) - for (int j = 0; j < 3; j++) - mComplex.setElement(i, j, (float) a[i][j]); - temp3b = new P3(); - } - temp3b.setT(atom1); -// temp3b.x += transX; -// temp3b.y += transY; -// temp3b.z += transZ; - mComplex.transform2(temp3b, temp3b); -// temp3.x += transX; -// temp3.y += transY; -// temp3.z += transZ; - transform2(temp3, temp3); - temp3.x += temp3b.x; - temp3.y += temp3b.y; - temp3.z += temp3b.z; -// atom2.set(temp3.x, temp3.y, temp3.z); -// if (index==3) { - System.out.println("op=" + index + " " + xyz + " " + transX + " " + transY + " " + transZ); - //System.out.println(this); - //System.out.println("rsvs=" + rsvs); - //System.out.println("r3d=" + rsvs.getSubmatrix(0, 3, 3, modDim)); - //System.out.println("sigma=" + sigma); - //System.out.println("rot2=" + mComplex); -// System.out.println("atom1=" + ((org.jmol.adapter.smarter.Atom) atom1).atomName + " " + atom1); -// System.out.println("atom2=" + atom2); -// } - } else { - transform2(temp3, temp3); + transform2(atom1, atom2); + atom2.x += transX; + atom2.y += transY; + atom2.z += transZ; + if (jtoi != null) { + System.out.print(subsystemCode + "." + index + " " + atom1 + " " + atom2); + jtoi.transform(atom2); + System.out.println(" " + atom2); } - atom2.set(temp3.x + transX, temp3.y + transY, temp3.z + transZ); } String dumpInfo() { Modified: trunk/Jmol/src/org/jmol/util/Elements.java =================================================================== --- trunk/Jmol/src/org/jmol/util/Elements.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/util/Elements.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -1069,6 +1069,21 @@ return (i < 1 || i >= Elements.hydrophobicities.length ? 0 : Elements.hydrophobicities[i]); } + // source: Bioinformatics explained: Hydrophobicity + // December 17, 2005 + // CLC bio; Gustav Wieds Vej 10 8000 Aarhus C Denmark; + // www.clcbio.com in...@cl... + // http://home.hiroshima-u.ac.jp/kei/IdentityX/picts/BE-hydrophobicity.pdf + // + // "Rose scale. The hydrophobicity scale by Rose et al. + // is correlated to the average area of buried + // amino acids in globular proteins [Rose et al., 1985]. + // This results in a scale which is not showing the helices + // of a protein, but rather the surface accessibility." + // [Rose et al., 1985] Rose, G. D., Geselowitz, A. R., Lesser, + // G. J., Lee, R. H., and Zehfus, M. H. (1985). + // Hydrophobicity of amino acid residues in globular proteins. + // Science, 229(4716):834-838. private final static float[] hydrophobicities = { 0f, Modified: trunk/Jmol/src/org/jmol/util/GenericApplet.java =================================================================== --- trunk/Jmol/src/org/jmol/util/GenericApplet.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/util/GenericApplet.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -867,14 +867,6 @@ //////////// applet registration for direct applet-applet communication //////////// synchronized static void checkIn(String name, Object applet) { - /** - * @j2sNative - * - * if (Jmol._htRegistry) {J.util.GenericApplet.htRegistry = - * Jmol._htRegistry} else {Jmol._htRegistry = - * J.util.GenericApplet.htRegistry}; - * - */ if (name != null) { Logger.info("AppletRegistry.checkIn(" + name + ")"); htRegistry.put(name, applet); @@ -900,20 +892,26 @@ return; } String ext = "__" + mySyncId + "__"; + //System.out.println("findApplet looking for " + ext + " appletName=" + appletName + " " + htRegistry.containsKey(appletName)); if (appletName == null || appletName.equals("*") || appletName.equals(">")) { for (String appletName2 : htRegistry.keySet()) { + //System.out.println("findApplet key=" + appletName2); if (!appletName2.equals(excludeName) && appletName2.indexOf(ext) > 0) { + //System.out.println("findApplet found " + appletName2); apps.addLast(appletName2); } } return; } + if (excludeName.indexOf("_object") >= 0 && appletName.indexOf("_object") < 0) + appletName += "_object"; if (appletName.indexOf("__") < 0) appletName += ext; if (!htRegistry.containsKey(appletName)) appletName = "jmolApplet" + appletName; if (!appletName.equals(excludeName) && htRegistry.containsKey(appletName)) { apps.addLast(appletName); + //System.out.println("findApplet found2 " + appletName); } } Modified: trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java =================================================================== --- trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java 2014-01-09 01:42:48 UTC (rev 19155) @@ -44,7 +44,7 @@ public class SimpleUnitCell { protected float[] notionalUnitcell; //6 parameters + optional 16 matrix items - protected M4 matrixCartesianToFractional; + public M4 matrixCartesianToFractional; public M4 matrixFractionalToCartesian; protected final static float toRadians = (float) Math.PI * 2 / 360; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2014-01-07 06:10:07 UTC (rev 19154) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2014-01-09 01:42:48 UTC (rev 19155) @@ -1,7 +1,7 @@ ___JmolDate="$Date$" ___fullJmolProperties="src/org/jmol/viewer/Jmol.properties" - + # THIS IS THE DEVELOPMENT TRUNK # Developers: to add a description of changes you have made, @@ -11,7 +11,18 @@ # The quotes above look odd for a parameter file, but they are # important for the JavaScript version of Jmol. -___JmolVersion="14.1.4" +___JmolVersion="14.1.5_dev_2014.01.08" + +bug fix: LCAOCartoon translucency broken +bug fix: translucent backbone broken +bug fix: pqr,p2n readers broken +bug fix: isosurface map property xxx can fail if surface is a + fragment that (somehow) has a point not associated with + an underlying atom. + + + +JmolVersion="14.1.4" JmolVersion="14.1.4_dev_2014.01.05" bug fix: PDB byChain, bySymop not supported. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |