From: <ha...@us...> - 2008-08-05 19:00:41
|
Revision: 9671 http://jmol.svn.sourceforge.net/jmol/?rev=9671&view=rev Author: hansonr Date: 2008-08-05 19:00:33 +0000 (Tue, 05 Aug 2008) Log Message: ----------- version=11.5.53_dev pointgroups # new feature: pointgroups with vibration vectors # bug fix: more testing with pointgroups Modified Paths: -------------- trunk/Jmol/src/org/jmol/modelset/ModelSet.java trunk/Jmol/src/org/jmol/shapespecial/Vectors.java Modified: trunk/Jmol/src/org/jmol/modelset/ModelSet.java =================================================================== --- trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-08-05 18:40:14 UTC (rev 9670) +++ trunk/Jmol/src/org/jmol/modelset/ModelSet.java 2008-08-05 19:00:33 UTC (rev 9671) @@ -429,8 +429,10 @@ } private int calculatePointGroupForFirstModel(BitSet bsAtoms, boolean forceNew) { + int modelIndex = viewer.getCurrentModelIndex(); int iAtom = BitSetUtil.firstSetBit(bsAtoms); - int modelIndex = (iAtom < 0 ? -1 : atoms[iAtom].getModelIndex()); + if (modelIndex < 0 && iAtom >= 0) + modelIndex = atoms[iAtom].getModelIndex(); if (modelIndex < 0) { modelIndex = BitSetUtil.firstSetBit(viewer.getVisibleFramesBitSet()); bsAtoms = null; @@ -443,6 +445,10 @@ if (!bsAtoms.get(i)) bs.clear(i); iAtom = BitSetUtil.firstSetBit(bs); + if (iAtom < 0) { + bs = getModelAtomBitSet(modelIndex, true); + iAtom = BitSetUtil.firstSetBit(bs); + } Object obj = getShapeProperty(JmolConstants.SHAPE_VECTORS, "mad", iAtom); boolean haveVibration = (obj != null && ((Integer)obj).intValue() != 0 || viewer.isVibrationOn()); Modified: trunk/Jmol/src/org/jmol/shapespecial/Vectors.java =================================================================== --- trunk/Jmol/src/org/jmol/shapespecial/Vectors.java 2008-08-05 18:40:14 UTC (rev 9670) +++ trunk/Jmol/src/org/jmol/shapespecial/Vectors.java 2008-08-05 19:00:33 UTC (rev 9671) @@ -44,7 +44,7 @@ public Object getProperty(String propertyName, int param) { if (propertyName == "mad") - return new Integer(mads == null || mads.length <= param ? 0 : mads[param]); + return new Integer(mads == null || param < 0 || mads.length <= param ? 0 : mads[param]); return super.getProperty(propertyName, param); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |