Revision: 18637
          http://sourceforge.net/p/jmol/code/18637
Author:   hansonr
Date:     2013-09-02 05:40:40 +0000 (Mon, 02 Sep 2013)
Log Message:
-----------
___JmolVersion="13.3.5_dev_2013.09.01"

new feature: strutureModifiedCallback

bug fix: ID @id vector  fails

new feature: show NMR taps into NMRDB directly
 -- for now, application only

Modified Paths:
--------------
    trunk/Jmol/examples/basic/org/jmol/Export.java
    trunk/Jmol/jars/JSpecView.jar
    trunk/Jmol/src/org/jmol/adapter/readers/quantum/MoldenReader.java
    trunk/Jmol/src/org/jmol/api/JmolAdapter.java
    trunk/Jmol/src/org/jmol/script/ScriptCompiler.java
    trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java
    trunk/Jmol/src/org/jmol/util/Escape.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties

Modified: trunk/Jmol/examples/basic/org/jmol/Export.java
===================================================================
--- trunk/Jmol/examples/basic/org/jmol/Export.java      2013-09-02 00:07:26 UTC 
(rev 18636)
+++ trunk/Jmol/examples/basic/org/jmol/Export.java      2013-09-02 05:40:40 UTC 
(rev 18637)
@@ -86,6 +86,7 @@
     case MINIMIZATION:
     case RESIZE:
     case SYNC:
+    case STRUCTUREMODIFIED:
     case SCRIPT:
     case CLICK:
     case EVAL:

Modified: trunk/Jmol/jars/JSpecView.jar
===================================================================
(Binary files differ)

Modified: trunk/Jmol/src/org/jmol/adapter/readers/quantum/MoldenReader.java
===================================================================
--- trunk/Jmol/src/org/jmol/adapter/readers/quantum/MoldenReader.java   
2013-09-02 00:07:26 UTC (rev 18636)
+++ trunk/Jmol/src/org/jmol/adapter/readers/quantum/MoldenReader.java   
2013-09-02 05:40:40 UTC (rev 18637)
@@ -213,7 +213,9 @@
         slater[1] = type;
         slater[2] = gaussianPtr;
         slater[3] = nPrimitives;
