Revision: 20918 http://sourceforge.net/p/jmol/code/20918 Author: hansonr Date: 2016-01-04 12:48:02 +0000 (Mon, 04 Jan 2016) Log Message: ----------- Jmol.___JmolVersion="14.4.1_2016.01.04"
bug fix: setting cartoons on for phosphorus-only polymers fails bug fix: setting default label properties using select none;.... fails bug fix: undocumented model-based draw [array of points] broken -- points only -- selects from visible frames (frame *, for example) -- load cyclohexane_movie.xyz; frame *; draw @{{C5}.split().sub({1,0,0}) Modified Paths: -------------- branches/v14_4/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java branches/v14_4/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java branches/v14_4/Jmol/src/org/jmol/renderbio/CartoonRenderer.java branches/v14_4/Jmol/src/org/jmol/renderbio/NucleicRenderer.java branches/v14_4/Jmol/src/org/jmol/shape/Labels.java branches/v14_4/Jmol/src/org/jmol/shapespecial/Draw.java branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties trunk/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java trunk/Jmol/src/org/jmol/renderbio/CartoonRenderer.java trunk/Jmol/src/org/jmol/renderbio/NucleicRenderer.java trunk/Jmol/src/org/jmol/shape/AtomShape.java trunk/Jmol/src/org/jmol/shape/Labels.java trunk/Jmol/src/org/jmol/shapespecial/Draw.java trunk/Jmol/src/org/jmol/viewer/Jmol.properties Modified: branches/v14_4/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -23,7 +23,7 @@ */ package org.jmol.modelsetbio; -class PhosphorusPolymer extends BioPolymer { +public class PhosphorusPolymer extends BioPolymer { PhosphorusPolymer(Monomer[] monomers) { setP(monomers); Modified: branches/v14_4/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -26,10 +26,11 @@ import org.jmol.c.STR; import org.jmol.java.BS; -import org.jmol.modelset.Atom; //import org.jmol.modelsetbio.AlphaMonomer; +import org.jmol.modelset.Atom; import org.jmol.modelsetbio.CarbohydratePolymer; import org.jmol.modelsetbio.Monomer; -import org.jmol.modelsetbio.NucleicPolymer; //import org.jmol.modelsetbio.ProteinStructure; +import org.jmol.modelsetbio.NucleicPolymer; +import org.jmol.modelsetbio.PhosphorusPolymer; import org.jmol.render.MeshRenderer; import org.jmol.script.T; import org.jmol.shape.Mesh; @@ -73,6 +74,7 @@ protected Monomer[] monomers; protected boolean isNucleic; + protected boolean isPhosphorusOnly; protected boolean isCarbohydrate; protected BS bsVisible = new BS(); protected P3[] ribbonTopScreens; @@ -224,6 +226,7 @@ // isNucleic = bioShape.bioPolymer.isNucleic(); isNucleic = bioShape.bioPolymer instanceof NucleicPolymer; + isPhosphorusOnly = !isNucleic && bioShape.bioPolymer instanceof PhosphorusPolymer; isCarbohydrate = bioShape.bioPolymer instanceof CarbohydratePolymer; haveControlPointScreens = false; wingVectors = bioShape.wingVectors; Modified: branches/v14_4/Jmol/src/org/jmol/renderbio/CartoonRenderer.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/renderbio/CartoonRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/renderbio/CartoonRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -38,7 +38,7 @@ protected void renderBioShape(BioShape bioShape) { if (!setupRR(bioShape, false)) return; - if (isNucleic) { + if (isNucleic || isPhosphorusOnly) { if (nucleicRenderer == null) nucleicRenderer = (NucleicRenderer) Interface.getInterface("org.jmol.renderbio.NucleicRenderer", vwr, "render"); calcScreenControlPoints(); @@ -75,6 +75,9 @@ boolean doRockets = false; for (int i = monomerCount; --i >= 0;) { // runs backwards, so it can render the heads first + if (monomers[i].getStructure() != null && !(monomers[i].getStructure() instanceof ProteinStructure)) { + System.out.println("BUG HERE IN CARTOONRENDERER"); + } thisStructure = (ProteinStructure) monomers[i].getStructure(); if (thisStructure != previousStructure) { lastWasSheet = false; Modified: branches/v14_4/Jmol/src/org/jmol/renderbio/NucleicRenderer.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/renderbio/NucleicRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/renderbio/NucleicRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -101,14 +101,15 @@ } private void renderNucleicBaseStep(int im) { - NucleicMonomer nucleotide= - (NucleicMonomer) bsr.monomers[im]; - short thisMad= bsr.mads[im]; - if (rScr[0] == null) { - for (int i = 10; --i >= 0; ) + if (bsr.isPhosphorusOnly) + return; + NucleicMonomer nucleotide = (NucleicMonomer) bsr.monomers[im]; + short thisMad = bsr.mads[im]; + if (rScr[0] == null) { + for (int i = 10; --i >= 0;) rScr[i] = new P3(); - for (int i = 5; --i >= 0; ) - rScr5[i] = new P3(); + for (int i = 5; --i >= 0;) + rScr5[i] = new P3(); baseScreen = new P3(); basePt = new P3(); rPt[9] = new P3(); // ribose center @@ -163,8 +164,8 @@ basePt.setT(stepPt); nucleotide.getRiboseRing5Points(rPt); P3 c = rPt[9]; - c.set(0, 0, 0); - for (int i = 0; i < 5; i++) + c.set(0, 0, 0); + for (int i = 0; i < 5; i++) c.add(rPt[i]); c.scale(0.2f); transformPoints(10, rPt, rScr); Modified: branches/v14_4/Jmol/src/org/jmol/shape/Labels.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/shape/Labels.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/shape/Labels.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -140,6 +140,10 @@ setScaling(); LabelToken[][] tokens = null; int nbs = checkStringLength(bsSelected.length()); + if (defaultColix != C.INHERIT_ALL || defaultPaletteID != 0) + checkColixLength(defaultColix, bsSelected.length()); + if (defaultBgcolix != C.INHERIT_ALL) + checkBgColixLength(defaultBgcolix, bsSelected.length()); if (value instanceof Lst) { Lst<SV> list = (Lst<SV>) value; int n = list.size(); @@ -490,9 +494,9 @@ setZPos(i, JC.LABEL_ZPOS_GROUP, true); if (defaultPointer != JC.LABEL_POINTER_NONE) setPointer(i, defaultPointer); - if (defaultColix != 0 || defaultPaletteID != 0) + if (defaultColix != C.INHERIT_ALL || defaultPaletteID != 0) setLabelColix(i, defaultColix, defaultPaletteID); - if (defaultBgcolix != 0) + if (defaultBgcolix != C.INHERIT_ALL) setBgcolix(i, defaultBgcolix); if (defaultFontId != zeroFontId) setFont(i, defaultFontId); Modified: branches/v14_4/Jmol/src/org/jmol/shapespecial/Draw.java =================================================================== --- branches/v14_4/Jmol/src/org/jmol/shapespecial/Draw.java 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/shapespecial/Draw.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -357,7 +357,7 @@ modelInfo[1]++; // counts vertices return; } - + if ("offset" == propertyName) { offset = V3.newV((P3) value); if (thisMesh != null) @@ -366,9 +366,9 @@ } if ("atomSet" == propertyName) { - if (BSUtil.cardinalityOf((BS) value) == 0) + BS bsAtoms = (BS) value; + if (bsAtoms.isEmpty()) return; - BS bsAtoms = (BS) value; vData.addLast(new Object[] { Integer.valueOf(PT_BITSET), bsAtoms }); //nbitsets++; if (isCircle && diameter == 0 && width == 0) @@ -377,12 +377,12 @@ } if ("coords" == propertyName) { - addPoints(PT_COORD, value, false); + addPoints(PT_COORD, value); return; } if ("modelBasedPoints" == propertyName) { - addPoints(PT_MODEL_BASED_POINTS, value, true); + addPoints(PT_MODEL_BASED_POINTS, value); return; } @@ -416,27 +416,38 @@ setPropertySuper(propertyName, value, bs); } - private void addPoints(int type, Object value, boolean allowNull) { + private void addPoints(int type, Object value) { @SuppressWarnings("unchecked") Lst<SV> pts = (Lst<SV>) value; Integer key = Integer.valueOf(type); + boolean isModelPoints = (type == PT_MODEL_BASED_POINTS); + if (isModelPoints) + vData.addLast(new Object[] { key, pts }); for (int i = 0, n = pts.size(); i < n; i++) { SV v = pts.get(i); P3 pt; switch (v.tok) { case T.bitset: - if (!allowNull && ((BS) v.value).isEmpty()) + if (!isModelPoints && ((BS) v.value).isEmpty()) continue; pt = vwr.ms.getAtomSetCenter((BS) v.value); break; + case T.point3f: + if (isModelPoints) + continue; + //$FALL-THROUGH$ default: pt = SV.ptValue(v); } - vData.addLast(new Object[] { key, pt }); + if (isModelPoints) { + pts.set(i, SV.getVariable(pt)); + } else { + vData.addLast(new Object[] { key, pt }); + } } } - private void deleteModels(int modelIndex) { +private void deleteModels(int modelIndex) { //int firstAtomDeleted = ((int[])((Object[])value)[2])[1]; //int nAtomsDeleted = ((int[])((Object[])value)[2])[2]; for (int i = meshCount; --i >= 0;) { @@ -495,6 +506,13 @@ @Override public boolean getPropertyData(String property, Object[] data) { + if (property == "keys") { + @SuppressWarnings("unchecked") + Lst<String> keys = (data[1] instanceof Lst<?> ? (Lst<String>) data[1] : new Lst<String>()); + data[1] = keys; + keys.addLast("getSpinAxis"); + // will continue on to super + } if (property == "getCenter") { String id = (String) data[0]; int index = ((Integer) data[1]).intValue(); @@ -520,7 +538,7 @@ return getCommand(m); if (property == "type") return Integer.valueOf(m == null ? EnumDrawType.NONE.id : m.drawType.id); - return getPropMC(property); + return getPropMC(property, index); } private T3 getSpinCenter(String axisID, int vertexIndex, int modelIndex) { @@ -700,9 +718,8 @@ MeshSurface slabData; private void addPoint(T3 newPt, int iModel) { - boolean isOK = (iModel < 0 || bsAllModels.get(iModel)); if (makePoints) { - if (!isOK) + if (newPt == null || iModel >= 0 && !bsAllModels.get(iModel)) return; ptList[nPoints] = P3.newP(newPt); if (newPt.z == Float.MAX_VALUE || newPt.z == -Float.MAX_VALUE) @@ -822,6 +839,8 @@ bs.and(bsModel); if (bs.length() > 0) addPoint(vwr.ms.getAtomSetCenter(bs), j); + } else if (point instanceof SV) { + addPoint(SV.ptValue((SV) point), j); } } break; @@ -873,7 +892,8 @@ if (nVertices == 3 && isPlane) isPlane = false; length = Float.MAX_VALUE; - thisMesh.diameter = 0; + if (isVector) + thisMesh.diameter = 0; } else if (nVertices == 2 && isVector) { ptList[1].add(ptList[0]); } @@ -1159,7 +1179,7 @@ T3 v = pickedMesh.vs[pickedMesh.pis[pickedModel][pickedVertex]]; int modelIndex = pickedMesh.modelIndex; BS bs = ((DrawMesh) pickedMesh).modelFlags; - if (modelIndex < 0 && bs != null && BSUtil.cardinalityOf(bs) == 1) + if (modelIndex < 0 && BSUtil.cardinalityOf(bs) == 1) modelIndex = bs.nextSetBit(0); Map<String, Object> map = null; if (action != 0) Modified: branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties 2016-01-04 12:37:07 UTC (rev 20917) +++ branches/v14_4/Jmol/src/org/jmol/viewer/Jmol.properties 2016-01-04 12:48:02 UTC (rev 20918) @@ -7,7 +7,16 @@ # see also http://chemapps.stolaf.edu/jmol/zip for daily updates -Jmol.___JmolVersion="14.4.1_2016.01.01" +Jmol.___JmolVersion="14.4.1_2016.01.04" + +bug fix: setting cartoons on for phosphorus-only polymers fails +bug fix: setting default label properties using select none;.... fails +bug fix: undocumented model-based draw [array of points] broken + -- points only + -- selects from visible frames (frame *, for example) + -- load cyclohexane_movie.xyz; frame *; draw @{{C5}.split().sub({1,0,0}) + +JmolVersion="14.4.1_2016.01.01" released bug fix: file dropping of JVXL files does not work Modified: trunk/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java =================================================================== --- trunk/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/modelsetbio/PhosphorusPolymer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -23,7 +23,7 @@ */ package org.jmol.modelsetbio; -class PhosphorusPolymer extends BioPolymer { +public class PhosphorusPolymer extends BioPolymer { PhosphorusPolymer(Monomer[] monomers) { setP(monomers); Modified: trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/renderbio/BioShapeRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -26,10 +26,11 @@ import org.jmol.c.STR; import org.jmol.java.BS; -import org.jmol.modelset.Atom; //import org.jmol.modelsetbio.AlphaMonomer; +import org.jmol.modelset.Atom; import org.jmol.modelsetbio.CarbohydratePolymer; import org.jmol.modelsetbio.Monomer; -import org.jmol.modelsetbio.NucleicPolymer; //import org.jmol.modelsetbio.ProteinStructure; +import org.jmol.modelsetbio.NucleicPolymer; +import org.jmol.modelsetbio.PhosphorusPolymer; import org.jmol.render.MeshRenderer; import org.jmol.script.T; import org.jmol.shape.Mesh; @@ -73,6 +74,7 @@ protected Monomer[] monomers; protected boolean isNucleic; + protected boolean isPhosphorusOnly; protected boolean isCarbohydrate; protected BS bsVisible = new BS(); protected P3[] ribbonTopScreens; @@ -224,6 +226,7 @@ // isNucleic = bioShape.bioPolymer.isNucleic(); isNucleic = bioShape.bioPolymer instanceof NucleicPolymer; + isPhosphorusOnly = !isNucleic && bioShape.bioPolymer instanceof PhosphorusPolymer; isCarbohydrate = bioShape.bioPolymer instanceof CarbohydratePolymer; haveControlPointScreens = false; wingVectors = bioShape.wingVectors; Modified: trunk/Jmol/src/org/jmol/renderbio/CartoonRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/CartoonRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/renderbio/CartoonRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -38,7 +38,7 @@ protected void renderBioShape(BioShape bioShape) { if (!setupRR(bioShape, false)) return; - if (isNucleic) { + if (isNucleic || isPhosphorusOnly) { if (nucleicRenderer == null) nucleicRenderer = (NucleicRenderer) Interface.getInterface("org.jmol.renderbio.NucleicRenderer", vwr, "render"); calcScreenControlPoints(); @@ -75,6 +75,9 @@ boolean doRockets = false; for (int i = monomerCount; --i >= 0;) { // runs backwards, so it can render the heads first + if (monomers[i].getStructure() != null && !(monomers[i].getStructure() instanceof ProteinStructure)) { + System.out.println("BUG HERE IN CARTOONRENDERER"); + } thisStructure = (ProteinStructure) monomers[i].getStructure(); if (thisStructure != previousStructure) { lastWasSheet = false; Modified: trunk/Jmol/src/org/jmol/renderbio/NucleicRenderer.java =================================================================== --- trunk/Jmol/src/org/jmol/renderbio/NucleicRenderer.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/renderbio/NucleicRenderer.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -101,14 +101,15 @@ } private void renderNucleicBaseStep(int im) { - NucleicMonomer nucleotide= - (NucleicMonomer) bsr.monomers[im]; - short thisMad= bsr.mads[im]; - if (rScr[0] == null) { - for (int i = 10; --i >= 0; ) + if (bsr.isPhosphorusOnly) + return; + NucleicMonomer nucleotide = (NucleicMonomer) bsr.monomers[im]; + short thisMad = bsr.mads[im]; + if (rScr[0] == null) { + for (int i = 10; --i >= 0;) rScr[i] = new P3(); - for (int i = 5; --i >= 0; ) - rScr5[i] = new P3(); + for (int i = 5; --i >= 0;) + rScr5[i] = new P3(); baseScreen = new P3(); basePt = new P3(); rPt[9] = new P3(); // ribose center @@ -163,8 +164,8 @@ basePt.setT(stepPt); nucleotide.getRiboseRing5Points(rPt); P3 c = rPt[9]; - c.set(0, 0, 0); - for (int i = 0; i < 5; i++) + c.set(0, 0, 0); + for (int i = 0; i < 5; i++) c.add(rPt[i]); c.scale(0.2f); transformPoints(10, rPt, rScr); Modified: trunk/Jmol/src/org/jmol/shape/AtomShape.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/AtomShape.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/shape/AtomShape.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -25,16 +25,14 @@ package org.jmol.shape; +import javajs.util.AU; + import org.jmol.atomdata.RadiusData; import org.jmol.atomdata.RadiusData.EnumType; import org.jmol.c.PAL; import org.jmol.c.VDW; import org.jmol.java.BS; import org.jmol.modelset.Atom; -import org.jmol.modelset.Group; - -import javajs.util.AU; - import org.jmol.util.BSUtil; import org.jmol.util.C; Modified: trunk/Jmol/src/org/jmol/shape/Labels.java =================================================================== --- trunk/Jmol/src/org/jmol/shape/Labels.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/shape/Labels.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -140,6 +140,10 @@ setScaling(); LabelToken[][] tokens = null; int nbs = checkStringLength(bsSelected.length()); + if (defaultColix != C.INHERIT_ALL || defaultPaletteID != 0) + checkColixLength(defaultColix, bsSelected.length()); + if (defaultBgcolix != C.INHERIT_ALL) + checkBgColixLength(defaultBgcolix, bsSelected.length()); if (value instanceof Lst) { Lst<SV> list = (Lst<SV>) value; int n = list.size(); @@ -490,9 +494,9 @@ setZPos(i, JC.LABEL_ZPOS_GROUP, true); if (defaultPointer != JC.LABEL_POINTER_NONE) setPointer(i, defaultPointer); - if (defaultColix != 0 || defaultPaletteID != 0) + if (defaultColix != C.INHERIT_ALL || defaultPaletteID != 0) setLabelColix(i, defaultColix, defaultPaletteID); - if (defaultBgcolix != 0) + if (defaultBgcolix != C.INHERIT_ALL) setBgcolix(i, defaultBgcolix); if (defaultFontId != zeroFontId) setFont(i, defaultFontId); Modified: trunk/Jmol/src/org/jmol/shapespecial/Draw.java =================================================================== --- trunk/Jmol/src/org/jmol/shapespecial/Draw.java 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/shapespecial/Draw.java 2016-01-04 12:48:02 UTC (rev 20918) @@ -377,12 +377,12 @@ } if ("coords" == propertyName) { - addPoints(PT_COORD, value, false); + addPoints(PT_COORD, value); return; } if ("modelBasedPoints" == propertyName) { - addPoints(PT_MODEL_BASED_POINTS, value, true); + addPoints(PT_MODEL_BASED_POINTS, value); return; } @@ -416,23 +416,34 @@ setPropertySuper(propertyName, value, bs); } - private void addPoints(int type, Object value, boolean allowNull) { + private void addPoints(int type, Object value) { @SuppressWarnings("unchecked") Lst<SV> pts = (Lst<SV>) value; Integer key = Integer.valueOf(type); + boolean isModelPoints = (type == PT_MODEL_BASED_POINTS); + if (isModelPoints) + vData.addLast(new Object[] { key, pts }); for (int i = 0, n = pts.size(); i < n; i++) { SV v = pts.get(i); P3 pt; switch (v.tok) { case T.bitset: - if (!allowNull && ((BS) v.value).isEmpty()) + if (!isModelPoints && ((BS) v.value).isEmpty()) continue; pt = vwr.ms.getAtomSetCenter((BS) v.value); break; + case T.point3f: + if (isModelPoints) + continue; + //$FALL-THROUGH$ default: pt = SV.ptValue(v); } - vData.addLast(new Object[] { key, pt }); + if (isModelPoints) { + pts.set(i, SV.getVariable(pt)); + } else { + vData.addLast(new Object[] { key, pt }); + } } } @@ -707,9 +718,8 @@ MeshSurface slabData; private void addPoint(T3 newPt, int iModel) { - boolean isOK = (iModel < 0 || bsAllModels.get(iModel)); if (makePoints) { - if (!isOK) + if (newPt == null || iModel >= 0 && !bsAllModels.get(iModel)) return; ptList[nPoints] = P3.newP(newPt); if (newPt.z == Float.MAX_VALUE || newPt.z == -Float.MAX_VALUE) @@ -829,6 +839,8 @@ bs.and(bsModel); if (bs.length() > 0) addPoint(vwr.ms.getAtomSetCenter(bs), j); + } else if (point instanceof SV) { + addPoint(SV.ptValue((SV) point), j); } } break; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2016-01-04 12:37:07 UTC (rev 20917) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2016-01-04 12:48:02 UTC (rev 20918) @@ -63,8 +63,17 @@ TODO: consider if models with no atoms will cause issues in relation to model.firstAtomIndex -Jmol.___JmolVersion="14.5.1_2016.01.01" +Jmol.___JmolVersion="14.5.1_2016.01.04" +bug fix: setting default label properties using select none;.... fails +bug fix: setting cartoons on for phosphorus-only polymers fails +bug fix: undocumented model-based draw [array of points] broken + -- points only + -- selects from visible frames (frame *, for example) + -- load cyclohexane_movie.xyz; frame *; draw @{{C5}.split().sub({1,0,0}) + +JmolVersion="14.5.1_2016.01.01" + bug fix: file dropping of JVXL files does not work bug fix: Mesh capper not working for multiple cuts due to unclosed surface cut -- for example: load maleic.cif 1;select on atomindex=6;lcaocartoon scale 1.0 CAP unitcell "cpk" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits