Revision: 20951
          http://sourceforge.net/p/jmol/code/20951
Author:   hansonr
Date:     2016-02-06 16:20:31 +0000 (Sat, 06 Feb 2016)
Log Message:
-----------
Jmol.___JmolVersion="14.4.2_2016.02.06"

bug fix: small MRC map files mistaken for DELPHI files, which start with the 
4-byte integer 20.
bug fix: MRC/CCP4 surface/map files still sometimes inside out. 

Modified Paths:
--------------
    branches/v14_4/Jmol/src/org/jmol/quantum/NciCalculation.java
    branches/v14_4/Jmol/src/org/jmol/quantum/QuantumCalculation.java
    branches/v14_4/Jmol/src/org/jmol/render/MeshRenderer.java
    branches/v14_4/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java
    branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java
    branches/v14_4/Jmol/src/org/jmol/script/T.java
    branches/v14_4/Jmol/src/org/jmol/shape/Mesh.java
    branches/v14_4/Jmol/src/org/jmol/shape/MeshCollection.java
    branches/v14_4/Jmol/src/org/jmol/shapesurface/Contact.java
    branches/v14_4/Jmol/src/org/jmol/shapesurface/MolecularOrbital.java
    branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java
    
branches/v14_4/Jmol/src/org/openscience/jmol/app/surfacetool/SurfaceStatus.java

Modified: branches/v14_4/Jmol/src/org/jmol/quantum/NciCalculation.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/quantum/NciCalculation.java        
2016-02-06 16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/quantum/NciCalculation.java        
2016-02-06 16:20:31 UTC (rev 20951)
@@ -29,6 +29,7 @@
 
 import org.jmol.java.BS;
 import org.jmol.jvxl.data.VolumeData;
+import org.jmol.modelset.Atom;
 import org.jmol.util.BSUtil;
 import org.jmol.util.Escape;
 import org.jmol.util.Logger;

Modified: branches/v14_4/Jmol/src/org/jmol/quantum/QuantumCalculation.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/quantum/QuantumCalculation.java    
2016-02-06 16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/quantum/QuantumCalculation.java    
2016-02-06 16:20:31 UTC (rev 20951)
@@ -130,6 +130,8 @@
 
     // all coordinates come in as angstroms, not bohr, and are converted here 
into bohr
 
+    if (atoms == null)
+      atoms = (Atom[]) xyz;
     if (points == null) {
       volume = 1;
       for (int i = 3; --i >= 0;) {

Modified: branches/v14_4/Jmol/src/org/jmol/render/MeshRenderer.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/render/MeshRenderer.java   2016-02-06 
16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/render/MeshRenderer.java   2016-02-06 
16:20:31 UTC (rev 20951)
@@ -62,6 +62,7 @@
 
   protected boolean isTranslucent;
   protected boolean frontOnly;
+  protected boolean isShell;
   protected boolean antialias;
   protected boolean haveBsDisplay;
   protected boolean selectedPolyOnly;
@@ -216,16 +217,18 @@
           : selectedPolyOnly ? mesh.bsSlabDisplay : null);
       
       renderLow = (!isExport && !vwr.checkMotionRendering(T.mesh));
-      frontOnly = renderLow || !tm.slabEnabled && mesh.frontOnly
+      boolean allowFrontOnly = (!tm.slabEnabled
           && !mesh.isTwoSided && !selectedPolyOnly 
-          && (meshSlabValue == Integer.MIN_VALUE || meshSlabValue >= 100);
+          && (meshSlabValue == Integer.MIN_VALUE || meshSlabValue >= 100));
+      frontOnly = renderLow || mesh.frontOnly && allowFrontOnly;
+      isShell = mesh.isShell && allowFrontOnly;
       screens = vwr.allocTempScreens(vertexCount);
       if (isPrecision)
         p3Screens = vwr.allocTempPoints(vertexCount);
-      if (frontOnly)
+      if (frontOnly || isShell)
         transformedVectors = vwr.gdata.getTransformedVertexVectors();
       if (transformedVectors == null)
-        frontOnly = false;
+        frontOnly = isShell = false;
     }
     return true;
   }
@@ -329,6 +332,7 @@
     if (isTranslucentInherit)
       colix = C.copyColixTranslucency(mesh.slabColix, mesh.colix);
     g3d.setC(colix);
+    // isShell???
     if (generateSet) {
       if (frontOnly && fill)
         frontOnly = false;
@@ -384,7 +388,7 @@
       short nA = normixes[iA];
       short nB = normixes[iB];
       short nC = normixes[iC];
-      check = checkNormals(nA, nB, nC);
+      check = (frontOnly || isShell ? checkFront(nA, nB, nC) : 7);
       if (fill && check != 7)
         continue;
       switch (polygon.length) {
@@ -486,16 +490,14 @@
           screenA.y, screenA.z, screenC.x, screenC.y, screenC.z);
   }
 
-  protected int checkNormals(short nA, short nB, short nC) {
+  protected int checkFront(short nA, short nB, short nC) {
     int check = 7;
-    if (frontOnly) {
-      if (transformedVectors[nA].z < 0)
-        check ^= 1;
-      if (transformedVectors[nB].z < 0)
-        check ^= 2;
-      if (transformedVectors[nC].z < 0)
-        check ^= 4;
-    }
+    if (transformedVectors[nA].z < 0)
+      check ^= 1;
+    if (transformedVectors[nB].z < 0)
+      check ^= 2;
+    if (transformedVectors[nC].z < 0)
+      check ^= 4;
     return check;
   }
 

Modified: branches/v14_4/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java      
2016-02-06 16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/rendersurface/IsosurfaceRenderer.java      
2016-02-06 16:20:31 UTC (rev 20951)
@@ -161,6 +161,7 @@
     volumeRender = (imesh.jvxlData.colorDensity && 
imesh.jvxlData.allowVolumeRender);
     int thisSlabValue = mySlabValue;
     frontOnly = mesh.frontOnly || shapeID == JC.SHAPE_LCAOCARTOON;
+    isShell = mesh.isShell && shapeID != JC.SHAPE_LCAOCARTOON;
     if (!isNavigationMode) {
       meshSlabValue = imesh.jvxlData.slabValue; 
       if (meshSlabValue != Integer.MIN_VALUE  
@@ -178,9 +179,11 @@
         }
         thisSlabValue = Math.round(z0 + (z1 - z0) * (100f - 
meshSlabValue)/100);
         frontOnly &= (meshSlabValue >= 100);
+        isShell &= (meshSlabValue >= 100);
       }
     }
     boolean tCover = vwr.gdata.translucentCoverOnly;
+    // isShell??
     vwr.gdata.translucentCoverOnly = (frontOnly || 
!vwr.getBoolean(T.translucent));
     thePlane = imesh.jvxlData.jvxlPlane;
     vertexValues = mesh.vvs;
@@ -292,7 +295,7 @@
       int diam;
       if (mesh.diameter <= 0) {
         diam = vwr.getInt(T.dotscale);
-        frontOnly = false;
+        frontOnly = isShell = false;
       } else {
         diam = vwr.getScreenDim() / (volumeRender ? 50 : 100);        
       }
@@ -368,6 +371,7 @@
       colix = C.copyColixTranslucency(mesh.slabColix, mesh.colix);
     g3d.setC(colix);
     boolean generateSet = isExport;
+    // isShell???
     if (generateSet) {
       if (frontOnly && fill)
         frontOnly = false;
@@ -418,7 +422,7 @@
       short nA = normixes[iA];
       short nB = normixes[iB];
       short nC = normixes[iC];
-      int check = checkNormals(nA, nB, nC);
+      int check = (frontOnly || isShell ? checkFront(nA, nB, nC) : 7);
       if (fill && check == 0)
         continue;
       short colixA, colixB, colixC;

Modified: branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java     2016-02-06 
16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/script/ScriptEval.java     2016-02-06 
16:20:31 UTC (rev 20951)
@@ -8879,6 +8879,8 @@
     case T.nomesh:
     case T.fill:
     case T.nofill:
+    case T.backshell:
+    case T.nobackshell:
     case T.triangles:
     case T.notriangles:
     case T.frontonly:

Modified: branches/v14_4/Jmol/src/org/jmol/script/T.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/script/T.java      2016-02-06 16:19:38 UTC 
(rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/script/T.java      2016-02-06 16:20:31 UTC 
(rev 20951)
@@ -702,6 +702,7 @@
   public final static int within           = 31 | 0 << 9 | mathfunc;
   public final static int write            = 32 | 0 << 9 | mathfunc | 
scriptCommand;
   public final static int _                = 33 | 0 << 9 | mathfunc | 
mathproperty; // same as getProperty 
+  public final static int pointgroup       = 34 | 0 << 9 | mathfunc;
 
 
   // xxx(a)
@@ -1109,11 +1110,12 @@
   public final static int auto   = misc  | 28;
   public final static int axis   = misc  | 30;
   public final static int babel         = misc  | 32;
-  public final static int babel21       = misc  | 34; 
-  public final static int back          = misc  | 35;
-  public final static int balls         = misc  | 36;
-  public final static int barb          = misc  | 37;
-  public final static int backlit       = misc  | 38;
+  public final static int babel21       = misc  | 33; 
+  public final static int back          = misc  | 34;
+  public final static int balls         = misc  | 35;
+  public final static int barb          = misc  | 36;
+  public final static int backlit       = misc  | 37;
+  public final static int backshell     = misc  | 38;
   public final static int best          = misc  | 39;
   public final static int basepair      = misc  | 40;
   public final static int binary        = misc  | 42;
@@ -1227,21 +1229,22 @@
   public final static int msms           = misc  | 210;
   public final static int name           = misc  | 211;
   public final static int nci            = misc  | 212;
-  public final static int next    = misc  | 213;
+  public final static int next           = misc  | 213;
   public final static int nmr            = misc  | 214;
   public final static int nocontourlines  = misc  | 215;
   public final static int nocross        = misc  | 216;
   public final static int nodebug        = misc  | 217;
-  public final static int nodots  = misc  | 218;
+  public final static int nodots         = misc  | 218;
   public final static int noedges        = misc  | 220;
-  public final static int nofill  = misc  | 222;
+  public final static int nofill         = misc  | 222;
   public final static int nohead         = misc  | 224;
   public final static int noload         = misc  | 226;
-  public final static int nomesh  = misc  | 228;
+  public final static int nomesh         = misc  | 228;
   public final static int noplane        = misc  | 230;
   public final static int normal         = misc  | 232;
-  public final static int notfrontonly  = misc  | 234;
-  public final static int notriangles   = misc  | 236;
+  public final static int nobackshell    = misc  | 233;
+  public final static int notfrontonly   = misc  | 234;
+  public final static int notriangles    = misc  | 236;
   public final static int obj            = misc  | 238;
   public final static int object         = misc  | 240;
   public final static int offset         = misc  | 242;
@@ -1263,23 +1266,22 @@
   public final static int period         = misc  | 266;
   public final static int perpendicular  = misc  | 268;
   public final static int phase          = misc  | 270;
-  public final static int play    = misc  | 272;
-  public final static int playrev = misc  | 274;
+  public final static int play           = misc  | 272;
+  public final static int playrev        = misc  | 274;
   public final static int planarparam    = misc  | 275;
   public final static int pocket         = misc  | 276;
-  public final static int pointgroup     = misc  | 278;
   public final static int pointsperangstrom = misc  | 280;
   public final static int polygon        = misc  | 282;
-  public final static int prev    = misc  | 284;
-  public final static int probe   = misc  | 285;
-  public final static int pymol   = misc  | 286;
+  public final static int prev           = misc  | 284;
+  public final static int probe          = misc  | 285;
+  public final static int pymol          = misc  | 286;
   public final static int rad            = misc  | 287;
   public final static int radical        = misc  | 288;
-  public final static int range   = misc  | 290;
-  public final static int rasmol  = misc  | 292;
+  public final static int range          = misc  | 290;
+  public final static int rasmol         = misc  | 292;
   public final static int reference      = misc  | 294;
   public final static int remove         = misc  | 295;
-  public final static int residue = misc  | 296;
+  public final static int residue        = misc  | 296;
   public final static int resolution     = misc  | 298;
   public final static int reversecolor   = misc  | 300;
   public final static int rewind         = misc  | 301;
@@ -1288,7 +1290,7 @@
   public final static int rna3d          = misc  | 304;
   public final static int rock           = misc  | 305;
   public final static int rotate45       = misc  | 306;
-  public final static int rotation = misc  | 308;
+  public final static int rotation       = misc  | 308;
   public final static int rubberband     = misc  | 310;
   public final static int sasurface      = misc  | 311;
   public final static int saved          = misc  | 312;
@@ -1301,7 +1303,7 @@
   public final static int silent         = misc  | 324;
   public final static int solid          = misc  | 326;
   public final static int spacegroup     = misc  | 328;
-  public final static int sphere  = misc  | 330;
+  public final static int sphere         = misc  | 330;
   public final static int squared        = misc  | 332;
   public final static int state          = misc  | 334;
   public final static int stdinchi       = misc  | 335;
@@ -1315,17 +1317,17 @@
   public final static int top            = misc  | 348;
   public final static int torsion        = misc  | 350;
   public final static int transform      = misc  | 352;
-  public final static int translation   = misc  | 354;
-  public final static int triangles     = misc  | 358;
-  public final static int url             = misc  | 360;
-  public final static int user            = misc  | 362;
-  public final static int val             = misc  | 364;
-  public final static int validation      = misc  | 365;
-  public final static int variable        = misc  | 366;
-  public final static int variables       = misc  | 368;
-  public final static int vertices        = misc  | 370;
-  public final static int spacebeforesquare      = misc  | 371;
-  public final static int width           = misc  | 372;
+  public final static int translation    = misc  | 354;
+  public final static int triangles      = misc  | 358;
+  public final static int url            = misc  | 360;
+  public final static int user           = misc  | 362;
+  public final static int val            = misc  | 364;
+  public final static int validation     = misc  | 365;
+  public final static int variable       = misc  | 366;
+  public final static int variables      = misc  | 368;
+  public final static int vertices       = misc  | 370;
+  public final static int spacebeforesquare = misc  | 371;
+  public final static int width          = misc  | 372;
 
   // used to be "expression":
   
@@ -1905,6 +1907,7 @@
         "babel21",
         "back",
         "backlit",
+        "backshell",
         "balls",
         "baseModel",
         "best",
@@ -2050,6 +2053,7 @@
         "null",
         "inherit",
         "normal",
+        "noBackshell",
         "noContourLines",
         "notFrontOnly",
         "noTriangles",
@@ -2938,6 +2942,7 @@
         babel21,                            // "babel21"
         back,                               // "back"
         backlit,                            // "backlit"
+        backshell,                          // "backshell"
         balls,                              // "balls"
         basemodel,                          // "baseModel"
         best,                               // "best"
@@ -3083,6 +3088,7 @@
         -1,                                 // "null"
         -1,                                 // "inherit"
         normal,                             // "normal"
+        nobackshell,                        // "nobackshell"
         nocontourlines,                     // "noContourLines"
         notfrontonly,                       // "notFrontOnly"
         notriangles,                        // "noTriangles"

Modified: branches/v14_4/Jmol/src/org/jmol/shape/Mesh.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/shape/Mesh.java    2016-02-06 16:19:38 UTC 
(rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/shape/Mesh.java    2016-02-06 16:20:31 UTC 
(rev 20951)
@@ -99,6 +99,8 @@
   public int visibilityFlags;
   public boolean insideOut;
   public int checkByteCount;
+  private boolean normalsInverted;
+  
 
   public void setVisibilityFlags(int n) {
     visibilityFlags = n;//set to 1 in mps
@@ -110,6 +112,7 @@
   public boolean fillTriangles = true;
   public boolean showTriangles = false; //as distinct entitities
   public boolean frontOnly = false;
+  public boolean isShell = false;
   public boolean isTwoSided = true;
   public boolean havePlanarContours = false;
 
@@ -161,6 +164,7 @@
     drawTriangles = false;
     fillTriangles = true;
     frontOnly = false;
+    isShell = false;
     havePlanarContours = false;
     haveXyPoints = false;
     isModelConnected = false;
@@ -190,7 +194,7 @@
   }
 
   protected BS bsTemp;
-  
+
   public void initialize(int lighting, T3[] vertices, P4 plane) {
     if (vertices == null)
       vertices = this.vs;
@@ -199,6 +203,8 @@
     this.lighting = T.frontlit;
     if (insideOut)
       invertNormixes();
+    if (isShell && !isTwoSided)
+      invertNormixes();
     setLighting(lighting);
   }
 
@@ -214,7 +220,7 @@
     else
       for (int i = normixCount; --i >= 0;)
         normixes[i] = Normix.getNormixV(normals[i], bsTemp);
-    return normixes;
+    return normixes; 
   }
 
   public V3[] getNormals(T3[] vertices, P4 plane) {
@@ -256,6 +262,7 @@
 
   private void invertNormixes() {
     Normix.setInverseNormixes();
+    normalsInverted = !normalsInverted;
     for (int i = normixCount; --i >= 0;)
       normixes[i] = Normix.getInverseNormix(normixes[i]);
   }
@@ -357,6 +364,8 @@
     if (showTriangles)
       s.append(" triangles");
     s.append(" ").append(T.nameOf(lighting));
+    if (isShell && !isTwoSided)
+      s.append(" shell");
     return s.toString();
   }
 
@@ -447,30 +456,38 @@
         }
     return bs;
   }
