<span class="Apple-style-span" style><div>adding the following line did not change anything </div><div>renderers.current.unbindToElementId(&#39;renderercontainer&#39;);</div><div>and I do not know how to check the view id </div>
<div>                    </div>Calling disconnect and connecting again would <div>indeed solve the problem but why would anyone </div><div>want to do that? I am already connected, all I want</div><div>to do is load some other data. You do not </div>
<div>connect/disconnect for every query you are going </div><div>to execute on database, so why do it here ? </div><div><br></div><div>Is there a paravievweb document I can read somewhere,</div><div>like the ITK or VTK books? That would help greatly. </div>
<div><br></div><div>Thank you, </div><div>Cagatay</div></span><br><div class="gmail_quote">On Fri, May 4, 2012 at 6:01 AM, Sebastien Jourdain <span dir="ltr">&lt;<a href="mailto:sebastien.jourdain@kitware.com" target="_blank">sebastien.jourdain@kitware.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hum,<br>
<br>
I will have to do it myself to see exactly what is going on.<br>
Unfortunately there is no clean way to cleanup the proxies of<br>
ParaView, so you know that you start from fresh for each data.<br>
I&#39;m wondering if calling Diconnect() before loading the new data could<br>
solve the issue.<br>
<br>
On the other hand, in your current code, I don&#39;t see any &quot;unbind&quot; of<br>
your renderer which could end-up being on the top of the new one you<br>
just create. Did you double check that the view id that you get is<br>
different ?<br>
<br>
Seb<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, May 3, 2012 at 6:47 PM, Cagatay Bilgin &lt;<a href="mailto:bilgincc@gmail.com">bilgincc@gmail.com</a>&gt; wrote:<br>
&gt; Hi Seb,<br>
&gt;<br>
&gt; The first option will not scale. We will<br>
&gt; have a growing number of tissue samples<br>
&gt; to be visualized and this option will be<br>
&gt; infeasible soon.<br>
&gt;<br>
&gt; I am already re-initializing the renderer<br>
&gt; with the new activeview. The minimal<br>
&gt; example illustrating the issue is here<br>
&gt;<br>
&gt; var renderers = {};<br>
&gt; var paraview;<br>
&gt; var activeView;<br>
&gt; var basePath = &#39;data/&#39;;<br>
&gt; var dataFile = &#39;sphere.pvsm&#39;;<br>
&gt;<br>
&gt; paraview = new Paraview(serverUrl);<br>
&gt; paraview.createSession(&quot;Shuttle&quot;, &quot;&quot;, &quot;default&quot;);<br>
&gt;<br>
&gt; function start(){<br>
&gt;   paraview.LoadState({filename: basePath + dataFile});<br>
&gt;   activeView = paraview.CreateIfNeededRenderView();<br>
&gt;   paraview.ResetCamera();<br>
&gt;   activeView.setCenterOfRotation(activeView.getCameraFocalPoint());<br>
&gt;<br>
&gt;   paraview.updateConfiguration(true, &quot;JPEG&quot;, &quot;WebGL&quot;);<br>
&gt;   renderers.webgl = new WebGLRenderer(&quot;webglRenderer&quot;, serverUrl);<br>
&gt;   renderers.webgl.init(paraview.sessionId, activeView.__selfid__);<br>
&gt;<br>
&gt;   // Use webgl as default<br>
&gt;   renderers.current = renderers.webgl;<br>
&gt;   renderers.current.bindToElementId(&quot;renderercontainer&quot;);<br>
&gt;   renderers.current.start();<br>
&gt;<br>
&gt;   // Update render size<br>
&gt;   updateSize();<br>
&gt; }<br>
&gt; ...<br>
&gt; function switchData(){<br>
&gt;   dataFile = &#39;cone.pvsm&#39;;<br>
&gt;   start();<br>
&gt; }<br>
&gt;<br>
&gt; This script successfully loads the sphere but<br>
&gt; does not switch to cone. If I move the<br>
&gt; paraview.createSession(&quot;Shuttle&quot;, &quot;&quot;, &quot;default&quot;);<br>
&gt; in to start function, things start working as expected:<br>
&gt; Sphere is visualized first, and cone is loaded and<br>
&gt; visualized when the button is clicked at the cost of<br>
&gt; an unnecessary session. I am trying to do things<br>
&gt; cleanly, and do not want to have dangling sessions<br>
&gt; for no reason.<br>
&gt;<br>
&gt; Thank you for your help,<br>
&gt; Cagatay<br>
&gt;<br>
&gt; On Thu, May 3, 2012 at 3:15 PM, Sebastien Jourdain<br>
&gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Well there is several way to deal with what you want to achieve.<br>
&gt;&gt;<br>
&gt;&gt; 1) if all the data that you are interested are kind of small then you<br>
&gt;&gt; can all load them and just call &quot;paraview.Show({proxy: objA})&quot; or<br>
&gt;&gt; &quot;paraview.Hide({proxy: objA})&quot;<br>
&gt;&gt;<br>
&gt;&gt; To get the proper references of objA, objB, ..., from the state file,<br>
&gt;&gt; you can query ParaView for that like that:<br>
&gt;&gt;<br>
&gt;&gt; var objA = paraview.FindSource( { name: &quot;nameInPipelineBrowserInParaView&quot;<br>
&gt;&gt; });<br>
&gt;&gt;<br>
&gt;&gt; 2) if you really want to load and unload them, you will have to<br>
&gt;&gt; re-init the renderers as I was saying in one of my previous mail. Just<br>
&gt;&gt; let me know if you want to take that route, I can try to explain more.<br>
&gt;&gt;<br>
&gt;&gt; Hope that give you enough hints,<br>
&gt;&gt;<br>
&gt;&gt; Seb<br>
&gt;&gt;<br>
&gt;&gt; On Thu, May 3, 2012 at 5:40 PM, Cagatay Bilgin &lt;<a href="mailto:bilgincc@gmail.com">bilgincc@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; It only re-initializes if I create another session like this<br>
&gt;&gt; &gt; paraview.createSession(&quot;Shuttle&quot;, &quot;&quot;, &quot;default&quot;);<br>
&gt;&gt; &gt; but I think I shouldn&#39;t be creating a new session<br>
&gt;&gt; &gt; just to see a different object.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am completely ok with using different file formats. All<br>
&gt;&gt; &gt; I am trying to do is to minimize the paraviewweb-js-python<br>
&gt;&gt; &gt; scripting part as I have very limited experience there.  That&#39;s<br>
&gt;&gt; &gt; why I was using state files. Is it better to use something else ?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Thank you,<br>
&gt;&gt; &gt; Cagatay<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Thu, May 3, 2012 at 2:09 PM, Sebastien Jourdain<br>
&gt;&gt; &gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Normally loading a state file should re-initialize everything, so the<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; activeView = paraview.CreateIfNeededRenderView();<br>
&gt;&gt; &gt;&gt; paraview.ResetCamera();<br>
&gt;&gt; &gt;&gt; activeView.setCenterOfRotation(activeView.getCameraFocalPoint());<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; should be redone and all the renderer should be re-init with the new<br>
&gt;&gt; &gt;&gt; view<br>
&gt;&gt; &gt;&gt; id.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Seb<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; On Thu, May 3, 2012 at 5:02 PM, Sebastien Jourdain<br>
&gt;&gt; &gt;&gt; &lt;<a href="mailto:sebastien.jourdain@kitware.com">sebastien.jourdain@kitware.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt; Hi Cagatay,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; does your data needs to be a ParaView state file, our would it be<br>
&gt;&gt; &gt;&gt; &gt; better if it was some other VTK compatible file ?<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Seb<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Thu, May 3, 2012 at 3:18 PM, Cagatay Bilgin &lt;<a href="mailto:bilgincc@gmail.com">bilgincc@gmail.com</a>&gt;<br>
&gt;&gt; &gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt; I am trying to build a web application that<br>
&gt;&gt; &gt;&gt; &gt;&gt; can visualize different objects by the use<br>
&gt;&gt; &gt;&gt; &gt;&gt; of a drop down bar. I do not want to create<br>
&gt;&gt; &gt;&gt; &gt;&gt; new connections or sessions every time the<br>
&gt;&gt; &gt;&gt; &gt;&gt; user changes object to be visualized. I&#39;ve<br>
&gt;&gt; &gt;&gt; &gt;&gt; been trying the whole morning and could not<br>
&gt;&gt; &gt;&gt; &gt;&gt; figure out how to i) delete the current view,<br>
&gt;&gt; &gt;&gt; &gt;&gt; ii) set it to the view view and iii) refresh the<br>
&gt;&gt; &gt;&gt; &gt;&gt; page. Here is what I have so far.<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 var renderers = {};<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 var paraview;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 var activeView;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 var basePath =<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &#39;/bioimaging/home/ccbilgin/opt/apache-tomcat-6.0.35/webapps/PWShuttle/data/&#39;;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 var dataFile = &#39;tmp.pvsm&#39;;<br>
&gt;&gt; &gt;&gt; &gt;&gt;  *               paraview = new Paraview(serverUrl);<br>
&gt;&gt; &gt;&gt; &gt;&gt;  *               paraview.createSession(&quot;Shuttle&quot;, &quot;&quot;, &quot;default&quot;);<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 function start(){<br>
&gt;&gt; &gt;&gt; &gt;&gt;                      //paraview.LoadState({filename: basePath +<br>
&gt;&gt; &gt;&gt; &gt;&gt; &#39;/state.pvsm&#39;});<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     paraview.updateConfiguration(true, &quot;JPEG&quot;, &quot;-&quot;);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     paraview.LoadState({filename: basePath +<br>
&gt;&gt; &gt;&gt; &gt;&gt; dataFile});<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     activeView =<br>
&gt;&gt; &gt;&gt; &gt;&gt; paraview.CreateIfNeededRenderView();<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     paraview.ResetCamera();<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; activeView.setCenterOfRotation(activeView.getCameraFocalPoint());<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     // Create renderers<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.java = new<br>
&gt;&gt; &gt;&gt; &gt;&gt; HttpAppletRenderer(&quot;javaRenderer&quot;,<br>
&gt;&gt; &gt;&gt; &gt;&gt; serverUrl);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.java.init(paraview.sessionId,<br>
&gt;&gt; &gt;&gt; &gt;&gt; activeView.__selfid__);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.java.setSize(&quot;1&quot;,&quot;1&quot;);<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.flash = new<br>
&gt;&gt; &gt;&gt; &gt;&gt; FlashRenderer(&quot;flashRenderer&quot;,<br>
&gt;&gt; &gt;&gt; &gt;&gt; serverUrl);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.flash.init(paraview.sessionId,<br>
&gt;&gt; &gt;&gt; &gt;&gt; activeView.__selfid__);<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.js = new<br>
&gt;&gt; &gt;&gt; &gt;&gt; JavaScriptRenderer(&quot;jsRenderer&quot;,<br>
&gt;&gt; &gt;&gt; &gt;&gt; serverUrl);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.js.init(paraview.sessionId,<br>
&gt;&gt; &gt;&gt; &gt;&gt; activeView.__selfid__);<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     paraview.updateConfiguration(true, &quot;JPEG&quot;,<br>
&gt;&gt; &gt;&gt; &gt;&gt; &quot;WebGL&quot;);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.webgl = new<br>
&gt;&gt; &gt;&gt; &gt;&gt; WebGLRenderer(&quot;webglRenderer&quot;,<br>
&gt;&gt; &gt;&gt; &gt;&gt; serverUrl);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.webgl.init(paraview.sessionId,<br>
&gt;&gt; &gt;&gt; &gt;&gt; activeView.__selfid__);<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     // Remove Java when use in IE<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     if (navigator.appName.indexOf (&#39;Microsoft&#39;) !=<br>
&gt;&gt; &gt;&gt; &gt;&gt; -1)<br>
&gt;&gt; &gt;&gt; &gt;&gt; {<br>
&gt;&gt; &gt;&gt; &gt;&gt;                         var e = document.getElementById(&quot;java&quot;)<br>
&gt;&gt; &gt;&gt; &gt;&gt;                         var parent = e.parentNode;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                         if(e){<br>
&gt;&gt; &gt;&gt; &gt;&gt;                             parent.removeChild(e);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                         }<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     }<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     // Use webgl as default<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.current = renderers.webgl;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; renderers.current.bindToElementId(&quot;renderercontainer&quot;);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     renderers.current.start();<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     // Update render size<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     updateSize();<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     // Action images<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     updateActionButtons(true);<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 }<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; ....<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; function switchData(){<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     var type =<br>
&gt;&gt; &gt;&gt; &gt;&gt; document.getElementById(&quot;data-type&quot;).value;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     dataFile = &#39;cone.pvsm&#39;;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                     start();<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 }<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; ....<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; &lt;select id=&quot;data-type&quot; name=&quot;data-type&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 style=&quot;z-index: 5;width: 100px; position: absolute;<br>
&gt;&gt; &gt;&gt; &gt;&gt; right:<br>
&gt;&gt; &gt;&gt; &gt;&gt; 40px; top: 30px;&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt;                 onchange=&quot;switchData()&quot; &gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;             &lt;option value=&quot;1&quot;&gt;1.mhd&lt;/option&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;             &lt;option value=&quot;2&quot;&gt;2.mhd&lt;/option&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;             &lt;option value=&quot;3&quot;&gt;3.mhd&lt;/option&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;         &lt;/select&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>