<html><head><style> body {height: 100%; color:#000000; font-size:12pt; font-family:Times New Roman;}</style></head><body>Seb,<br>&nbsp;&nbsp;&nbsp; It really what I'm looking for. I really appreciate your reply. Thank you very much indeed. <br>&nbsp;&nbsp;&nbsp; I think that could help me a lot with my workings.<br>&nbsp; &nbsp; I'll give you feedbacks asap.<br>&nbsp; &nbsp; Thank you again.<br>&nbsp;<br><br>----- Original Message -----<br>From: Sebastien Jourdain &lt;sebastien.jourdain@kitware.com&gt;<br>To: Tuan Ha Tran &lt;tuan-ha.tran@insa-lyon.fr&gt;<br>Cc: paraview@paraview.org, paraview-developers@paraview.org<br>Sent: Thu, 07 Jun 2012 21:59:27 +0200 (CEST)<br>Subject: Re: [Paraview] Write xml for ParaView Plugin<br><br>Hi Tuan,<br><br>a ParaView proxy is a wrapper class that allow ParaView to abstract<br>the real location of the vtkObject that are managed by those proxies.<br>Even though you are using ParaView as a single process, its design is<br>to also work on cluster or super computer.<br><br>Saying that, a proxy is either a regular proxy which just wrap a<br>vtkObject using properties, or it can be a sourceProxy. A source proxy<br>only handle vtkAlgorithm sub-classes which is basically any pipeline<br>filter from VTK that use OutputPort and Connection. Those sourceProxy<br>are use to compose the pipeline.<br><br>In order to control its vtkObject a proxy use an XML descriptor that<br>name the concrete vtk class to use and list all the methods that we<br>want to be exposed into ParaView in order to control that concrete<br>object.<br>Those properties are usually use to set some values to the vtkObject<br>itself. Or eventually query the vtkObject and retrieve those values.<br>But there is no way to set and get at the same time. This is precisely<br>why you need to provide the voi (and not you ROI like I wrote) as a<br>property (unless you are using a SourceProxy and you get it from your<br>vtkAlgorithm) and get the computation result from another information<br>property.<br><br>If that helps, you can look at that definition and the<br>vtkPVRayCastPickingHelper.h file.<br>We set a bunch of property and then we use an information property to<br>get the result of a computation. Look were we create that<br>PickingHelper and how we use it...<br><br>+  <proxy name="PickingHelper" <br="">+   class="vtkPVRayCastPickingHelper" processes="dataserver"&gt;<br>+   <documentation><br>+    Proxy used to pick a point of a surface mesh.<br>+   </documentation><br>+   <doublevectorproperty name="PointA" <br="">+    command="SetPointA"<br>+    number_of_elements="3"<br>+    default_values="0.0 0.0 0.0"&gt;<br>+   </doublevectorproperty><br>+   <doublevectorproperty name="PointB" <br="">+    command="SetPointB"<br>+    number_of_elements="3"<br>+    default_values="0.0 0.0 1.0"&gt;<br>+   </doublevectorproperty><br>+   <doublevectorproperty name="Intersection" <br="">+    command="GetIntersection" information_only="1" number_of_elements="3"<br>+    default_values="0.0 0.0 0.0"&gt;<br>+   </doublevectorproperty><br>+   <property name="Update" command="ComputeIntersection"></property><br>+   <proxyproperty name="Input" <br="">+    command="SetInput"&gt;<br>+    <documentation><br>+     The input from which the selection is extracted.<br>+    </documentation><br>+   </proxyproperty><br>+   <proxyproperty name="Selection" <br="">+    command="SetSelection"&gt;<br>+    <documentation><br>+     The selection that is used to reduced the input.<br>+    </documentation><br>+   </proxyproperty><br>+  </proxy><br><br>Hope this help,<br><br>Seb<br><br>On Thu, Jun 7, 2012 at 3:30 AM, Tuan Ha Tran <tuan-ha.tran@insa-lyon.fr> wrote:<br>&gt; Hi Seb,<br>&gt; &nbsp; &nbsp;Thank you for your reply.<br>&gt; &nbsp; &nbsp;I'm sorry that I don't quite understand your instructions. I'm really new<br>&gt; to ParaView.<br>&gt; &nbsp; &nbsp;With my little knowledge in ParaView, I'll try to understand as follow :<br>&gt; &nbsp; &nbsp;- First, I have to write my .xml file with a tab that have "function"<br>&gt; declaration? So how to declare these values cause I don't understand the<br>&gt; exemples in the *.xml file (filters, writers; etc.)<br>&gt; &nbsp; &nbsp;- And then by the declaration as your instructions about information_only<br>&gt; yesterday?<br>&gt;<br>&gt; &nbsp; &nbsp;Can you be a little more&nbsp;explicit? What is ROI?<br>&gt;<br>&gt; &nbsp; &nbsp;Thank you very much for your kindness.<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; ----- Original Message -----<br>&gt; From: Sebastien Jourdain <sebastien.jourdain@kitware.com><br>&gt; To: Tuan Ha Tran <tuan-ha.tran@insa-lyon.fr><br>&gt; Cc: paraview@paraview.org, paraview-developers@paraview.org<br>&gt; Sent: Thu, 07 Jun 2012 01:28:38 +0200 (CEST)<br>&gt; Subject: Re: [Paraview] Write xml for ParaView Plugin<br>&gt;<br>&gt; You should do that in two step.<br>&gt;<br>&gt; On property on your proxy where you set the ROI.<br>&gt; And one information property where you calculate...<br>&gt;<br>&gt; Seb<br>&gt;<br>&gt; On Wed, Jun 6, 2012 at 11:17 AM, Tuan Ha Tran wrote:<br>&gt;&gt; Hi everybody,<br>&gt;&gt; I'm writing some .xml ServerManager file for a ParaView Plugin.<br>&gt;&gt; Our class have a function likes this :<br>&gt;&gt; double calculate(vtkImagedata* voi) that return a double value calculated<br>&gt;&gt; from the vtkImageData.<br>&gt;&gt;<br>&gt;&gt; I loaded the plugin into Paraview. I use the Python Shell and when I call<br>&gt;&gt; myReturnedValue = MyFilter.calculate(proxy) (proxy is a vtkImageData<br>&gt;&gt; type),<br>&gt;&gt; I always have the following error : AttributeError : 'function' object has<br>&gt;&gt; no attribute 'calculate'<br>&gt;&gt;<br>&gt;&gt; I searched in the filters.xml and found something mention about function.<br>&gt;&gt; I<br>&gt;&gt; wonder if we can use these descriptions to access to the function (this<br>&gt;&gt; function is nothing similar to any vtk function, don't override any of<br>&gt;&gt; them). I think that I have to add something like 'function = calculate' so<br>&gt;&gt; that the function is recognized in ParaView as well as Python but I can't<br>&gt;&gt; find any exemple.<br>&gt;&gt;<br>&gt;&gt; Do you have any idea? Thank you in advance.<br>&gt;&gt;<br>&gt;&gt; _______________________________________________<br>&gt;&gt; Powered by www.kitware.com<br>&gt;&gt;<br>&gt;&gt; Visit other Kitware open-source projects at<br>&gt;&gt; http://www.kitware.com/opensource/opensource.html<br>&gt;&gt;<br>&gt;&gt; Please keep messages on-topic and check the ParaView Wiki at:<br>&gt;&gt; http://paraview.org/Wiki/ParaView<br>&gt;&gt;<br>&gt;&gt; Follow this link to subscribe/unsubscribe:<br>&gt;&gt; http://www.paraview.org/mailman/listinfo/paraview<br>&gt;&gt;<br>&gt;<br><br></tuan-ha.tran@insa-lyon.fr></sebastien.jourdain@kitware.com></tuan-ha.tran@insa-lyon.fr></body></html>