-//
-//  BS getVisibleGhostBitSet() {
-//    BS bs = new BS();
-//    if (polygonCount == 0 && bsSlabGhost != null)
-//      BSUtil.copy2(bsSlabGhost, bs);
-//    else
-//      for (int i = polygonCount; --i >= 0;)
-//        if (bsSlabGhost == null || bsSlabGhost.get(i)) {
-//          int[] vertexIndexes = polygonIndexes[i];
-//          if (vertexIndexes == null)
-//            continue;
-//          bs.set(vertexIndexes[0]);
-//          bs.set(vertexIndexes[1]);
-//          bs.set(vertexIndexes[2]);
-//        }
-//    return bs;
-//  }
 
+  //
+  //  BS getVisibleGhostBitSet() {
+  //    BS bs = new BS();
+  //    if (polygonCount == 0 && bsSlabGhost != null)
+  //      BSUtil.copy2(bsSlabGhost, bs);
+  //    else
+  //      for (int i = polygonCount; --i >= 0;)
+  //        if (bsSlabGhost == null || bsSlabGhost.get(i)) {
+  //          int[] vertexIndexes = polygonIndexes[i];
+  //          if (vertexIndexes == null)
+  //            continue;
+  //          bs.set(vertexIndexes[0]);
+  //          bs.set(vertexIndexes[1]);
+  //          bs.set(vertexIndexes[2]);
+  //        }
+  //    return bs;
+  //  }
+
   public void setTokenProperty(int tokProp, boolean bProp) {
     switch (tokProp) {
     case T.notfrontonly:
     case T.frontonly:
       frontOnly = (tokProp == T.frontonly ? bProp : !bProp);
       return;
+    case T.nobackshell:
+    case T.backshell:
+      if (!isTwoSided && isShell != (tokProp == T.backshell ? bProp : !bProp)) 
{
+        isShell = !isShell;
+        invertNormixes();
+      }
+      return;
     case T.frontlit:
     case T.backlit:
     case T.fullylit:
@@ -478,23 +495,23 @@
       return;
     case T.nodots:
     case T.dots:
-      showPoints =  (tokProp == T.dots ? bProp : !bProp);
+      showPoints = (tokProp == T.dots ? bProp : !bProp);
       return;
     case T.nomesh:
     case T.mesh:
-      drawTriangles =  (tokProp == T.mesh ? bProp : !bProp);
+      drawTriangles = (tokProp == T.mesh ? bProp : !bProp);
       return;
     case T.nofill:
     case T.fill:
-      fillTriangles =  (tokProp == T.fill ? bProp : !bProp);
+      fillTriangles = (tokProp == T.fill ? bProp : !bProp);
       return;
     case T.notriangles:
     case T.triangles:
-      showTriangles =  (tokProp == T.triangles ? bProp : !bProp);
+      showTriangles = (tokProp == T.triangles ? bProp : !bProp);
       return;
     case T.nocontourlines:
     case T.contourlines:
-      showContourLines =  (tokProp == T.contourlines ? bProp : !bProp);
+      showContourLines = (tokProp == T.contourlines ? bProp : !bProp);
       return;
     }
   }

Modified: branches/v14_4/Jmol/src/org/jmol/shape/MeshCollection.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/shape/MeshCollection.java  2016-02-06 
16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/shape/MeshCollection.java  2016-02-06 
16:20:31 UTC (rev 20951)
@@ -273,6 +273,7 @@
       case T.fullylit:
       case T.dots:
       case T.fill:
+      case T.backshell:
       case T.triangles:
       case T.frontonly:
         break;
@@ -305,6 +306,10 @@
         test = false;
         tok = T.fill;
         break;
+      case T.nobackshell:
+        test = false;
+        tok = T.backshell;
+        break;
       case T.notriangles:
         test = false;
         tok = T.triangles;

Modified: branches/v14_4/Jmol/src/org/jmol/shapesurface/Contact.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/shapesurface/Contact.java  2016-02-06 
16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/shapesurface/Contact.java  2016-02-06 
16:20:31 UTC (rev 20951)
@@ -142,6 +142,7 @@
     thisMesh.nSets = 0;
     thisMesh.info = null;
     String func = null;
+    boolean fullyLit = true;
     switch (displayType) {
     case T.full:
       func = "(a>b?a:b)";
@@ -157,7 +158,7 @@
     //VolumeData volumeData;
     switch (displayType) {
     case T.nci:
-      colorByType = false;
+      colorByType = fullyLit = false;
       bs = BSUtil.copy(bsA);
       bs.or(bsB); // for now -- TODO -- need to distinguish ligand
       if (parameters[0] < 0)
@@ -170,13 +171,13 @@
       break;
     case T.sasurface:
     case T.surface:
-      colorByType = false;
+      colorByType = fullyLit = false;
       thisMesh.nSets = 1;
       newSurface(T.surface, null, bsA, bsB, rd, null, null, colorDensity,
           null, saProbeRadius);
       break;
     case T.cap:
-      colorByType = false;
+      colorByType = fullyLit = false;
       thisMesh.nSets = 1;
       newSurface(T.slab, null, bsA, bsB, rd, null, null, false, null, 0);
       sg.initState();
@@ -230,7 +231,7 @@
     if (colorDensity) {
       setPropI("pointSize", Float.valueOf(ptSize), null);
     } else {
-      setPropI("token", Integer.valueOf(T.fullylit), null);
+      setPropI("token", Integer.valueOf(fullyLit ? T.fullylit : T.frontlit), 
null);
     }
     if (thisMesh.slabOptions != null) {
       thisMesh.slabOptions = null;

Modified: branches/v14_4/Jmol/src/org/jmol/shapesurface/MolecularOrbital.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/shapesurface/MolecularOrbital.java 
2016-02-06 16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/shapesurface/MolecularOrbital.java 
2016-02-06 16:20:31 UTC (rev 20951)
@@ -70,6 +70,7 @@
   private int moMesh = T.mesh;
   private int moDots = T.nodots;
   private int moFrontOnly = T.frontonly;
+  private int moShell = T.nobackshell;
   private String moTitleFormat;
   private boolean moDebug;
   private int myColorPt;
@@ -290,6 +291,10 @@
       case T.nomesh:
         moMesh = tok;
         break;
+      case T.backshell:
+      case T.nobackshell:
+        moShell = tok;
+        break;
       case T.frontonly:
       case T.notfrontonly:
         moFrontOnly = tok;
@@ -517,6 +522,7 @@
       setPropI("translucency", moTranslucency, null);
     setPropI("token", Integer.valueOf(moFill), null);
     setPropI("token", Integer.valueOf(moMesh), null);
+    setPropI("token", Integer.valueOf(moShell), null);
     setPropI("token", Integer.valueOf(moDots), null);
     setPropI("token", Integer.valueOf(moFrontOnly), null);
     thisModel.put("mesh", currentMesh);

Modified: branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java
===================================================================
--- branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java       2016-02-06 
16:19:38 UTC (rev 20950)
+++ branches/v14_4/Jmol/src/org/jmol/util/MeshSlicer.java       2016-02-06 
16:20:31 UTC (rev 20951)
@@ -71,8 +71,10 @@
         m.bsSlabGhost = null;
         m.slabMeshType = T.none;
       }
-      if (slabType == T.none)
+      if (slabType == T.none) {
+        
         return false;
+      }
     }
     Object slabbingObject = slabObject[1];
     boolean andCap = ((Boolean) slabObject[2]).booleanValue()

Modified: 
branches/v14_4/Jmol/src/org/openscience/jmol/app/surfacetool/SurfaceStatus.java
===================================================================
--- 
branches/v14_4/Jmol/src/org/openscience/jmol/app/surfacetool/SurfaceStatus.java 
    2016-02-06 16:19:38 UTC (rev 20950)
+++ 
branches/v14_4/Jmol/src/org/openscience/jmol/app/surfacetool/SurfaceStatus.java 
    2016-02-06 16:20:31 UTC (rev 20951)
@@ -48,6 +48,7 @@
   boolean ghostOn;
   boolean foundDuringLastSync;
   Slice slice;
+  private boolean isShell;
 
   /**
    * @param m
@@ -67,6 +68,7 @@
     meshTranslucency = 0; //ignored for now    
     lighting = m.lighting;
     frontonly = m.frontOnly;
+    isShell = m.isShell;
     beenSliced = false;
     capOn = false;
     ghostOn = false;
@@ -84,6 +86,7 @@
     meshTranslucency = 0; //ignored for now    
     lighting = m.lighting;
     frontonly = m.frontOnly;
+    isShell = m.isShell;
     foundDuringLastSync = true;
   }
 }

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


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to