-        nCoef += getDfCoefMaps()[type].length;
+        int n = getDfCoefMaps()[type].length;
+        System.out.println("adding " + n + " coefficients type " + 
JmolAdapter.getQuantumShellTag(type) + " for atom " + atomIndex);
+        nCoef += n;
         for (int ip = nPrimitives; --ip >= 0;) {
           // Read ip primitives, each containing an exponent and one (s,p,d,f)
           // or two (sp) contraction coefficient(s)
@@ -355,7 +357,7 @@
   }
 
   private boolean checkOrbitalType(String line) {
-    if (line.length() > 3 && "5D 6D 7F 10 9G 15".indexOf(line.substring(1,3)) 
>= 0) {
+    if (line.length() > 3 && "5D 6D 7F 10 9G 15 11 
21".indexOf(line.substring(1,3)) >= 0) {
       if (orbitalType.indexOf(line) >= 0)
         return true;
       orbitalType += line;
@@ -371,13 +373,16 @@
       fixSlaterTypes(JmolAdapter.SHELL_D_CARTESIAN, 
JmolAdapter.SHELL_D_SPHERICAL);
       fixSlaterTypes(JmolAdapter.SHELL_F_CARTESIAN, 
JmolAdapter.SHELL_F_SPHERICAL);
       fixSlaterTypes(JmolAdapter.SHELL_G_CARTESIAN, 
JmolAdapter.SHELL_G_SPHERICAL);
+      fixSlaterTypes(JmolAdapter.SHELL_H_CARTESIAN, 
JmolAdapter.SHELL_H_SPHERICAL);
     } 
     if (orbitalType.contains("10F")) {
       fixSlaterTypes(JmolAdapter.SHELL_F_SPHERICAL, 
JmolAdapter.SHELL_F_CARTESIAN);
       fixSlaterTypes(JmolAdapter.SHELL_G_SPHERICAL, 
JmolAdapter.SHELL_G_CARTESIAN);
+      fixSlaterTypes(JmolAdapter.SHELL_H_SPHERICAL, 
JmolAdapter.SHELL_H_CARTESIAN);
     } 
     if (orbitalType.contains("15G")) {
       fixSlaterTypes(JmolAdapter.SHELL_G_SPHERICAL, 
JmolAdapter.SHELL_G_CARTESIAN);
+      fixSlaterTypes(JmolAdapter.SHELL_H_SPHERICAL, 
JmolAdapter.SHELL_H_CARTESIAN);
     } 
   }
 
@@ -456,7 +461,7 @@
     boolean haveModel = false;
     if (desiredModelNumber == 0 || desiredModelNumber == nGeom)
       desiredModelNumber = nGeom; 
-    else
+    else if (atomSetCollection.getAtomSetCount() > 0)
       finalizeMOData(null);
     for (int i = 0; i < nGeom; i++) {
       readLines(2);

Modified: trunk/Jmol/src/org/jmol/api/JmolAdapter.java
===================================================================
--- trunk/Jmol/src/org/jmol/api/JmolAdapter.java        2013-09-02 00:07:26 UTC 
(rev 18636)
+++ trunk/Jmol/src/org/jmol/api/JmolAdapter.java        2013-09-02 05:40:40 UTC 
(rev 18637)
@@ -85,6 +85,8 @@
   public final static int        SHELL_F_CARTESIAN = 
EnumQuantumShell.F_CARTESIAN.id;
   public final static int        SHELL_G_SPHERICAL = 
EnumQuantumShell.G_SPHERICAL.id;
   public final static int        SHELL_G_CARTESIAN = 
EnumQuantumShell.G_CARTESIAN.id;
+  public final static int        SHELL_H_SPHERICAL = 
EnumQuantumShell.H_SPHERICAL.id;
+  public final static int        SHELL_H_CARTESIAN = 
EnumQuantumShell.H_CARTESIAN.id;
   public static final String SUPPORTED_BASIS_FUNCTIONS = 
EnumQuantumShell.SUPPORTED_BASIS_FUNCTIONS;
   public static final String NOTE_SCRIPT_FILE = JC.NOTE_SCRIPT_FILE;
   
@@ -104,6 +106,10 @@
     return JC.isHetero(group3);
   }
   
+  public static String getQuantumShellTag(int id) {
+    return EnumQuantumShell.getQuantumShellTag(id);
+  }
+                                           
   public static int getQuantumShellTagID(String tag) {
     return EnumQuantumShell.getQuantumShellTagID(tag);
   }

Modified: trunk/Jmol/src/org/jmol/script/ScriptCompiler.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptCompiler.java  2013-09-02 00:07:26 UTC 
(rev 18636)
+++ trunk/Jmol/src/org/jmol/script/ScriptCompiler.java  2013-09-02 05:40:40 UTC 
(rev 18637)
@@ -1209,6 +1209,10 @@
         && flowContext.var != null && theTok != T.casecmd
         && theTok != T.defaultcmd && lastToken.tok != T.switchcmd)
       return ERROR(ERROR_badContext, ident);
+    if (lastToken.tok == T.define && theTok != T.leftbrace && nTokens != 1) {
+      addTokenToPrefix(T.o(T.string, ident));
+      return CONTINUE;
+    }
     switch (theTok) {
     case T.identifier:
       if (nTokens == 0 && !checkImpliedScriptCmd) {
@@ -2331,12 +2335,6 @@
         }
         break;
       }
-      if (Character.isWhitespace(ch)) {
-        if (ptSpace < 0)
-          ptSpace = ichT;
-      } else {
-        ptLastChar = ichT;
-      }
       ++ichT;
     }
     // message/echo/label @x

Modified: trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java
===================================================================
--- trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-09-02 00:07:26 UTC 
(rev 18636)
+++ trunk/Jmol/src/org/jmol/script/ScriptEvaluator.java 2013-09-02 05:40:40 UTC 
(rev 18637)
@@ -8878,8 +8878,19 @@
 
       switch (tok) {
       case T.file:
+        i++;
+        loadScript.append(" " + modelName);
+        if (tokAt(i) == T.varray) {
+          filenames = stringParameterSet(i);
+          i = iToken;
+          if (i + 1 != slen)
+            invArg();
+          if (filenames != null)
+            nFiles = filenames.length;
+        }
+        break;
       case T.inline:
-        isInline = (tok == T.inline);
+        isInline = true;
         i++;
         loadScript.append(" " + modelName);
         break;
@@ -8918,7 +8929,7 @@
       default:
         modelName = "fileset";
       }
-      if (getToken(i).tok != T.string)
+      if (filenames == null && getToken(i).tok != T.string)
         error(ERROR_filenameExpected);
     }
     // long timeBegin = System.currentTimeMillis();
@@ -8947,31 +8958,33 @@
 
       // end-of-command options:
       // LOAD SMILES "xxxx" --> load "$xxxx"
-      // LOAD "['xxxxx','yyyyy','zzzzz']"
 
-      if (i == 0 || (filename = parameterAsString(filePt)).length() == 0)
+      if (i == 0 || filenames == null
+          && (filename = parameterAsString(filePt)).length() == 0)
         filename = viewer.getFullPathName();
-      if (filename == null) {
+      if (filename == null && filenames == null) {
         zap(false);
         return;
       }
-      if (isSmiles) {
-        filename = "$" + filename;
-      } else if (!isInline) {
-        if (filename.indexOf("[]") >= 0)
-          return;
-        if (filename.indexOf("[") == 0) {
-          filenames = Escape.unescapeStringArray(filename);
-          if (filenames != null) {
-            if (i == 1)
-              loadScript.append(" files");
-            if (loadScript.indexOf(" files") < 0)
-              invArg();
-            for (int j = 0; j < filenames.length; j++)
-              loadScript.append(" /*file*/").append(Escape.eS(filenames[j]));
+      if (filenames == null)
+        if (isSmiles) {
+          filename = "$" + filename;
+        } else if (!isInline) {
+          if (filename.indexOf("[]") >= 0)
+            return;
+          if (filename.indexOf("[") == 0) {
+            filenames = Escape.unescapeStringArray(filename);
+            if (filenames != null) {
+              if (i == 1)
+                loadScript.append(" files");
+              nFiles = filenames.length;
+            }
           }
         }
-      }
+      if (filenames != null)
+        for (int j = 0; j < filenames.length; j++)
+          loadScript.append(" /*file*/").append(Escape.eS(filenames[j]));
+
     } else if (getToken(i + 1).tok == T.manifest
         // model/vibration index or list of model indices
         || theTok == T.integer || theTok == T.varray || theTok == T.leftsquare
@@ -9316,7 +9329,6 @@
       filenames = new String[nFiles];
       for (int j = 0; j < nFiles; j++)
         filenames[j] = fNames.get(j);
-      filename = "fileSet";
     }
 
     // end of parsing
@@ -9324,6 +9336,9 @@
     if (!doLoadFiles)
       return;
 
+    if (filenames != null)
+      filename = "fileSet";
+
     // get default filter if necessary
 
     if (appendedData != null) {
@@ -9338,9 +9353,9 @@
         // If this is a state script, it may have been created using
         // the DOCACHE flag, but we never want that here, because then
         // this is a file being loaded from the state script itself.
-//        if (isStateScript)
-//          filter = TextFormat
-//              .simpleReplace(filter.toUpperCase(), "DOCACHE", "");
+        //        if (isStateScript)
+        //          filter = TextFormat
+        //              .simpleReplace(filter.toUpperCase(), "DOCACHE", "");
         if (!isStateScript && !isAppend)
           viewer.cacheClear();
       }

Modified: trunk/Jmol/src/org/jmol/util/Escape.java
===================================================================
--- trunk/Jmol/src/org/jmol/util/Escape.java    2013-09-02 00:07:26 UTC (rev 
18636)
+++ trunk/Jmol/src/org/jmol/util/Escape.java    2013-09-02 05:40:40 UTC (rev 
18637)
@@ -1025,6 +1025,9 @@
   }
 
   public static String[] unescapeStringArray(String data) {
+    // was only used for very strange LOAD "[\"...\",\"....\",...]"
+    // now also used for simulation peaks array from JSpecView,
+    // which double-escapes strings, I guess
     //TODO -- should recognize '..' as well as "..." ?
     if (data == null || !data.startsWith("[") || !data.endsWith("]"))
       return null;
@@ -1035,7 +1038,7 @@
       String s = Parser.getQuotedStringNext(data, next);
       if (s == null)
         return null;
-      v.addLast(TextFormat.simpleReplace(s, "\\\"", "\""));
+      v.addLast(s);
       while (next[0] < data.length() && data.charAt(next[0]) != '"')
         next[0]++;
     }    

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2013-09-02 00:07:26 UTC 
(rev 18636)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2013-09-02 05:40:40 UTC 
(rev 18637)
@@ -11,8 +11,12 @@
 #  The quotes above look odd for a parameter file, but they are 
 #  important for the JavaScript version of Jmol.
 
-___JmolVersion="13.3.5_dev_2013.08.29"
+___JmolVersion="13.3.5_dev_2013.09.01"
 
+new feature: strutureModifiedCallback
+
+bug fix: ID @id vector  fails
+
 new feature: show NMR taps into NMRDB directly
  -- for now, application only
 

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


------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58040911&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