Revision: 5148
Author:   hansonr
Date:     2006-05-19 16:14:40 -0700 (Fri, 19 May 2006)
ViewCVS:  http://svn.sourceforge.net/jmol/?rev=5148&view=rev

Log Message:
-----------
bob200603 adds 

set rangeSelected

which allows a variable range for 

color temperature

based on the current selection set rather than the whole file.

In relation to Brian Foley's work, but with wide generality.

Modified Paths:
--------------
    branches/bob200603/Jmol/src/org/jmol/viewer/Eval.java
    branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java
    branches/bob200603/Jmol/src/org/jmol/viewer/ModelManager.java
    branches/bob200603/Jmol/src/org/jmol/viewer/Viewer.java
Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Eval.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Eval.java       2006-05-19 
21:28:56 UTC (rev 5147)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Eval.java       2006-05-19 
23:14:40 UTC (rev 5148)
@@ -1575,11 +1575,14 @@
       case Token.shapely:
       case Token.chain:
       case Token.type:
-      case Token.temperature:
       case Token.fixedtemp:
       case Token.altloc:
       case Token.insertion:
         break;
+      case Token.temperature:
+        if (viewer.isRangeSelected())
+          viewer.clearBfactorRange();
+        break;
       case Token.group:
         viewer.calcSelectedGroupsCount();
         break;
@@ -1936,6 +1939,7 @@
         break;
       case Token.dollarsign:
         // $drawObject
+        isInternal = true;
         axisID = objectNameParameter(++i);
         rotCenter = viewer.getDrawObjectCenter(axisID);
         rotAxis = viewer.getDrawObjectAxis(axisID);

Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java      2006-05-19 
21:28:56 UTC (rev 5147)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Frame.java      2006-05-19 
23:14:40 UTC (rev 5148)
@@ -2130,28 +2130,44 @@
   }
 
   void calcBfactorRange() {
+    calcBfactorRange(null);
+  }
+  
+  void clearBfactorRange() {
+    hasBfactorRange = false;
+    System.out.println("clearBfactorRange");
+  }
+  
+  void calcBfactorRange(BitSet bs) {
     if (!hasBfactorRange) {
-      bfactor100Lo = bfactor100Hi = atoms[0].getBfactor100();
-      for (int i = atomCount; --i > 0;) {
-        int bf = atoms[i].getBfactor100();
-        if (bf < bfactor100Lo)
-          bfactor100Lo = bf;
-        else if (bf > bfactor100Hi)
-          bfactor100Hi = bf;
-      }
+      bfactor100Lo = Integer.MAX_VALUE;
+      bfactor100Hi = Integer.MIN_VALUE;
+      for (int i = atomCount; --i > 0;)
+        if (bs == null || bs.get(i)) {
+          int bf = atoms[i].getBfactor100();
+          if (bf < bfactor100Lo)
+            bfactor100Lo = bf;
+          else if (bf > bfactor100Hi)
+            bfactor100Hi = bf;
+        }
+      System.out.println("calcbfactor " + bfactor100Lo + " " + bfactor100Hi);
       hasBfactorRange = true;
     }
   }
 
   int getBfactor100Lo() {
-    if (!hasBfactorRange)
-      calcBfactorRange();
+    if (!hasBfactorRange) {
+      if (viewer.isRangeSelected()) {
+        calcBfactorRange(viewer.getSelectionSet());
+      } else {
+        calcBfactorRange(null);
+      }
+    }
     return bfactor100Lo;
   }
 
   int getBfactor100Hi() {
-    if (!hasBfactorRange)
-      calcBfactorRange();
+    getBfactor100Lo();
     return bfactor100Hi;
   }
 

Modified: branches/bob200603/Jmol/src/org/jmol/viewer/ModelManager.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/ModelManager.java       
2006-05-19 21:28:56 UTC (rev 5147)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/ModelManager.java       
2006-05-19 23:14:40 UTC (rev 5148)
@@ -1430,5 +1430,12 @@
     return;
   }
   
+  void clearBfactorRange(){
+    if (frame == null)
+      return;
+    frame.clearBfactorRange();
+  }
+  
+  
 
 }

Modified: branches/bob200603/Jmol/src/org/jmol/viewer/Viewer.java
===================================================================
--- branches/bob200603/Jmol/src/org/jmol/viewer/Viewer.java     2006-05-19 
21:28:56 UTC (rev 5147)
+++ branches/bob200603/Jmol/src/org/jmol/viewer/Viewer.java     2006-05-19 
23:14:40 UTC (rev 5148)
@@ -1220,6 +1220,10 @@
     return modelManager.frame != null;
   }
 
+  void clearBfactorRange(){
+    modelManager.clearBfactorRange();
+  }
+  
   BitSet getModelAtomBitSet(int modelIndex) {
     return modelManager.getModelAtomBitSet(modelIndex);
   }
@@ -1456,6 +1460,16 @@
     windowCenteredFlag = TF;
   }
 
+  boolean rangeSelected = false;
+
+  boolean isRangeSelected() {
+    return rangeSelected;
+  }
+
+  void setRangeSelected(boolean TF) {
+    rangeSelected = TF;
+  }
+
   boolean allowCameraMoveFlag = true;
   
   boolean allowCameraMove() {
@@ -2466,6 +2480,10 @@
       setWindowCentered(value);
       return;
     }
+    if (key.equalsIgnoreCase("rangeSelected")) {
+      setRangeSelected(value);
+      return;
+    }
     if (key.equalsIgnoreCase("cameraMove")) {
       setAllowCameraMove(value);
       return;


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