From: <ha...@us...> - 2008-03-16 11:57:45
|
Revision: 9137 http://jmol.svn.sourceforge.net/jmol/?rev=9137&view=rev Author: hansonr Date: 2008-03-16 04:57:42 -0700 (Sun, 16 Mar 2008) Log Message: ----------- bob-deleteatoms merge Modified Paths: -------------- branches/bob-deleteatoms/Jmol/src/org/jmol/atomdata/AtomData.java branches/bob-deleteatoms/Jmol/src/org/jmol/geodesic/EnvelopeCalculation.java branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/BondCollection.java branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/ModelSet.java branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Dots.java branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Sticks.java branches/bob-deleteatoms/Jmol/src/org/jmol/viewer/Jmol.properties Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/atomdata/AtomData.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/atomdata/AtomData.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/atomdata/AtomData.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -152,7 +152,5 @@ public Point3f[][] hAtoms; public int atomCount; public int hydrogenAtomCount; - - } Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/geodesic/EnvelopeCalculation.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/geodesic/EnvelopeCalculation.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/geodesic/EnvelopeCalculation.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -568,8 +568,15 @@ bitmap[i] = 0; } - public void deleteAtoms(int firstAtomDeleted, int nAtomsDeleted) { + public void deleteAtoms(int firstAtomDeleted, int nAtomsDeleted, BitSet bsAtoms) { dotsConvexMaps = (int[][]) ArrayUtil.deleteElements(dotsConvexMaps, firstAtomDeleted, nAtomsDeleted); dotsConvexMax = dotsConvexMaps.length; + if (mads != null) + mads = (short[]) ArrayUtil.deleteElements(mads, firstAtomDeleted, nAtomsDeleted); + atomData.atomRadius = (float[]) ArrayUtil.deleteElements(atomData.atomRadius, firstAtomDeleted, nAtomsDeleted); + atomData.atomXyz = (Point3f[]) ArrayUtil.deleteElements(atomData.atomXyz, firstAtomDeleted, nAtomsDeleted); + atomData.atomCount -= nAtomsDeleted; + atomCount = atomData.atomCount; + } } Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/BondCollection.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/BondCollection.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/BondCollection.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -115,8 +115,11 @@ } public BitSet getBondsForSelectedAtoms(BitSet bsAtoms) { + return getBondsForSelectedAtoms(bsAtoms, viewer.getBondSelectionModeOr()); + } + + protected BitSet getBondsForSelectedAtoms(BitSet bsAtoms, boolean bondSelectionModeOr) { BitSet bs = new BitSet(); - boolean bondSelectionModeOr = viewer.getBondSelectionModeOr(); for (int iBond = 0; iBond < bondCount; ++iBond) { Bond bond = bonds[iBond]; boolean isSelected1 = bsAtoms.get(bond.atom1.atomIndex); Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/ModelSet.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/modelset/ModelSet.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -638,6 +638,8 @@ public int deleteAtoms(BitSet bsAtoms) { BitSet bs = BitSetUtil.copy(bsAtoms); BitSet bsModels = getModelBitSet(bs); + System.out.println(bsAtoms.cardinality()); + System.out.println("bsModels: " + bs); includeAllRelatedFrames(bsModels); int nAtomsDeleted = 0; @@ -654,9 +656,6 @@ bspf = null; molecules = null; - - // delete bonds - deleteBonds(getBondsForSelectedAtoms(bs)); // create a new models array, // and pre-calculate Model.bsAtoms and Model.atomCount @@ -665,13 +664,17 @@ for (int i = 0, mpt = 0; i < modelCount; i++) if (bsModels.get(i)) { // get a good count now getAtomCountInModel(i); - getModelAtomBitSet(i, false); + bs.or(getModelAtomBitSet(i, false)); } else { models[i].modelIndex = mpt; newModels[mpt++] = models[i]; } models = newModels; int oldModelCount = modelCount; + + // delete bonds + deleteBonds(getBondsForSelectedAtoms(bs, true)); + // main deletion cycle for (int i = 0, mpt = 0; i < oldModelCount; i++) { if (!bsModels.get(i)) { Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Dots.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Dots.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Dots.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -141,7 +141,7 @@ int firstAtomDeleted = ((int[])((Object[])value)[2])[1]; int nAtomsDeleted = ((int[])((Object[])value)[2])[2]; BitSetUtil.deleteBits(bsOn, bs); - ec.deleteAtoms(firstAtomDeleted, nAtomsDeleted); + ec.deleteAtoms(firstAtomDeleted, nAtomsDeleted, bs); // pass to AtomShape via super } Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Sticks.java =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Sticks.java 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/shape/Sticks.java 2008-03-16 11:57:42 UTC (rev 9137) @@ -163,7 +163,11 @@ BitSetUtil.deleteBits(bsOrderSet, bs); return; } - + + if ("deleteModelAtoms" == propertyName) { + return; + } + super.setProperty(propertyName, value, bsSelected); } @@ -205,12 +209,9 @@ else setStateInfo(temp, i, getColorCommand("bonds", colix)); - - - - } } + return getShapeCommands(temp, null, -1, "select BONDS") + "\n"; } } Modified: branches/bob-deleteatoms/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- branches/bob-deleteatoms/Jmol/src/org/jmol/viewer/Jmol.properties 2008-03-15 20:37:23 UTC (rev 9136) +++ branches/bob-deleteatoms/Jmol/src/org/jmol/viewer/Jmol.properties 2008-03-16 11:57:42 UTC (rev 9137) @@ -1,5 +1,12 @@ -version=11.5.16_dev +version=11.5.17_dev +# bug fix: zap x.y for dots +# bug fix: zap {atom expression} for not including all atoms in a model in the selection + +# ----------------------------------------------------------------------------- + +#version=11.5.16 + # new feature: zap {atom expression} # zaps models associated with given atoms. # use "show models" to see what models are present, then zap them with their # file.model number: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |