Changeset 7859:4dd2b1467ead


Ignore:
Timestamp:
12/16/07 06:37:06 (5 years ago)
Author:
Robert Bradshaw <robertwb@…>
Branch:
default
Message:

Jmol plotting in notebook

Location:
sage
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • sage/plot/plot3d/base.pyx

    r7858 r7859  
    4646import os 
    4747from math import atan2 
     48from random import randint 
    4849 
    4950import sage.misc.misc 
     
    175176        return "\n".join(flatten_list([self.obj_repr(render_params), ""])) 
    176177         
    177     def export_jmol(self, filename='jmol_shape.script'): 
     178    def export_jmol(self, filename='jmol_shape.script', force_reload=False): 
    178179        render_params = self.default_render_params() 
    179180        render_params.output_file = filename 
     181        render_params.force_reload = render_params.randomize_counter = force_reload 
    180182        f = open(filename, 'w') 
    181183        f.write("\n".join(flatten_list([self.jmol_repr(render_params), ""]))) 
     
    223225            viewer_app = sage.misc.misc.SAGE_LOCAL + "/java/java3d/start_viewer" 
    224226        if DOCTEST_MODE or viewer=='jmol': 
    225             self.export_jmol(filename + ".jmol") 
     227            self.export_jmol(filename + ".jmol", force_reload=EMBEDDED_MODE) 
    226228            viewer_app = sage.misc.misc.SAGE_LOCAL + "/java/jmol/jmol" 
    227229            ext = "jmol" 
     
    416418    def __init__(self, **kwds): 
    417419        self._uniq_counter = 0 
     420        self.randomize_counter = 0 
    418421        self.obj_vertex_offset = 1 
    419422        self.transform_list = [] 
     
    433436         
    434437    def unique_name(self, desc="name"): 
    435         self._uniq_counter += 1 
     438        if self.randomize_counter: 
     439            self._uniq_counter = randint(1,1000000) 
     440        else: 
     441            self._uniq_counter += 1 
    436442        return "%s_%s" % (desc, self._uniq_counter) 
    437443 
  • sage/plot/plot3d/index_face_set.pyx

    r7780 r7859  
    4949 
    5050from math import sin, cos, sqrt 
     51from random import randint 
    5152 
    5253from sage.rings.real_double import RDF 
     
    535536            f.write('\n') 
    536537        f.close() 
     538        if render_params.force_reload: 
     539            filename += "?%s" % randint(1,1000000) 
    537540        return ['pmesh %s "%s"\n%s' % (name, filename, self.texture.jmol_str("pmesh"))] 
    538541     
  • sage/server/notebook/cell.py

    r6896 r7859  
    584584                images.append("""<a href="javascript:sage3d_show('%s', '%s_%s', '%s');">Click for interactive view.</a>"""%(url, self.__id, F, F[:-4])) 
    585585            elif F.endswith('.mtl') or F.endswith(".objmeta"): 
    586                 pass 
     586                pass # obj data 
    587587            elif F.endswith('.svg'): 
    588588                images.append('<embed src="%s" type="image/svg+xml" name="emap">'%url) 
     589            elif F.endswith('.jmol'): 
     590                script = 'jmolSetDocument(cell_writer); jmolApplet(400, "script %s?");' % url 
     591                images.append('<script>%s</script>' % script) 
     592            elif F.endswith('.pmesh'): 
     593                pass # jmol data 
    589594            else: 
    590595                files.append('<a href="%s" class="file_link">%s</a>'%(url, F)) 
  • sage/server/notebook/js.py

    r7858 r7859  
    18931893       s = s.slice(0,i) + cell_writer.buffer + s.slice(j+9); 
    18941894       i = s.indexOf('<'+'script>'); 
    1895        if (confirm(s)) return s; 
    18961895   } 
    18971896   return s; 
     
    19501949    var j = id_of_cell_delta(id,1); 
    19511950     
    1952      
     1951    /* Evaluate javascript */ 
    19531952    output_text = output_text.replace(/<script.*?>(.|\n|\r)*?<\/script>/gim, '&lt;script&gt;'); 
    19541953    output_text_wrapped = eval_script_tags(output_text_wrapped); 
     1954    output_html = eval_script_tags(output_html); 
    19551955     
    19561956    set_output_text(id, output_text, output_text_wrapped, 
  • sage/server/notebook/notebook.py

    r7858 r7859  
    14181418        head +=' <script type="text/javascript" src="/javascript/sage3d.js"></script>\n' 
    14191419        head +=' <script type="text/javascript" src="/java/jmol/appletweb/Jmol.js"></script>\n' 
     1420        head +=' <script>jmolInitialize("/java/jmol");</script>\n' # this must stay in the <body> 
    14201421        return head 
    14211422 
Note: See TracChangeset for help on using the changeset viewer.