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

Reply via email to