Revision: 18278
          http://sourceforge.net/p/jmol/code/18278
Author:   hansonr
Date:     2013-06-04 23:07:26 +0000 (Tue, 04 Jun 2013)
Log Message:
-----------
___version=13.0.16_dev_2013.06.04

bug fix: "display add" by itself should not do anything
bug fix: Gaussian reader not splitting MO set by model
bug fix: polyhedra not saved in state

Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/viewer/ActionManager.java
    trunk/Jmol/src/org/jmol/viewer/SelectionManager.java
    trunk/Jmol/src/org/jmol/viewer/ShapeManager.java
    trunk/Jmol/src/org/jmol/viewer/StateManager.java
    trunk/Jmol/src/org/jmol/viewer/Viewer.java

Modified: trunk/Jmol/src/org/jmol/viewer/ActionManager.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/ActionManager.java   2013-06-03 02:09:09 UTC 
(rev 18277)
+++ trunk/Jmol/src/org/jmol/viewer/ActionManager.java   2013-06-04 23:07:26 UTC 
(rev 18278)
@@ -739,7 +739,7 @@
           case PICKING_DRAG_MINIMIZE_MOLECULE:
             bs = viewer.getAtomBits(T.molecule, BSUtil
                 .newAndSetBit(dragAtomIndex));
