<div dir="ltr">Hmm, that's odd. Does it make a difference if you do things in the following order:<div><br></div><div>* Add Programmable Filter</div><div>* Change the output type to vtkUnstructuredGrid</div><div>* Paste in script</div><div>* Hit Apply now, but only after the first steps have been completed</div><div><br></div><div>I recall that there is some funny behavior if you apply the filter and then change the output data type, so my guess is to make sure the output data type is set before applying.</div><div><br></div><div>Thanks,</div><div>Cory</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jan 13, 2017 at 10:36 AM, Crepier, Pierre <span dir="ltr"><<a href="mailto:P.Crepier@marin.nl" target="_blank">P.Crepier@marin.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">






<div lang="EN-GB" link="blue" vlink="purple">
<p></p>
<div class="m_7904313235907444328WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Cory,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks for your quick answer and clarifying the context.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">So if I try to reproduce the behaviour of the clip filter, I would do:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">import vtk<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">input = self.GetInputDataObject(0, 0)<u></u><u></u></span></p><span class="">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">plane = vtk.vtkPlane()<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">plane.SetOrigin(-4.0, 0.0, 0.0)<u></u><u></u></span></p>
</span><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">plane.SetNormal(1.0, 0.0, 0.0)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">xMin = vtk.vtkClipDataSet()<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">xMin.SetClipFunction(plane)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">xMin.SetInputData(input)<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">xMin.Update()<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">self.GetOutput().ShallowCopy(<wbr>xMin.GetOutput())<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I changed to the “Output Data Set Type” to vtkUnstructuredGrid.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">I tried but paraview stops responding ...<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Where am I doing something wrong ? and what am I doing wrong ?<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Pierre<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><a name="m_7904313235907444328__MailEndCompose"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></a></p>
</div><span class="">
<br>
<font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">ir.</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">
</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">Pierre</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">
</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">Crepier</font><font size="3" face="Segoe UI"></font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold"> |
</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">Project Manager Ships</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold"> |
</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d;font-weight:bold">CFD</font><br>
<font style="font-family:Verdana;font-size:9pt;color:#7d7d7d;font-weight:bold">MARIN</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d"> | T
</font><font style="font-family:Verdana;font-size:8pt;color:#7d7d7d"><a href="tel:+31%20317%20493%20475" value="+31317493475" target="_blank">+31 317 49 34 75</a></font><font color="#7d7d7d" size="2" face="Segoe UI"></font><font style="font-family:Verdana;font-size:8pt"> |
</font><span style="font-family:Verdana;font-size:8pt"><a href="mailto:P.Crepier@marin.nl" title="" style="font-family:Verdana;font-size:8pt" target="_blank"><span style="font-family:Verdana;font-size:8pt">P.Crepier@marin.nl</span></a></span><font color="#7d7d7d" size="2" face="Segoe UI"></font><font style="font-family:Verdana;font-size:8pt"> |
</font><span style="font-family:Verdana;font-size:8pt"><a href="http://www.marin.nl" title="" style="font-family:Verdana;font-size:8pt" target="_blank"><span style="font-family:Verdana;font-size:8pt">www.marin.nl</span></a></span><br>
<br>
<a href="https://www.linkedin.com/company/marin" target="_blank"><img width="16" height="16" style="border:0px Solid" src="cid:image62c2c3.PNG@964dcd37.4c999168" alt="LinkedIn"></a> <a href="http://www.youtube.com/marinmultimedia" target="_blank"><img width="16" height="16" style="border:0px Solid" src="cid:image2c48df.PNG@1d88ae4e.448dca82" alt="YouTube"></a> <a href="https://twitter.com/MARIN_nieuws" target="_blank"><img width="16" height="16" style="border:0px Solid" src="cid:image62c680.PNG@ea3a0eb3.4da85cef" alt="Twitter"></a> <a href="https://www.facebook.com/marin.wageningen" target="_blank"><img width="16" height="16" style="border:0px Solid" src="cid:image806bc6.PNG@c964fafa.47bceb4c" alt="Facebook"></a><br>
</span><font style="FONT-FAMILY:Verdana;FONT-SIZE:8pt" color="#7d7d7d" size="2" face="Verdana">MARIN news:
<font style="font-family:Verdana;font-size:8pt"><span style="font-family:Verdana;font-size:8pt"><a href="http://www.marin.nl/web/News/News-items/Few-places-left-for-Offshore-and-Ship-hydrodynamics-courses.htm" title="" style="font-family:Verdana;font-size:8pt" target="_blank"><span style="font-family:Verdana;font-size:8pt">Few
 places left for Offshore and Ship hydrodynamics courses</span></a></span></font></font>
