Revision: 18605
          http://sourceforge.net/p/jmol/code/18605
Author:   hansonr
Date:     2013-08-20 17:19:24 +0000 (Tue, 20 Aug 2013)
Log Message:
-----------
more efficient coding of rotate BEST

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java

Modified: trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-08-20 14:41:52 UTC 
(rev 18604)
+++ trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-08-20 17:19:24 UTC 
(rev 18605)
@@ -6559,7 +6559,7 @@
         q = (chk ? new Quaternion() : viewer.getAtomQuaternion(bsCenter
             .nextSetBit(0)));
       } else {
-        q = getQuaternionParameter(i, null);
+        q = getQuaternionParameter(i);
       }
       i = iToken + 1;
       if (q == null)
@@ -10101,8 +10101,10 @@
         if (tok == T.quaternion)
           i++;
         haveRotation = true;
-        q = getQuaternionParameter(i, isSelected || tok != T.best ? null : 
viewer.getRotationQuaternion().mul(-1));
+        q = getQuaternionParameter(i);
         if (q != null) {
+          if (tok == T.best && !(isMolecular = isSelected)) // yes, setting 
isMolecular here.
+            q = q.mulQ(viewer.getRotationQuaternion().mul(-1));
           rotAxis.setT(q.getNormal());
           endDegrees = q.getTheta();
         }
@@ -10336,26 +10338,20 @@
     }
   }
 
-  private Quaternion getQuaternionParameter(int i, Quaternion q0)
+  private Quaternion getQuaternionParameter(int i)
       throws ScriptException {
-    Quaternion q;
     switch (tokAt(i)) {
     case T.varray:
       JmolList<SV> sv = ((SV) getToken(i)).getList();
       P4 p4 = null;
       if (sv.size() == 0 || (p4 = SV.pt4Value(sv.get(0))) == null)
         invArg();
-      q = Quaternion.newP4(p4);
-      break;
+      return Quaternion.newP4(p4);
     case T.best:
-      if (chk)
-        return null;
-      q = Quaternion.newP4((P4) Escape.uP(viewer.getOrientationText(T.best, 
null)));
-      break;
+      return (chk ? null : Quaternion.newP4((P4) 
Escape.uP(viewer.getOrientationText(T.best, null))));
     default:
-      q = Quaternion.newP4(getPoint4f(i));
+      return Quaternion.newP4(getPoint4f(i));
     }
-    return (q0 == null ? q : q.mulQ(q0));
   }
 
   JmolList<P3> getPointVector(T t, int i) throws ScriptException {

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


------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&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