Revision: 18536 http://sourceforge.net/p/jmol/code/18536 Author: hansonr Date: 2013-08-11 01:01:29 +0000 (Sun, 11 Aug 2013) Log Message: ----------- * abstract modulation class for CIF and Jana * * Current status: * * -- d=1 only * -- includes Fourier, Crenel, Sawtooth; displacement, occupancy, and Uiso * -- reading composite subsystem files such as ms-fit-1.cif * * TODO: Uij, d > 1 * TODO: handle subsystems properly
Modified Paths: -------------- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java Modified: trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java =================================================================== --- trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-08-11 00:05:54 UTC (rev 18535) +++ trunk/Jmol/src/org/jmol/adapter/readers/cif/ModulationReader.java 2013-08-11 01:01:29 UTC (rev 18536) @@ -49,7 +49,13 @@ * Current status: * * -- d=1 only - * -- only simple atom displacement, no occupation crenel, no sawtooth + * -- includes Fourier, Crenel, Sawtooth; displacement, occupancy, and Uiso + * -- reading composite subsystem files such as ms-fit-1.cif + * + * TODO: Uij, d > 1 + * TODO: handle subsystems properly + * + * No plan to implement rigid-body rotation * * @author Bob Hanson hans...@stolaf.edu 8/7/13 * @@ -238,6 +244,7 @@ return; atoms = atomSetCollection.getAtoms(); symmetry = atomSetCollection.getSymmetry(); + iopLast = -1; SB sb = new SB(); for (int i = atomSetCollection.getLastAtomSetAtomIndex(); i < n; i++) modulateAtom(atoms[i], sb); @@ -250,6 +257,9 @@ return (pt_ < 0 ? null : key.substring(0, pt_)); } + private int iopLast = -1; + private Matrix3f rot; + /** * The displacement will be set as the atom vibration vector; the string * buffer will be appended with the t value for a given unit cell. @@ -271,7 +281,10 @@ float epsilon = symmetry.getModParam(iop, 0); float delta = symmetry.getModParam(iop, 1); delta -= modT; - Matrix3f rot = new Matrix3f(); + if (iop != iopLast) { + iopLast = iop; + rot = new Matrix3f(); + } symmetry.getSpaceGroupOperation(iop).getRotationScale(rot); System.out.println("=========MR i=" + a.index + " " + a.atomName + " " + a + " " + a.occupancy); System.out.println("op=" + (iop + 1) + " " + symmetry.getSpaceGroupXyz(iop, false) + " ep=" + epsilon + " de=" + delta); @@ -294,7 +307,7 @@ if (key.equalsIgnoreCase("Uiso")) { setU(a, 7, v); } else { - + //TODO } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Jmol-commits mailing list Jmol-commits@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-commits