Revision: 5234
Author:   hansonr
Date:     2006-06-23 06:54:18 -0700 (Fri, 23 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/jmol/?rev=5234&view=rev

Log Message:
-----------
bob200603 10.x  dipole correction for centered bond dipoles not correctly 
scaling

Modified Paths:
--------------
    branches/bob200603/Jmol/src/org/jmol/viewer/Dipole.java
    branches/bob200603/Jmol/src/org/jmol/viewer/DipolesRenderer.java
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Dipole.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Dipole.java     2006-06-21 
05:22:25 UTC (rev 5233)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Dipole.java     2006-06-23 
13:54:18 UTC (rev 5234)
@@ -36,6 +36,7 @@
   short type;
 
   Point3f origin;
+  Point3f center;
   Vector3f vector;
 
   String dipoleInfo = "";
@@ -156,9 +157,11 @@
   }
 
   void centerDipole() {
-    float f = atoms[0].point3f.distance(atoms[1].point3f) 
-                / (2 * dipoleValue) - 0.5f;
+    float f = atoms[0].point3f.distance(atoms[1].point3f) / (2 * dipoleValue)
+        - 0.5f;
     origin.scaleAdd(f, vector, atoms[0].point3f);
+    center = new Point3f();
+    center.scaleAdd(0.5f, vector, origin);
     bond = atoms[0].getBond(atoms[1]);
     type = (bond == null ? Dipole.DIPOLE_TYPE_ATOMS : Dipole.DIPOLE_TYPE_BOND);
   }

Modified: branches/bob200603/Jmol/src/org/jmol/viewer/DipolesRenderer.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/DipolesRenderer.java    
2006-06-21 05:22:25 UTC (rev 5233)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/DipolesRenderer.java    
2006-06-23 13:54:18 UTC (rev 5234)
@@ -71,13 +71,22 @@
   boolean transform(Dipole dipole) {
     Vector3f vector = dipole.vector;
     offset.set(vector);
-    offset.scale(dipole.offsetAngstroms / dipole.dipoleValue);
-    if (dipoleVectorScale < 0)
-      offset.add(vector);
-    System.out.println("dipole render scale offset" + dipoleVectorScale + " 
val=" + dipole.dipoleValue+ 
+    if (dipole.center == null) { 
+      offset.scale(dipole.offsetAngstroms / dipole.dipoleValue);
+      if (dipoleVectorScale < 0)
+        offset.add(vector);
+    System.out.println("dipole render scale offset vector" + dipoleVectorScale 
+ " val=" + dipole.dipoleValue+ 
         offset + vector);
     points[cylinderBase].set(dipole.origin);
     points[cylinderBase].add(offset);
+    } else {
+      offset.scale(-0.5f * dipoleVectorScale);
+      System.out.println("dipole render scale center offset vector " + 
dipoleVectorScale + " val=" + dipole.dipoleValue+ 
+          dipole.center + offset + vector);
+      points[cylinderBase].set(dipole.center);
+      points[cylinderBase].add(offset);    
+    }
+    
     points[cross].scaleAdd(dipoleVectorScale * crossOffset, vector,
         points[cylinderBase]);
     points[crossEnd].scaleAdd(dipoleVectorScale * (crossOffset + crossWidth),


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Jmol-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to