<p></p>
<p></p>
<div class="m_7904313235907444328WordSection1">
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Cory Quammen [mailto:<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.<wbr>com</a>]
<br>
<b>Sent:</b> Wednesday, January 11, 2017 3:33 PM<br>
<b>To:</b> Crepier, Pierre<br>
<b>Cc:</b> <a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a><br>
<b>Subject:</b> Re: [Paraview] Programmable filter - input data and output data<u></u><u></u></span></p>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">Pierre,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">First thing first. The code inside the Programmable Filter script runs in a context in which it is aware of VTK only and not ParaView, so you cannot use paraview.simple module functions such as Clip. Instead, you would need to use a VTK-equivalent.
 In this case, you would use vtkClipDataSet:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">import vtk<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">plane = vtk.vtkPlane()<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">plane.SetOrigin(-4.0, 0.0, 0.0)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">plane.SetNormal(1.0, 1.0, 1.0)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">clip = vtk.vtkClipDataSet()<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">clip.SetClipFunction(plane)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">clip.SetInputData(input)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">clip.Update()<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Next, to use the output of the clip filter as the output of the Programmable Filter, do the following.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">self.GetOutput().ShallowCopy(<wbr>clip.GetOutput())<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Make sure you change the Output Data Set Type to vtkUnstructuredGrid if you go this way.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Hope that helps,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">Cory<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Jan 11, 2017 at 8:49 AM, Crepier, Pierre <<a href="mailto:P.Crepier@marin.nl" target="_blank">P.Crepier@marin.nl</a>> wrote:<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">Hi everyone,<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">I am trying to use the programmable filter to combine multiple filters. Sort of like the custom filter but I want to have control over some of the properties using user input.<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">If I understood correctly, I can get the input data with:<u></u><u></u></p>
<p class="MsoNormal">input = self.GetInputDataObject(0, 0)<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">then I can use this input in a filter:<u></u><u></u></p>
<p class="MsoNormal">xMin = Clip(Input=input)<u></u><u></u></p>
<p class="MsoNormal">xMin.ClipType = 'Plane'<u></u><u></u></p>
<p class="MsoNormal">xMin.Crinkleclip = 1<u></u><u></u></p>
<p class="MsoNormal">xMin.ClipType.Origin = [-4.0, 0.0, 0.0]<u></u><u></u></p>
<p class="MsoNormal">xMin.ClipType.Normal = [1.0, 0.0, 0.0]<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Now, how can I use the output of this filter as output of my programmable filter ?<u></u><u></u></p>
<p class="MsoNormal"> <u></u><u></u></p>
<p class="MsoNormal">Thanks in advance,<u></u><u></u></p>
<p class="MsoNormal">Pierre<u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
<b><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#7d7d7d">ir. Pierre Crepier | Project Manager Ships | CFD</span></b><br>
<b><span style="font-size:9.0pt;font-family:"Verdana","sans-serif";color:#7d7d7d">MARIN</span></b><span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#7d7d7d"> | T
<a href="tel:+31%20317%20493%20475" target="_blank">+31 317 49 34 75</a></span><span style="font-size:8.0pt;font-family:"Verdana","sans-serif""> |
<a href="mailto:P.Crepier@marin.nl" title="" target="_blank">P.Crepier@marin.nl</a> |
<a href="http://www.marin.nl" title="" target="_blank">www.marin.nl</a></span><br>
<br>
<a href="https://www.linkedin.com/company/marin" target="_blank"><span style="text-decoration:none"><img border="0" width="16" height="16" id="m_7904313235907444328_x0000_i1025" src="cid:image001.png@01D26DBA.6C7690E0" alt="LinkedIn"></span></a> <a href="http://www.youtube.com/marinmultimedia" target="_blank"><span style="text-decoration:none"><img border="0" width="16" height="16" id="m_7904313235907444328_x0000_i1026" src="cid:image002.png@01D26DBA.6C7690E0" alt="YouTube"></span></a> <a href="https://twitter.com/MARIN_nieuws" target="_blank"><span style="text-decoration:none"><img border="0" width="16" height="16" id="m_7904313235907444328_x0000_i1027" src="cid:image003.png@01D26DBA.6C7690E0" alt="Twitter"></span></a> <a href="https://www.facebook.com/marin.wageningen" target="_blank"><span style="text-decoration:none"><img border="0" width="16" height="16" id="m_7904313235907444328_x0000_i1028" src="cid:image004.png@01D26DBA.6C7690E0" alt="Facebook"></span></a><br>
<span style="font-size:8.0pt;font-family:"Verdana","sans-serif";color:#7d7d7d">MARIN news:
<a href="http://www.marin.nl/web/News/News-items/Modelling-natural-transition-on-hydrofoils-for-application-in-underwater-gliders-1.htm" title="" target="_blank">
Modelling natural transition on hydrofoils for application in underwater gliders</a></span>
<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">
http://www.kitware.com/<wbr>opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">
http://paraview.org/Wiki/<wbr>ParaView</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" target="_blank">
http://markmail.org/search/?q=<wbr>ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/paraview</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal">-- <u></u><u></u></p>
<div>
<p class="MsoNormal">Cory Quammen<br>
Staff R&D Engineer<br>
Kitware, Inc.<u></u><u></u></p>
</div>
</div>
</div></div></div>
<u></u>
<p></p>
<u></u><u></u><u></u>
</div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Cory Quammen<br>Staff R&D Engineer<br>Kitware, Inc.</div>
</div>