From: <ha...@us...> - 2010-08-11 00:53:22
|
Revision: 13968 http://jmol.svn.sourceforge.net/jmol/?rev=13968&view=rev Author: hansonr Date: 2010-08-11 00:53:16 +0000 (Wed, 11 Aug 2010) Log Message: ----------- version=12.1.4_dev # new feature: isosurface display within 2.0 {atomset} -- renderable subset of isosurface # new feature: isosurface display all # bug fix: CRYSTAL reader filter "test" TODO # bug fix: show info not showing molecule info Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.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/cifpdb/PdbReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java 2010-08-11 00:52:52 UTC (rev 13967) +++ trunk/Jmol/src/org/jmol/adapter/readers/cifpdb/PdbReader.java 2010-08-11 00:53:16 UTC (rev 13968) @@ -209,6 +209,7 @@ header(); return true; case 19: + compndOld(); compndSource(false); return true; case 20: @@ -322,6 +323,20 @@ .simpleReplace(value, ", ", ",:"), " ", "") + ")"); } + String compnd = null; + private void compndOld() { + if (compnd == null) + compnd = ""; + else + compnd += " "; + String s = line; + if (lineLength > 62) + s = s.substring(0, 62); + compnd += s.substring(10).trim(); + atomSetCollection.setAtomSetCollectionAuxiliaryInfo("COMPND", compnd); + } + + @SuppressWarnings("unchecked") private void setBiomoleculeAtomCounts() { for (int i = biomolecules.size(); --i >= 0;) { Modified: trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java 2010-08-11 00:52:52 UTC (rev 13967) +++ trunk/Jmol/src/org/jmol/adapter/readers/xtal/CrystalReader.java 2010-08-11 00:53:16 UTC (rev 13968) @@ -97,12 +97,14 @@ private int atomCount; private int[] atomFrag; private boolean getLastConventional; + private boolean test; @Override protected void initializeReader() throws Exception { doProcessLines = false; if (filter != null) filter = filter.toLowerCase(); + test = (filter != null && filter.indexOf("test") >= 0); inputOnly = (filter != null && filter.indexOf("input") >= 0); addVibrations = !inputOnly && (filter == null || filter.indexOf("novib") < 0); isPrimitive = !inputOnly && (filter == null || filter.indexOf("conv") < 0); @@ -267,26 +269,43 @@ fillFloatArray(data); Matrix3f m = new Matrix3f(data); m.invert(); - // find the conventional equivalents of the primitive a and b axes. - Point3f a = new Point3f(); - Point3f b = new Point3f(); - a.set(1, 0, 0); - m.transform(a); - b.set(0, 1, 0); - m.transform(b); - System.out.println(a); - System.out.println(b); - // now get conventional cell info so we can // convert from conventional to cartesian discardLinesUntilContains("GAMMA"); float[] params = new float[6]; fillFloatArray(params); SimpleUnitCell u = new SimpleUnitCell(params); + + Quaternion q = new Quaternion(new Point3f(0, 0, 1), (test ? 90 : 0)); + + // find the conventional equivalents of the primitive a and b axes (sort of). + + Point3f a = new Point3f(); + if (test) + a.set(0, 0, 1); + else + a.set(1, 0, 0); + + m.transform(a); u.toCartesian(a, false); + a = q.transform(a); + + Point3f b = new Point3f(); + if (test) + b.set(1, 0, 0); + else + b.set(0, 1, 0); + + m.transform(b); u.toCartesian(b, false); + b = q.transform(b); + + System.out.println("CrystalReader a = " + a); + System.out.println("CrystalReader b = " + b); + // the following will align the primitive a axis such that it + // projects onto the Cartesian X axis. + // Honestly, I don't know why. matUnitCellOrientation = Quaternion.getQuaternionFrame(new Point3f(), a, b).getMatrix(); - } private Point3f ptOriginShift = new Point3f(); Modified: trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java =================================================================== --- trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java 2010-08-11 00:52:52 UTC (rev 13967) +++ trunk/Jmol/src/org/jmol/util/SimpleUnitCell.java 2010-08-11 00:53:16 UTC (rev 13968) @@ -181,6 +181,8 @@ matrixCartesianToFractional = new Matrix4f(); matrixCartesianToFractional.invert(matrixFractionalToCartesian); } + matrixCtoFAbsolute = matrixCartesianToFractional; + matrixFtoCAbsolute = matrixFractionalToCartesian; } protected Matrix4f matrixCtoFAbsolute; Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties =================================================================== --- trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-08-11 00:52:52 UTC (rev 13967) +++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties 2010-08-11 00:53:16 UTC (rev 13968) @@ -5,6 +5,8 @@ # new feature: isosurface display within 2.0 {atomset} -- renderable subset of isosurface # new feature: isosurface display all +# bug fix: CRYSTAL reader filter "test" TODO +# bug fix: show info not showing molecule info # bug fix: isosurface LATTICE {x y z} should be relative to current UNITCELL # bug fix: broken selectExtended mode # bug fix: some isosurface display properties not generalized to wildcard This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |