Revision: 18255
          http://sourceforge.net/p/jmol/code/18255
Author:   hansonr
Date:     2013-05-27 00:29:50 +0000 (Mon, 27 May 2013)
Log Message:
-----------


Modified Paths:
--------------
    trunk/Jmol/src/org/jmol/adapter/readers/pymol/JmolObject.java
    trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java
    trunk/Jmol/src/org/jmol/viewer/Jmol.properties

Modified: trunk/Jmol/src/org/jmol/adapter/readers/pymol/JmolObject.java
===================================================================
--- trunk/Jmol/src/org/jmol/adapter/readers/pymol/JmolObject.java       
2013-05-26 22:54:47 UTC (rev 18254)
+++ trunk/Jmol/src/org/jmol/adapter/readers/pymol/JmolObject.java       
2013-05-27 00:29:50 UTC (rev 18255)
@@ -320,6 +320,7 @@
   
   void setSize(float size) {
     this.size = (int) (size * 1000);
+    System.out.println("JmolObject " + id + " size=" + size);
   }
 
 }
\ No newline at end of file

Modified: trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java
===================================================================
--- trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java      
2013-05-26 22:54:47 UTC (rev 18254)
+++ trunk/Jmol/src/org/jmol/adapter/readers/pymol/PyMOLReader.java      
2013-05-27 00:29:50 UTC (rev 18255)
@@ -1576,7 +1576,6 @@
     for (Map.Entry<Float, BS> e : htSpacefill.entrySet()) {
       float r = e.getKey().floatValue();
       BS bs = e.getValue();
-      System.out.println(r + " sf " + Escape.eBS(bs));
       addJmolObject(JC.SHAPE_BALLS, bs, null).rd = new RadiusData(null, r,
           RadiusData.EnumType.ABSOLUTE, EnumVdw.AUTO);
     }
@@ -1715,21 +1714,27 @@
    */
   private void createTraceObject(BS bs) {
     JmolObject jo;
+    checkNucleicObject(bs, true);
+    if (bs.isEmpty())
+      return;
+    jo = addJmolObject(JC.SHAPE_TRACE, bs, null);
+    jo.translucency = cartoonTranslucency;
+    jo.setSize(floatSetting(PyMOL.cartoon_tube_radius) * 2);
+  }
+
+  private void checkNucleicObject(BS bs, boolean isTrace) {
+    JmolObject jo;
     BS bsNuc = BSUtil.copy(bsNucleic);
     bsNuc.and(bs);
-    if (cartoonLadderMode && !bsNuc.isEmpty()) {
-      haveNucleicLadder = true;
+    if (!bsNuc.isEmpty()) {
+      if (isTrace && cartoonLadderMode)
+        haveNucleicLadder = true;
       // we will just use cartoons for ladder mode
       jo = addJmolObject(JC.SHAPE_CARTOON, bsNuc, null);
       jo.translucency = cartoonTranslucency;
       jo.setSize(floatSetting(PyMOL.cartoon_tube_radius) * 2);
       bs.andNot(bsNuc);
-      if (bs.isEmpty())
-        return;
     }
-    jo = addJmolObject(JC.SHAPE_TRACE, bs, null);
-    jo.translucency = cartoonTranslucency;
-    jo.setSize(floatSetting(PyMOL.cartoon_tube_radius) * 2);
   }
 
   /**
@@ -1755,14 +1760,14 @@
    * @param bs
    */
   private void createRibbonObject(BS bs) {
-    // 2ace: 0, 1 ==> backbone
-    // fig8: 0, 1 ==> backbone
-    // casp: 0, 1 ==> backbone
-    // NLG3_AchE: 0, 1 ==> backbone
+    // 2ace: 0, 1 ==> backbone  // r rpc w 0.0 1.3 3.0 too small
+    // fig8: 0, 1 ==> backbone // r rpc w 0.0 1.0 3.0  OK
+    // casp: 0, 1 ==> backbone // r rpc w 0.0 1.3 3.0  too small
+    // NLG3_AchE: 0, 1 ==> backbone  //r rpc w 0.0 1.3 4.0 too small 
     // NLG3_HuAChE: 0, 10 ==> trace
     // tach: 0, 10 ==> trace
     // tah-lev: 0, 10 ==> trace
-    // 496: -1, 1 ==> backbone
+    // 496: -1, 1 ==> backbone  // r rpc 0.0 1.3 3.0 too small
     // kinases: -1, 1 ==> backbone
     // 443_D1: -1, 1 ==> backbone
     // 476Rainbow_New: 10, 8 ==> trace
@@ -1772,9 +1777,10 @@
     boolean isTrace = (sampling > 1);
     float r = floatSetting(PyMOL.ribbon_radius) * 2;
     float rpc = floatSetting(PyMOL.ray_pixel_scale);
+    System.out.println("r rpc w " + r + " " + rpc + " " + 
floatSetting(PyMOL.ribbon_width));
     if (r == 0)
       r = floatSetting(PyMOL.ribbon_width)
-          * (isTrace ? 0.1f : (rpc < 1 ? 1 : rpc) * 0.05f);
+          * (isTrace ? 1 : (rpc <= 1 ? 0.5f : rpc)) * 0.1f;
     addJmolObject((isTrace ? JC.SHAPE_TRACE : JC.SHAPE_BACKBONE), bs, null)
         .setSize(r);
   }
@@ -1786,6 +1792,11 @@
     bs.and(reps[PyMOL.REP_CARTOON]);
     if (bs.isEmpty())
       return;
+    if (key.equals(" ")) {
+      checkNucleicObject(bs, false);
+      if (bs.isEmpty())
+        return;    
+    }
     JmolObject jo = addJmolObject(JC.SHAPE_CARTOON, bs, null);
     jo.translucency = cartoonTranslucency;
     jo.setSize(floatSetting(sizeID) * 2);

Modified: trunk/Jmol/src/org/jmol/viewer/Jmol.properties
===================================================================
--- trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2013-05-26 22:54:47 UTC 
(rev 18254)
+++ trunk/Jmol/src/org/jmol/viewer/Jmol.properties      2013-05-27 00:29:50 UTC 
(rev 18255)
@@ -9,7 +9,7 @@
 #  The quotes above look odd for a parameter file, but they are 
 #  important for the JavaScript version of Jmol.
 
-___JmolVersion="13.1.16_dev_2013.05.26"
+___JmolVersion="13.1.16_dev_2013.05.26a"
 
 PyMOL: first phase of reader development complete (working with Jaime Prilusky)
   -- 104 test models http://ispcsrv3.weizmann.ac.il/a2jmolb/browse 

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


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Jmol-commits mailing list
Jmol-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-commits

Reply via email to