-            viewer.select(bs, false, null, true);
+            viewer.select(bs, false, 0, true);
             break;
           }
           viewer.moveAtomWithHydrogens(dragAtomIndex, deltaX, deltaY, (isBound(
@@ -1995,7 +1995,7 @@
         Logger.debug(s);
       BS bs = getSelectionSet(s);
       if (bs != null) {
-        viewer.select(bs, false, null, false);
+        viewer.select(bs, false, 0, false);
         viewer.refresh(3, "selections set");
       }
     }

Modified: trunk/Jmol/src/org/jmol/viewer/SelectionManager.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/SelectionManager.java        2013-06-03 
02:09:09 UTC (rev 18277)
+++ trunk/Jmol/src/org/jmol/viewer/SelectionManager.java        2013-06-04 
23:07:26 UTC (rev 18278)
@@ -68,52 +68,65 @@
 
   void clear() {
     clearSelection(true);
-    hide(null, null, null, true);
+    hide(null, null, 0, true);
     setSelectionSubset(null);
     bsDeleted = null;
     setMotionFixedAtoms(null);
   }
 
-  void hide(ModelSet modelSet, BS bs, Boolean addRemove, boolean isQuiet) {
-    if (bs == null) {
-      bsHidden.clearAll();
-    } else if (addRemove == null) {
-      bsHidden.clearAll();
-      bsHidden.or(bs);
-    } else if (addRemove.booleanValue()) {
-      bsHidden.or(bs);
-    } else {
-      bsHidden.andNot(bs);
+  void display(ModelSet modelSet, BS bs, int addRemove, boolean isQuiet) {
+    switch (addRemove) {
+    default:
+      BS bsAll = modelSet.getModelAtomBitSetIncludingDeleted(-1, false);
+      bsHidden.or(bsAll);
+      //$FALL-THROUGH$
+    case T.add:
+      if (bs != null)
+        bsHidden.andNot(bs);
+      break;
+    case T.remove:
+      if (bs != null)
+        bsHidden.or(bs);
+      break;
     }
-    if (modelSet != null)
-      modelSet.setBsHidden(bsHidden);
+    BSUtil.andNot(bsHidden, bsDeleted);
+    modelSet.setBsHidden(bsHidden);
     if (!isQuiet)
       viewer.reportSelection(GT._("{0} atoms hidden", ""
           + bsHidden.cardinality()));
   }
 
-  void display(ModelSet modelSet, BS bs, Boolean addRemove, boolean isQuiet) {
-    BS bsAll = modelSet.getModelAtomBitSetIncludingDeleted(-1, false);
-    if (bs == null) {
-      if (Boolean.TRUE == addRemove)
-        bsHidden.clearAll();
-      else
-        bsHidden.or(bsAll);
-    } else if (addRemove == null) {
-      bsHidden.or(bsAll);
-      bsHidden.andNot(bs);
-    } else if (addRemove.booleanValue()) {
-      bsHidden.andNot(bs);
-    } else {
-      bsHidden.or(bs);
-    }
-    BSUtil.andNot(bsHidden, bsDeleted);
-    modelSet.setBsHidden(bsHidden);
+  void hide(ModelSet modelSet, BS bs, int addRemove, boolean isQuiet) {
+    setBitSet(bsHidden, bs, addRemove);
+    if (modelSet != null)
+      modelSet.setBsHidden(bsHidden);
     if (!isQuiet)
       viewer.reportSelection(GT._("{0} atoms hidden", ""
           + bsHidden.cardinality()));
   }
 
+  void setSelectionSet(BS set, int addRemove) {
+    setBitSet(bsSelection, set, addRemove);
+    empty = UNKNOWN;
+    selectionChanged(false);
+  }
+
+  private static void setBitSet(BS bsWhat, BS bs, int addRemove) {
+    switch (addRemove) {
+    default:
+      bsWhat.clearAll();
+      //$FALL-THROUGH$
+    case T.add:
+      if (bs != null)
+        bsWhat.or(bs);
+      break;
+    case T.remove:
+      if (bs != null)
+        bsWhat.andNot(bs);
+      break;
+    }
+  }
+
   BS getHiddenSet() {
     return bsHidden;
   }
@@ -132,7 +145,7 @@
     return (atomIndex >= 0 && bsSelection.get(atomIndex));
   }
 
-  void select(BS bs, Boolean addRemove, boolean isQuiet) {
+  void select(BS bs, int addRemove, boolean isQuiet) {
     if (bs == null) {
       selectAll(true);
       if (!viewer.getBoolean(T.hydrogen))
@@ -193,21 +206,6 @@
       empty = UNKNOWN;
   }
 
-  void setSelectionSet(BS set, Boolean addRemove) {
-    if (set == null) {
-      bsSelection.clearAll();
-    } else if (addRemove == null) {
-      bsSelection.clearAll();
-      bsSelection.or(set);
-    } else if (addRemove.booleanValue()) {
-      bsSelection.or(set);
-    } else {
-      bsSelection.andNot(set);
-    }
-    empty = UNKNOWN;
-    selectionChanged(false);
-  }
-
   void setSelectionSubset(BS bs) {
 
     // for informational purposes only
@@ -277,7 +275,7 @@
 
   private void selectionChanged(boolean isQuiet) {
     if (hideNotSelected)
-      hide(viewer.getModelSet(), BSUtil.copyInvert(bsSelection, 
viewer.getAtomCount()), null, isQuiet);
+      hide(viewer.getModelSet(), BSUtil.copyInvert(bsSelection, 
viewer.getAtomCount()), 0, isQuiet);
     if (isQuiet || listeners.length == 0)
       return;
     for (int i = listeners.length; --i >= 0;)
@@ -331,7 +329,7 @@
     BSUtil.deleteBits(bsHidden, bsAtoms);
     BS bs = BSUtil.copy(bsSelection);
     BSUtil.deleteBits(bs, bsAtoms);
-    setSelectionSet(bs, null);
+    setSelectionSet(bs, 0);
   }
 
   void setMotionFixedAtoms(BS bs) {

Modified: trunk/Jmol/src/org/jmol/viewer/ShapeManager.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/ShapeManager.java    2013-06-03 02:09:09 UTC 
(rev 18277)
+++ trunk/Jmol/src/org/jmol/viewer/ShapeManager.java    2013-06-04 23:07:26 UTC 
(rev 18278)
@@ -542,7 +542,7 @@
       if (bsSubset != null) {
         bsSelected = BSUtil.copy(viewer.getSelectionSet(true));
         bsSelected.and(bsSubset);
-        viewer.select(bsSelected, false, null, true);
+        viewer.select(bsSelected, false, 0, true);
         BSUtil.invertInPlace(bsSelected, viewer.getAtomCount());
         bsSelected.and(bsSubset);
       }
@@ -570,7 +570,7 @@
     setLabel(null, bs);
     if (!isBond)
       viewer.setBooleanProperty("bondModeOr", bondmode);
-    viewer.select(bsSelected, false, null, true);
+    viewer.select(bsSelected, false, 0, true);
   }
 
 }

Modified: trunk/Jmol/src/org/jmol/viewer/StateManager.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/StateManager.java    2013-06-03 02:09:09 UTC 
(rev 18277)
+++ trunk/Jmol/src/org/jmol/viewer/StateManager.java    2013-06-04 23:07:26 UTC 
(rev 18278)
@@ -224,10 +224,10 @@
         : lastSelected);
     BS bsSelected = (BS) getNoCase(saved, name);
     if (bsSelected == null) {
-      viewer.select(new BS(), false, null, false);
+      viewer.select(new BS(), false, 0, false);
       return false;
     }
-    viewer.select(bsSelected, false, null, false);
+    viewer.select(bsSelected, false, 0, false);
     return true;
   }
 

Modified: trunk/Jmol/src/org/jmol/viewer/Viewer.java
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Viewer.java  2013-06-03 02:09:09 UTC (rev 
18277)
+++ trunk/Jmol/src/org/jmol/viewer/Viewer.java  2013-06-04 23:07:26 UTC (rev 
18278)
@@ -1661,7 +1661,7 @@
   // delegated to SelectionManager
   // ///////////////////////////////////////////////////////////////
 
-  public void select(BS bs, boolean isGroup, Boolean addRemove, boolean 
isQuiet) {
+  public void select(BS bs, boolean isGroup, int addRemove, boolean isQuiet) {
     // Eval, ActionManager
     if (isGroup)
       bs = getUndeletedGroupAtomBits(bs);
@@ -1672,7 +1672,7 @@
   @Override
   public void setSelectionSet(BS set) {
     // JmolViewer API only -- not used in Jmol 
-    select(set, false, null, true);
+    select(set, false, 0, true);
   }
 
   public void selectBonds(BS bs) {
@@ -1680,7 +1680,7 @@
   }
 
   public void displayAtoms(BS bs, boolean isDisplay, boolean isGroup,
-                           Boolean addRemove, boolean isQuiet) {
+                           int addRemove, boolean isQuiet) {
     // Eval
     if (isGroup)
       bs = getUndeletedGroupAtomBits(bs);
@@ -10005,4 +10005,8 @@
     }
   }
 
+  public void setBondParameters(int modelIndex, int i, float rad, int argb, 
float trans) {
+    modelSet.setBondParameters(modelIndex, i, rad, argb, trans);
+  }
+
 }

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


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Jmol-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to