From Kevin.Hallock at pfizer.com Mon May 2 13:04:08 2016 From: Kevin.Hallock at pfizer.com (Hallock, Kevin) Date: Mon, 2 May 2016 17:04:08 +0000 Subject: [Paraview-developers] Changing Display properties using python Message-ID: Hi everyone, I am writing a simple script to create 3D text at a specified location, but I am having trouble figuring out how to apply a translation to it. Here is my brief code: from paraview import vtk string = "Python" text = paraview.simple.a3DText(Text=string) paraview.simple.SetDisplayProperties(Opacity=1) paraview.simple.Show() Opacity works, but when I use from paraview import vtk string = "Python" text = paraview.simple.a3DText(Text=string) paraview.simple.SetDisplayProperties(Opacity=1, Translation=[1,1,1]) paraview.simple.Show() I receive the following error: Traceback (most recent call last): File "", line 4, in File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line 429, in SetDisplayProperties SetProperties(rep, **params) File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line 480, in SetProperties raise AttributeError("object has no property %s" % param) AttributeError: object has no property Translation There is some property that allows it to be translated, but I do not know the correct name. Is there a good resource for finding the names of the individual properties so they can be changed in a script? Thanks, Kevin -- Kevin Hallock Visualization and Modeling, Quantitative Medicine Neuroscience and Pain Research Unit Worldwide Research and Development Pfizer Inc 610 Main Street Cambridge, MA 02139 Email: kevin.hallock at pfizer.com Fax: 845-474-4001 -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Mon May 2 13:48:34 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Mon, 2 May 2016 13:48:34 -0400 Subject: [Paraview-developers] Changing Display properties using python In-Reply-To: References: Message-ID: The property is called "Position". This highlights a bug in the code where the label is not being used as the name for the property in Python. I've reported a bug: http://www.paraview.org/Bug/view.php?id=16108 Utkarsh On Mon, May 2, 2016 at 1:04 PM, Hallock, Kevin wrote: > Hi everyone, > > I am writing a simple script to create 3D text at a specified location, but > I am having trouble figuring out how to apply a translation to it. Here is > my brief code: > > from paraview import vtk > string = "Python" > text = paraview.simple.a3DText(Text=string) > paraview.simple.SetDisplayProperties(Opacity=1) > paraview.simple.Show() > > Opacity works, but when I use > > from paraview import vtk > string = "Python" > text = paraview.simple.a3DText(Text=string) > paraview.simple.SetDisplayProperties(Opacity=1, Translation=[1,1,1]) > paraview.simple.Show() > > > I receive the following error: > > Traceback (most recent call last): > > File "", line 4, in > > File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line > 429, in SetDisplayProperties > > SetProperties(rep, **params) > > File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line > 480, in SetProperties > > raise AttributeError("object has no property %s" % param) > > AttributeError: object has no property Translation > > > There is some property that allows it to be translated, but I do not know > the correct name. Is there a good resource for finding the names of the > individual properties so they can be changed in a script? > > Thanks, > > Kevin > > -- > Kevin Hallock > Visualization and Modeling, Quantitative Medicine > Neuroscience and Pain Research Unit > Worldwide Research and Development > Pfizer Inc > 610 Main Street > Cambridge, MA 02139 > Email: kevin.hallock at pfizer.com > Fax: 845-474-4001 > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > From utkarsh.ayachit at kitware.com Mon May 2 16:20:25 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Mon, 2 May 2016 16:20:25 -0400 Subject: [Paraview-developers] [EXTERNAL] Removing Cube Axes support from ParaView In-Reply-To: <940e3b7bfff84820ba609eb75aaeea61@ES01AMSNLNT.srn.sandia.gov> References: <940e3b7bfff84820ba609eb75aaeea61@ES01AMSNLNT.srn.sandia.gov> Message-ID: Since no one objected, this in now in progress. Here's the MR: https://gitlab.kitware.com/paraview/paraview/merge_requests/755 Once the dashboards are clear, this will be merged and included in upcoming 5.1. Utkarsh On Mon, Apr 18, 2016 at 2:48 PM, Scott, W Alan wrote: > Note that you can get the same look as the "Axes Grid" (i.e., draw axes in front) by going "Edit Axes Grid", Advanced, then switch Cull front face/ back face. > > Alan > > -----Original Message----- > From: Paraview-developers [mailto:paraview-developers-bounces at paraview.org] On Behalf Of Utkarsh Ayachit > Sent: Monday, April 18, 2016 12:41 PM > To: ParaView Developers > Subject: [EXTERNAL] [Paraview-developers] Removing Cube Axes support from ParaView > > Folks, > > The "Axes Grid" [1] has been around for over a year now and being used with reasonable success as a replacement for the cube axes. Are there any objections to removing support for the cube axes entirely from future releases of ParaView? > > If I don't hear any dissenting voices, we'll go ahead and remove the cube axes in 5.1. If people are still using it, we can let it hang out for a release or two longer. > > Thanks, > Utkarsh > > [1] https://blog.kitware.com/new-in-paraview-axes-grid-annotation/ > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html > > Search the list archives at: http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers From Kevin.Hallock at pfizer.com Mon May 2 16:33:10 2016 From: Kevin.Hallock at pfizer.com (Hallock, Kevin) Date: Mon, 2 May 2016 20:33:10 +0000 Subject: [Paraview-developers] Changing Display properties using python In-Reply-To: References: Message-ID: Thanks! Kevin On 5/2/16, 1:48 PM, "Utkarsh Ayachit" wrote: >The property is called "Position". This highlights a bug in the code >where the label is not being used as the name for the property in >Python. I've reported a bug: >http://www.paraview.org/Bug/view.php?id=16108 > >Utkarsh > >On Mon, May 2, 2016 at 1:04 PM, Hallock, Kevin >wrote: >> Hi everyone, >> >> I am writing a simple script to create 3D text at a specified location, >>but >> I am having trouble figuring out how to apply a translation to it. >>Here is >> my brief code: >> >> from paraview import vtk >> string = "Python" >> text = paraview.simple.a3DText(Text=string) >> paraview.simple.SetDisplayProperties(Opacity=1) >> paraview.simple.Show() >> >> Opacity works, but when I use >> >> from paraview import vtk >> string = "Python" >> text = paraview.simple.a3DText(Text=string) >> paraview.simple.SetDisplayProperties(Opacity=1, Translation=[1,1,1]) >> paraview.simple.Show() >> >> >> I receive the following error: >> >> Traceback (most recent call last): >> >> File "", line 4, in >> >> File "/Applications/paraview.app/Contents/Python/paraview/simple.py", >>line >> 429, in SetDisplayProperties >> >> SetProperties(rep, **params) >> >> File "/Applications/paraview.app/Contents/Python/paraview/simple.py", >>line >> 480, in SetProperties >> >> raise AttributeError("object has no property %s" % param) >> >> AttributeError: object has no property Translation >> >> >> There is some property that allows it to be translated, but I do not >>know >> the correct name. Is there a good resource for finding the names of the >> individual properties so they can be changed in a script? >> >> Thanks, >> >> Kevin >> >> -- >> Kevin Hallock >> Visualization and Modeling, Quantitative Medicine >> Neuroscience and Pain Research Unit >> Worldwide Research and Development >> Pfizer Inc >> 610 Main Street >> Cambridge, MA 02139 >> Email: kevin.hallock at pfizer.com >> Fax: 845-474-4001 >> >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers >> From Kevin.Hallock at pfizer.com Wed May 4 09:35:26 2016 From: Kevin.Hallock at pfizer.com (Hallock, Kevin) Date: Wed, 4 May 2016 13:35:26 +0000 Subject: [Paraview-developers] Script commands that hide/show pipeline objects Message-ID: Hi, I would like to write a script that hides all visible pipeline objects and then shows individual objects based on their names in the pipeline browser. Specifically, I have imported multiple PLY files (e.g. 3rd-Ventricle.ply) and added source filter objects (e.g. cylinders). When I use Hide(), it will hide the active object, but if I try Hide(?3rd-Ventricle.ply?) I receive the following error: Traceback (most recent call last): File "", line 6, in File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line 418, in Hide controller.Hide(proxy, proxy.Port, view) AttributeError: 'str' object has no attribute 'Port' Thanks, Kevin -- Kevin Hallock Visualization and Modeling, Quantitative Medicine Neuroscience and Pain Research Unit Worldwide Research and Development Pfizer Inc 610 Main Street Cambridge, MA 02139 Email: kevin.hallock at pfizer.com Fax: 845-474-4001 -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Wed May 4 09:41:27 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Wed, 4 May 2016 15:41:27 +0200 Subject: [Paraview-developers] Script commands that hide/show pipeline objects In-Reply-To: References: Message-ID: Hello Hide(FindSource(?3rd-Ventricle.ply")) should do the trick. Mathieu Westphal On Wed, May 4, 2016 at 3:35 PM, Hallock, Kevin wrote: > Hi, > > I would like to write a script that hides all visible pipeline objects and > then shows individual objects based on their names in the pipeline browser. > > > Specifically, I have imported multiple PLY files (e.g. 3rd-Ventricle.ply) > and added source filter objects (e.g. cylinders). When I use Hide(), it > will hide the active object, but if I try Hide(?3rd-Ventricle.ply?) I > receive the following error: > > Traceback (most recent call last): > > File "", line 6, in > > File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line > 418, in Hide > > controller.Hide(proxy, proxy.Port, view) > > AttributeError: 'str' object has no attribute 'Port' > > Thanks, > > Kevin > > -- > Kevin Hallock > Visualization and Modeling, Quantitative Medicine > Neuroscience and Pain Research Unit > Worldwide Research and Development > Pfizer Inc > 610 Main Street > Cambridge, MA 02139 > Email: kevin.hallock at pfizer.com > Fax: 845-474-4001 > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Kevin.Hallock at pfizer.com Wed May 4 10:33:56 2016 From: Kevin.Hallock at pfizer.com (Hallock, Kevin) Date: Wed, 4 May 2016 14:33:56 +0000 Subject: [Paraview-developers] Script commands that hide/show pipeline objects In-Reply-To: References: Message-ID: Thanks! Is there a way to hide all visible pipeline objects? Kevin From: Mathieu Westphal > Date: Wednesday, May 4, 2016 at 9:41 AM To: Kevin Hallock > Cc: "paraview-developers at paraview.org" > Subject: Re: [Paraview-developers] Script commands that hide/show pipeline objects Hello Hide(FindSource(?3rd-Ventricle.ply")) should do the trick. Mathieu Westphal On Wed, May 4, 2016 at 3:35 PM, Hallock, Kevin > wrote: Hi, I would like to write a script that hides all visible pipeline objects and then shows individual objects based on their names in the pipeline browser. Specifically, I have imported multiple PLY files (e.g. 3rd-Ventricle.ply) and added source filter objects (e.g. cylinders). When I use Hide(), it will hide the active object, but if I try Hide(?3rd-Ventricle.ply?) I receive the following error: Traceback (most recent call last): File "", line 6, in File "/Applications/paraview.app/Contents/Python/paraview/simple.py", line 418, in Hide controller.Hide(proxy, proxy.Port, view) AttributeError: 'str' object has no attribute 'Port' Thanks, Kevin -- Kevin Hallock Visualization and Modeling, Quantitative Medicine Neuroscience and Pain Research Unit Worldwide Research and Development Pfizer Inc 610 Main Street Cambridge, MA 02139 Email: kevin.hallock at pfizer.com Fax: 845-474-4001 _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=Paraview-developers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview-developers -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Wed May 4 10:54:22 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Wed, 4 May 2016 16:54:22 +0200 Subject: [Paraview-developers] Script commands that hide/show pipeline objects In-Reply-To: References: Message-ID: no direct method, but still quite easy. ss = GetSources() for s in ss: Hide(ss[s]) Regards, Mathieu Westphal On Wed, May 4, 2016 at 4:33 PM, Hallock, Kevin wrote: > Thanks! Is there a way to hide all visible pipeline objects? > > Kevin > > From: Mathieu Westphal > Date: Wednesday, May 4, 2016 at 9:41 AM > To: Kevin Hallock > Cc: "paraview-developers at paraview.org" > Subject: Re: [Paraview-developers] Script commands that hide/show > pipeline objects > > Hello > > Hide(FindSource(?3rd-Ventricle.ply")) > > should do the trick. > > Mathieu Westphal > > On Wed, May 4, 2016 at 3:35 PM, Hallock, Kevin > wrote: > >> Hi, >> >> I would like to write a script that hides all visible pipeline objects >> and then shows individual objects based on their names in the pipeline >> browser. >> >> Specifically, I have imported multiple PLY files (e.g. 3rd-Ventricle.ply) >> and added source filter objects (e.g. cylinders). When I use Hide(), it >> will hide the active object, but if I try Hide(?3rd-Ventricle.ply?) I >> receive the following error: >> >> Traceback (most recent call last): >> >> File "", line 6, in >> >> File "/Applications/paraview.app/Contents/Python/paraview/simple.py", >> line 418, in Hide >> >> controller.Hide(proxy, proxy.Port, view) >> >> AttributeError: 'str' object has no attribute 'Port' >> >> Thanks, >> >> Kevin >> >> -- >> Kevin Hallock >> Visualization and Modeling, Quantitative Medicine >> Neuroscience and Pain Research Unit >> Worldwide Research and Development >> Pfizer Inc >> 610 Main Street >> Cambridge, MA 02139 >> Email: kevin.hallock at pfizer.com >> Fax: 845-474-4001 >> >> _______________________________________________ >> Powered by www.kitware.com >> >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From Kevin.Hallock at pfizer.com Wed May 4 11:21:58 2016 From: Kevin.Hallock at pfizer.com (Hallock, Kevin) Date: Wed, 4 May 2016 15:21:58 +0000 Subject: [Paraview-developers] Script commands that hide/show pipeline objects In-Reply-To: References: Message-ID: Thanks! Kevin From: Mathieu Westphal > Date: Wednesday, May 4, 2016 at 10:54 AM To: Kevin Hallock > Cc: "paraview-developers at paraview.org" > Subject: Re: [Paraview-developers] Script commands that hide/show pipeline objects ss = GetSources() for s in ss: Hide(ss[s]) -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Wed May 4 11:31:18 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Wed, 4 May 2016 17:31:18 +0200 Subject: [Paraview-developers] QtTesting Check Feature in paraview Message-ID: Hi Just to let you know that a "Check" feature is now available in paraview when generating xml tests. It basically allow value test in widgets and even screenshots test in the middle of the xml test. more info here : https://blog.kitware.com/new-check-feature-in-qttesting-available-in-paraview/ Mathieu Westphal -------------- next part -------------- An HTML attachment was scrubbed... URL: From sujin.philip at kitware.com Fri May 6 11:38:44 2016 From: sujin.philip at kitware.com (Sujin Philip) Date: Fri, 6 May 2016 11:38:44 -0400 Subject: [Paraview-developers] Panel widget for cylinder 3d widget (slice and clip) Message-ID: Hello, I am working on making some modifications to the Cylinder 3d widget used in ParaView (for clip and slice). As part of these changes, I am planning to remove the check-boxes for Tubing, Outline Translation, Outside Bounds and Scaling. It seems like these are low-level controls for the widget and aren't really needed in ParaView. I wanted to know if anybody actually needs these UI elements and would like these to remain in the panel. Thanks Sujin -------------- next part -------------- An HTML attachment was scrubbed... URL: From joachim.pouderoux at kitware.com Fri May 6 11:43:40 2016 From: joachim.pouderoux at kitware.com (Joachim Pouderoux) Date: Fri, 6 May 2016 17:43:40 +0200 Subject: [Paraview-developers] Panel widget for cylinder 3d widget (slice and clip) In-Reply-To: References: Message-ID: Hi, Translation and Scaling are useful, especially for the customer who requested this widget in PV. I propose to put other options as advanced properties. Best, Joachim Le 6 mai 2016 17:38, "Sujin Philip" a ?crit : > Hello, > > I am working on making some modifications to the Cylinder 3d widget used > in ParaView (for clip and slice). As part of these changes, I am planning > to remove the check-boxes for Tubing, Outline Translation, Outside Bounds > and Scaling. It seems like these are low-level controls for the widget and > aren't really needed in ParaView. > > I wanted to know if anybody actually needs these UI elements and would > like these to remain in the panel. > > Thanks > Sujin > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From sujin.philip at kitware.com Fri May 6 11:51:03 2016 From: sujin.philip at kitware.com (Sujin Philip) Date: Fri, 6 May 2016 11:51:03 -0400 Subject: [Paraview-developers] Panel widget for cylinder 3d widget (slice and clip) In-Reply-To: References: Message-ID: Hi Joachim, Thanks for the information. I will make those options advanced. Thanks Sujin On Fri, May 6, 2016 at 11:43 AM, Joachim Pouderoux < joachim.pouderoux at kitware.com> wrote: > Hi, > Translation and Scaling are useful, especially for the customer who > requested this widget in PV. I propose to put other options as advanced > properties. > > Best, > Joachim > Le 6 mai 2016 17:38, "Sujin Philip" a ?crit : > >> Hello, >> >> I am working on making some modifications to the Cylinder 3d widget used >> in ParaView (for clip and slice). As part of these changes, I am planning >> to remove the check-boxes for Tubing, Outline Translation, Outside Bounds >> and Scaling. It seems like these are low-level controls for the widget and >> aren't really needed in ParaView. >> >> I wanted to know if anybody actually needs these UI elements and would >> like these to remain in the panel. >> >> Thanks >> Sujin >> >> >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From sanaz.ghodousi at gmail.com Sat May 7 10:31:21 2016 From: sanaz.ghodousi at gmail.com (Sanaz Ghodousi) Date: Sat, 7 May 2016 10:31:21 -0400 Subject: [Paraview-developers] Python3 and ParaViewWeb Message-ID: Hi, I'd like to know what is the proper approach for migrating from python2 sources of ParaView to python3. I want to load ParaViewWeb modules inside Jupyter notebooks. Thanks, Sanaz -------------- next part -------------- An HTML attachment was scrubbed... URL: From sebastien.jourdain at kitware.com Sun May 8 13:43:50 2016 From: sebastien.jourdain at kitware.com (Sebastien Jourdain) Date: Sun, 8 May 2016 11:43:50 -0600 Subject: [Paraview-developers] Python3 and ParaViewWeb In-Reply-To: References: Message-ID: Hi Sanaz, I'm not sure to know the migration path between Python 2 and 3. I know that Autobahn does support Python 3, so I would think it is possible but I don't know how to do it. Seb On Sat, May 7, 2016 at 8:31 AM, Sanaz Ghodousi wrote: > Hi, > > I'd like to know what is the proper approach for migrating from python2 > sources of ParaView to python3. I want to load ParaViewWeb modules inside > Jupyter notebooks. > > Thanks, > Sanaz > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From b.peeters at aia.rwth-aachen.de Tue May 10 05:20:35 2016 From: b.peeters at aia.rwth-aachen.de (=?UTF-8?Q?Bj=c3=b6rn_Peeters?=) Date: Tue, 10 May 2016 11:20:35 +0200 Subject: [Paraview-developers] Changing the value of IntVectorProperty Message-ID: <5731A7E3.7040602@aia.rwth-aachen.de> Hi all, is there a way to set the value of an IntVectorProperty textbox from inside the RequestInformation function ? Currently I'm setting a fixed value with "default_values" and haven't found any example for changing it afterwards. Best regards, Bj?rn -- Bj?rn Peeters Chair of Fluid Mechanics and Institute of Aerodynamics RWTH Aachen University W?llnerstra?e 5a, 52062 Aachen, Germany From cory.quammen at kitware.com Tue May 10 09:29:37 2016 From: cory.quammen at kitware.com (Cory Quammen) Date: Tue, 10 May 2016 09:29:37 -0400 Subject: [Paraview-developers] Changing the value of IntVectorProperty In-Reply-To: <5731A7E3.7040602@aia.rwth-aachen.de> References: <5731A7E3.7040602@aia.rwth-aachen.de> Message-ID: Bj?rn, I assume you mean within a Programmable Filter or Programmable Source? The answer is no. IntVectorProperties exist on the ParaView "side". The scripts in programmable filters are run only on the VTK side, which does not have any information about the ParaView "side". What is your use case? Are you trying to display some information after the filter runs? Thanks, Cory On Tue, May 10, 2016 at 5:20 AM, Bj?rn Peeters wrote: > Hi all, > > is there a way to set the value of an IntVectorProperty textbox from inside > the RequestInformation > function ? Currently I'm setting a fixed value with "default_values" and > haven't found any example > for changing it afterwards. > > Best regards, > Bj?rn > > > -- > Bj?rn Peeters > > Chair of Fluid Mechanics and Institute of Aerodynamics > RWTH Aachen University > W?llnerstra?e 5a, 52062 Aachen, Germany > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers -- Cory Quammen R&D Engineer Kitware, Inc. From utkarsh.ayachit at kitware.com Tue May 10 09:49:02 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Tue, 10 May 2016 09:49:02 -0400 Subject: [Paraview-developers] Changing the value of IntVectorProperty In-Reply-To: <5731A7E3.7040602@aia.rwth-aachen.de> References: <5731A7E3.7040602@aia.rwth-aachen.de> Message-ID: Bj?rn, You can do something like the following: Here, the "LatLongTessllation" will be set to the value ontained using "LatLongTessellationInfo". This works because when setting the default values for a property, if the domain for the property doesn't provide any default and there's a information_property set on that property, then the information_property's value is copied to the original property's value as the default. Utkarsh On Tue, May 10, 2016 at 5:20 AM, Bj?rn Peeters wrote: > Hi all, > > is there a way to set the value of an IntVectorProperty textbox from inside > the RequestInformation > function ? Currently I'm setting a fixed value with "default_values" and > haven't found any example > for changing it afterwards. > > Best regards, > Bj?rn > > > -- > Bj?rn Peeters > > Chair of Fluid Mechanics and Institute of Aerodynamics > RWTH Aachen University > W?llnerstra?e 5a, 52062 Aachen, Germany > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers From b.peeters at aia.rwth-aachen.de Tue May 10 13:14:18 2016 From: b.peeters at aia.rwth-aachen.de (=?UTF-8?Q?Bj=c3=b6rn_Peeters?=) Date: Tue, 10 May 2016 19:14:18 +0200 Subject: [Paraview-developers] Changing the value of IntVectorProperty In-Reply-To: References: <5731A7E3.7040602@aia.rwth-aachen.de> Message-ID: <573216EA.7030404@aia.rwth-aachen.de> Hi Utkarsh, thanks for your help. This works really well. It is used in a filter and suggests a value based on a property from an input file. This value can be either accepted or changed by the user before actually applying the filter. Regards, Bj?rn -- Bj?rn Peeters Chair of Fluid Mechanics and Institute of Aerodynamics RWTH Aachen University W?llnerstra?e 5a, 52062 Aachen, Germany On 10 May 2016, at 15:49 , Utkarsh Ayachit wrote: > Bj?rn, > > You can do something like the following: > > number_of_elements="1" > default_values="none" > information_property="LatLongTessellationInfo"> > > > > command="GetLatLongTessellation" > information_only="1"> > > > Here, the "LatLongTessllation" will be set to the value ontained using > "LatLongTessellationInfo". This works because when setting the default > values for a property, if the domain for the property doesn't provide > any default and there's a information_property set on that property, > then the information_property's value is copied to the original > property's value as the default. > > Utkarsh > > > > On Tue, May 10, 2016 at 5:20 AM, Bj?rn Peeters > wrote: >> Hi all, >> >> is there a way to set the value of an IntVectorProperty textbox from inside >> the RequestInformation >> function ? Currently I'm setting a fixed value with "default_values" and >> haven't found any example >> for changing it afterwards. >> >> Best regards, >> Bj?rn >> >> >> -- >> Bj?rn Peeters >> >> Chair of Fluid Mechanics and Institute of Aerodynamics >> RWTH Aachen University >> W?llnerstra?e 5a, 52062 Aachen, Germany >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers From wascott at sandia.gov Tue May 10 16:39:21 2016 From: wascott at sandia.gov (Scott, W Alan) Date: Tue, 10 May 2016 20:39:21 +0000 Subject: [Paraview-developers] Schedule estimating Message-ID: <2fd687a9c22b4f89b8bdea746b4e78dc@ES01AMSNLNT.srn.sandia.gov> Found this great article on schedule estimating. So true. http://techcrunch.com/2016/04/30/estimate-thrice-develop-once/ Alan -------------------------------------------------------- W. Alan Scott ParaView Support Manager SAIC Sandia National Laboratories, MS 0822 Org 9326 - Building 880 A1-K (505) 284-0932 FAX (505) 284-5619 --------------------------------------------------------- -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellonpaiva at gmail.com Fri May 13 08:39:36 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Fri, 13 May 2016 14:39:36 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in Message-ID: <5735CB08.2070701@gmail.com> Hello all, I have a plug-in for paraview that wraps filters from an specific library, and these filters that may throw exceptions when if not configured properly (example, if the input data doesn't have some fields). I've been looking for a way to catch these exceptions inside the plug-in and inform paraview about the error/problem, like for example showing the error information in the paraview error window, but I couldn't find an explanation of how to do that. Could anyone explain me how to do that or show an example of code for that? Regards, Ellon From mathieu.westphal at kitware.com Fri May 13 08:47:50 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Fri, 13 May 2016 14:47:50 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: <5735CB08.2070701@gmail.com> References: <5735CB08.2070701@gmail.com> Message-ID: Hello I supose it's kind of obvious, but why would catch not work ? you should be able to catch your library exception in your filter. Regards, Mathieu Westphal On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva wrote: > Hello all, > > I have a plug-in for paraview that wraps filters from an specific library, > and these filters that may throw exceptions when if not configured properly > (example, if the input data doesn't have some fields). I've been looking > for a way to catch these exceptions inside the plug-in and inform paraview > about the error/problem, like for example showing the error information in > the paraview error window, but I couldn't find an explanation of how to do > that. Could anyone explain me how to do that or show an example of code for > that? > > Regards, > Ellon > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellonpaiva at gmail.com Fri May 13 08:54:19 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Fri, 13 May 2016 14:54:19 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: References: <5735CB08.2070701@gmail.com> Message-ID: <5735CE7B.3070801@gmail.com> Hello Mathieu, Thanks for your answer. I think I was not clear in my question. Surely I can catch the exception in the plugin, but I'm looking for a way to inform paraview that an error occurred while executing the filter. Of course this information should be passed to ParaView when handling the exception, and probably it should halt the processing of the pipeline as well. I'm looking now into the files of some plugins inside paraview source. I found that some plugins use the macro "vtkErrorMacro". Would this work for me? Regards, Ellon On 05/13/2016 02:47 PM, Mathieu Westphal wrote: > Hello > > I supose it's kind of obvious, but why would catch not work ? you > should be able to catch your library exception in your filter. > > Regards, > > Mathieu Westphal > > On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva > wrote: > > Hello all, > > I have a plug-in for paraview that wraps filters from an specific > library, and these filters that may throw exceptions when if not > configured properly (example, if the input data doesn't have some > fields). I've been looking for a way to catch these exceptions > inside the plug-in and inform paraview about the error/problem, > like for example showing the error information in the paraview > error window, but I couldn't find an explanation of how to do > that. Could anyone explain me how to do that or show an example of > code for that? > > Regards, > Ellon > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Fri May 13 09:05:43 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Fri, 13 May 2016 15:05:43 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: <5735CE7B.3070801@gmail.com> References: <5735CB08.2070701@gmail.com> <5735CE7B.3070801@gmail.com> Message-ID: Hello vtkErrorMacro is the way to go to inform the user of the error, but it will not exit the method, only inform. After that you need to return 0 if you want the pipeline execution to stop. Regards, Mathieu Westphal On Fri, May 13, 2016 at 2:54 PM, Ellon Paiva wrote: > Hello Mathieu, > > Thanks for your answer. > > I think I was not clear in my question. Surely I can catch the exception > in the plugin, but I'm looking for a way to inform paraview that an error > occurred while executing the filter. Of course this information should be > passed to ParaView when handling the exception, and probably it should halt > the processing of the pipeline as well. > > I'm looking now into the files of some plugins inside paraview source. I > found that some plugins use the macro "vtkErrorMacro". Would this work for > me? > > Regards, > > Ellon > > > On 05/13/2016 02:47 PM, Mathieu Westphal wrote: > > Hello > > I supose it's kind of obvious, but why would catch not work ? you should > be able to catch your library exception in your filter. > > Regards, > > Mathieu Westphal > > On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva wrote: > >> Hello all, >> >> I have a plug-in for paraview that wraps filters from an specific >> library, and these filters that may throw exceptions when if not configured >> properly (example, if the input data doesn't have some fields). I've been >> looking for a way to catch these exceptions inside the plug-in and inform >> paraview about the error/problem, like for example showing the error >> information in the paraview error window, but I couldn't find an >> explanation of how to do that. Could anyone explain me how to do that or >> show an example of code for that? >> >> Regards, >> Ellon >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers >> > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellonpaiva at gmail.com Fri May 13 09:41:27 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Fri, 13 May 2016 15:41:27 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: References: <5735CB08.2070701@gmail.com> <5735CE7B.3070801@gmail.com> Message-ID: <5735D987.2050107@gmail.com> Mathieu, I tried the vtkErrorMacro and I got the messages being printed in the standard error in the terminal, which is not exactly what I want. What I am looking for is something like it's shown in the attached image: here I forced an error in a python programable filter through a syntax error in the script. As you can see the user get an information about the error in the "Output Messages" window that pops up when "Apply" is pressed, as well as in the terminal. How could I print the error message in this Output Window on ParaView? Regards, Ellon On 05/13/2016 03:05 PM, Mathieu Westphal wrote: > Hello > > vtkErrorMacro is the way to go to inform the user of the error, but it > will not exit the method, only inform. > After that you need to return 0 if you want the pipeline execution to > stop. > > Regards, > > > > > Mathieu Westphal > > On Fri, May 13, 2016 at 2:54 PM, Ellon Paiva > wrote: > > Hello Mathieu, > > Thanks for your answer. > > I think I was not clear in my question. Surely I can catch the > exception in the plugin, but I'm looking for a way to inform > paraview that an error occurred while executing the filter. Of > course this information should be passed to ParaView when handling > the exception, and probably it should halt the processing of the > pipeline as well. > > I'm looking now into the files of some plugins inside paraview > source. I found that some plugins use the macro "vtkErrorMacro". > Would this work for me? > > Regards, > > Ellon > > > On 05/13/2016 02:47 PM, Mathieu Westphal wrote: >> Hello >> >> I supose it's kind of obvious, but why would catch not work ? you >> should be able to catch your library exception in your filter. >> >> Regards, >> >> Mathieu Westphal >> >> On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva >> > wrote: >> >> Hello all, >> >> I have a plug-in for paraview that wraps filters from an >> specific library, and these filters that may throw exceptions >> when if not configured properly (example, if the input data >> doesn't have some fields). I've been looking for a way to >> catch these exceptions inside the plug-in and inform paraview >> about the error/problem, like for example showing the error >> information in the paraview error window, but I couldn't find >> an explanation of how to do that. Could anyone explain me how >> to do that or show an example of code for that? >> >> Regards, >> Ellon >> _______________________________________________ >> Powered by www.kitware.com >> >> Visit other Kitware open-source projects at >> http://www.kitware.com/opensource/opensource.html >> >> Search the list archives at: >> http://markmail.org/search/?q=Paraview-developers >> >> Follow this link to subscribe/unsubscribe: >> http://public.kitware.com/mailman/listinfo/paraview-developers >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Output_Message_Window_ParaView.png Type: image/png Size: 100096 bytes Desc: not available URL: From ellonpaiva at gmail.com Fri May 13 09:53:51 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Fri, 13 May 2016 15:53:51 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: <5735D987.2050107@gmail.com> References: <5735CB08.2070701@gmail.com> <5735CE7B.3070801@gmail.com> <5735D987.2050107@gmail.com> Message-ID: <5735DC6F.8010800@gmail.com> Hello again Mathieu, Nenermind my last email: vtkErrorMacro works as expected. :) Thank you for your help! Best regards, Ellon On 05/13/2016 03:41 PM, Ellon Paiva wrote: > Mathieu, > > I tried the vtkErrorMacro and I got the messages being printed in the > standard error in the terminal, which is not exactly what I want. > > What I am looking for is something like it's shown in the attached > image: here I forced an error in a python programable filter through a > syntax error in the script. As you can see the user get an information > about the error in the "Output Messages" window that pops up when > "Apply" is pressed, as well as in the terminal. How could I print the > error message in this Output Window on ParaView? > > Regards, > > Ellon > > > On 05/13/2016 03:05 PM, Mathieu Westphal wrote: >> Hello >> >> vtkErrorMacro is the way to go to inform the user of the error, but >> it will not exit the method, only inform. >> After that you need to return 0 if you want the pipeline execution to >> stop. >> >> Regards, >> >> >> >> >> Mathieu Westphal >> >> On Fri, May 13, 2016 at 2:54 PM, Ellon Paiva > > wrote: >> >> Hello Mathieu, >> >> Thanks for your answer. >> >> I think I was not clear in my question. Surely I can catch the >> exception in the plugin, but I'm looking for a way to inform >> paraview that an error occurred while executing the filter. Of >> course this information should be passed to ParaView when >> handling the exception, and probably it should halt the >> processing of the pipeline as well. >> >> I'm looking now into the files of some plugins inside paraview >> source. I found that some plugins use the macro "vtkErrorMacro". >> Would this work for me? >> >> Regards, >> >> Ellon >> >> >> On 05/13/2016 02:47 PM, Mathieu Westphal wrote: >>> Hello >>> >>> I supose it's kind of obvious, but why would catch not work ? >>> you should be able to catch your library exception in your filter. >>> >>> Regards, >>> >>> Mathieu Westphal >>> >>> On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva >>> wrote: >>> >>> Hello all, >>> >>> I have a plug-in for paraview that wraps filters from an >>> specific library, and these filters that may throw >>> exceptions when if not configured properly (example, if the >>> input data doesn't have some fields). I've been looking for >>> a way to catch these exceptions inside the plug-in and >>> inform paraview about the error/problem, like for example >>> showing the error information in the paraview error window, >>> but I couldn't find an explanation of how to do that. Could >>> anyone explain me how to do that or show an example of code >>> for that? >>> >>> Regards, >>> Ellon >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> http://www.kitware.com/opensource/opensource.html >>> >>> Search the list archives at: >>> http://markmail.org/search/?q=Paraview-developers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/paraview-developers >>> >>> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Fri May 13 09:56:55 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Fri, 13 May 2016 15:56:55 +0200 Subject: [Paraview-developers] Handling exceptions from within a Plug-in In-Reply-To: <5735D987.2050107@gmail.com> References: <5735CB08.2070701@gmail.com> <5735CE7B.3070801@gmail.com> <5735D987.2050107@gmail.com> Message-ID: Hello vtkErrorMacro should display on the output window. You can have a look at ParaViewCore/ClientServerCore/Core/vtkPythonProgrammableFilter.cxx to see how it is done. Regards, Mathieu Westphal On Fri, May 13, 2016 at 3:41 PM, Ellon Paiva wrote: > Mathieu, > > I tried the vtkErrorMacro and I got the messages being printed in the > standard error in the terminal, which is not exactly what I want. > > What I am looking for is something like it's shown in the attached image: > here I forced an error in a python programable filter through a syntax > error in the script. As you can see the user get an information about the > error in the "Output Messages" window that pops up when "Apply" is pressed, > as well as in the terminal. How could I print the error message in this > Output Window on ParaView? > > Regards, > > Ellon > > > > On 05/13/2016 03:05 PM, Mathieu Westphal wrote: > > Hello > > vtkErrorMacro is the way to go to inform the user of the error, but it > will not exit the method, only inform. > After that you need to return 0 if you want the pipeline execution to stop. > > Regards, > > > > > Mathieu Westphal > > On Fri, May 13, 2016 at 2:54 PM, Ellon Paiva wrote: > >> Hello Mathieu, >> >> Thanks for your answer. >> >> I think I was not clear in my question. Surely I can catch the exception >> in the plugin, but I'm looking for a way to inform paraview that an error >> occurred while executing the filter. Of course this information should be >> passed to ParaView when handling the exception, and probably it should halt >> the processing of the pipeline as well. >> >> I'm looking now into the files of some plugins inside paraview source. I >> found that some plugins use the macro "vtkErrorMacro". Would this work for >> me? >> >> Regards, >> >> Ellon >> >> >> On 05/13/2016 02:47 PM, Mathieu Westphal wrote: >> >> Hello >> >> I supose it's kind of obvious, but why would catch not work ? you should >> be able to catch your library exception in your filter. >> >> Regards, >> >> Mathieu Westphal >> >> On Fri, May 13, 2016 at 2:39 PM, Ellon Paiva < >> ellonpaiva at gmail.com> wrote: >> >>> Hello all, >>> >>> I have a plug-in for paraview that wraps filters from an specific >>> library, and these filters that may throw exceptions when if not configured >>> properly (example, if the input data doesn't have some fields). I've been >>> looking for a way to catch these exceptions inside the plug-in and inform >>> paraview about the error/problem, like for example showing the error >>> information in the paraview error window, but I couldn't find an >>> explanation of how to do that. Could anyone explain me how to do that or >>> show an example of code for that? >>> >>> Regards, >>> Ellon >>> _______________________________________________ >>> Powered by www.kitware.com >>> >>> Visit other Kitware open-source projects at >>> >>> http://www.kitware.com/opensource/opensource.html >>> >>> Search the list archives at: >>> >>> http://markmail.org/search/?q=Paraview-developers >>> >>> Follow this link to subscribe/unsubscribe: >>> http://public.kitware.com/mailman/listinfo/paraview-developers >>> >> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellonpaiva at gmail.com Fri May 13 19:13:15 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Sat, 14 May 2016 01:13:15 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter Message-ID: <57365F8B.4000801@gmail.com> Hello all, I'm setting myself to implement filter on paraview that may receive a considerable number of parameters. I thought about a logical way to organize these parameters in a GUI. You will find an attached file describing what I have in mind for that. The problem is that up to now I just made GUIs with simple parameters defined using a XML file, mostly based on the information I found in the Plugin HowTo page , and thus I don't know how to achieve the desired behavior of this GUI in ParaView. Does anyone know how to achieve that? Any page with related material/tutorial/documentation or a source code I could use as a base would be very helpful. Regards, Ellon -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: scheme_properties.png Type: image/png Size: 103266 bytes Desc: not available URL: From ellonpaiva at gmail.com Thu May 19 12:56:00 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Thu, 19 May 2016 18:56:00 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <57365F8B.4000801@gmail.com> References: <57365F8B.4000801@gmail.com> Message-ID: <573DF020.1070507@gmail.com> Hello all, I got some advances with this interface but I still need some help. :-/ I noticed the Adding Customizations for Properties Panel section in the HowTo and I decided to use the example from ParaView source (Examples/Plugins/PropertyWidgets) as a base. I created the interface using qt-creator and made it available to ParaView as the property widget for a dummy plugin (see images attached). My questions now are: 1. How can I access the values set from on this widget in my filter class (which is a subclass of vtkPolyDataAlgorithm, see files attached)? When I was creating the interface using XML files only the changes were stored in filter attributes through Set/Get methods, and thus accessible into RequestData(), but I don't see how to do it from the widget I created now. 2. The Apply button in the interface is does not change to enabled state automatically when changing the options in the widged. I tried to emit a changeFinished() signal but it didn't enable the Apply button. How can I achieve this behavior? 3. I'm implementing the widget display logic inside the widget class. Is that OK or should I do it using pqPropertyWidgetDecorator? Is there any preferable way or doesn't matter? I created a minimal example of what I'm trying to do in the MinimalPlugin.tar.gz file attached, I image you'll be able to compile it without problems. I included also the Qt Creator .pro file I'm using. Any help will be appreciated. :) Regards, Ellon On 05/14/2016 01:13 AM, Ellon Paiva wrote: > Hello all, > > I'm setting myself to implement filter on paraview that may receive a > considerable number of parameters. I thought about a logical way to > organize these parameters in a GUI. You will find an attached file > describing what I have in mind for that. > > The problem is that up to now I just made GUIs with simple parameters > defined using a XML file, mostly based on the information I found in > the Plugin HowTo page > , > and thus I don't know how to achieve the desired behavior of this GUI > in ParaView. > > Does anyone know how to achieve that? Any page with related > material/tutorial/documentation or a source code I could use as a base > would be very helpful. > > Regards, > Ellon -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: widget_1.png Type: image/png Size: 77147 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: widget_2.png Type: image/png Size: 84653 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: MimimalPlugin.tar.gz Type: application/gzip Size: 8864 bytes Desc: not available URL: From tamas.szep at kit.edu Fri May 20 10:53:39 2016 From: tamas.szep at kit.edu (=?iso-8859-1?B?U3rpcCwgVGFt4XMgKElWRCk=?=) Date: Fri, 20 May 2016 14:53:39 +0000 Subject: [Paraview-developers] C++ Plugin Message-ID: <4d8e42c1efd94e56871d42b4ff501c0b@kit-msx-29.kit.edu> Hi, could somebody help me on how to implement a filter with C++ in Paraview, which is capable of reacting on external events by invalidating itself, so that next time when a frame is rendered, the filter (and the dependent pipeline parts if any) get(s) reexecuted. I mainly need it for view-dependent filtering, but you can also consider an input reader that reexecutes when the file is changed as an example. Thank you for the answers in advance. Kind regards: Tam?s Sz?p? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mathieu.westphal at kitware.com Fri May 20 11:17:45 2016 From: mathieu.westphal at kitware.com (Mathieu Westphal) Date: Fri, 20 May 2016 17:17:45 +0200 Subject: [Paraview-developers] C++ Plugin In-Reply-To: <4d8e42c1efd94e56871d42b4ff501c0b@kit-msx-29.kit.edu> References: <4d8e42c1efd94e56871d42b4ff501c0b@kit-msx-29.kit.edu> Message-ID: Hello Only the pipeline can request an execution of a filter or in your case an input reader. What i would do in your situation would be a trick with animation. Your reader could inform the pipeline it has two timesteps, and this way, when the pepile execute the animation in a loop, your reader would be always reexecuted, allowing you to reload any available new data. Regards, Mathieu Westphal On Fri, May 20, 2016 at 4:53 PM, Sz?p, Tam?s (IVD) wrote: > Hi, > > could somebody help me on how to implement a filter with C++ in Paraview, > which is capable of reacting on external events by invalidating itself, so > that next time when a frame is rendered, the filter (and the dependent > pipeline parts if any) get(s) reexecuted. I mainly need it for > view-dependent filtering, but you can also consider an input reader that > reexecutes when the file is changed as an example. > > Thank you for the answers in advance. Kind regards: > > Tam?s Sz?p? > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tamas.szep at kit.edu Fri May 20 12:28:55 2016 From: tamas.szep at kit.edu (=?iso-8859-1?B?U3rpcCwgVGFt4XMgKElWRCk=?=) Date: Fri, 20 May 2016 16:28:55 +0000 Subject: [Paraview-developers] C++ Plugin In-Reply-To: References: <4d8e42c1efd94e56871d42b4ff501c0b@kit-msx-29.kit.edu>, Message-ID: <1463761686288.48091@kit.edu> Hi, thank you for your answer, the file reader in deed reexecutes at each time step. Note that this way the render and pipeline update calls are not synchronized: render can be called more often, but for many applications you can consider this as "close enough". The actual problem with this solution is more that you "use up" the animation mechanism, which you might also need for its actual purpose: to play animations. Anyway, it's useful to know how it works. Kind regards: Tam?s Sz?p ________________________________ Von: Mathieu Westphal Gesendet: Freitag, 20. Mai 2016 17:17 An: Sz?p, Tam?s (IVD) Cc: paraview-developers at paraview.org Betreff: Re: [Paraview-developers] C++ Plugin Hello Only the pipeline can request an execution of a filter or in your case an input reader. What i would do in your situation would be a trick with animation. Your reader could inform the pipeline it has two timesteps, and this way, when the pepile execute the animation in a loop, your reader would be always reexecuted, allowing you to reload any available new data. Regards, Mathieu Westphal On Fri, May 20, 2016 at 4:53 PM, Sz?p, Tam?s (IVD) > wrote: Hi, could somebody help me on how to implement a filter with C++ in Paraview, which is capable of reacting on external events by invalidating itself, so that next time when a frame is rendered, the filter (and the dependent pipeline parts if any) get(s) reexecuted. I mainly need it for view-dependent filtering, but you can also consider an input reader that reexecutes when the file is changed as an example. Thank you for the answers in advance. Kind regards: Tam?s Sz?p? _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Search the list archives at: http://markmail.org/search/?q=Paraview-developers Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview-developers -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Mon May 23 10:27:55 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Mon, 23 May 2016 10:27:55 -0400 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <573DF020.1070507@gmail.com> References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> Message-ID: Ellon, > How can I access the values set from on this widget in my filter class > (which is a subclass of vtkPolyDataAlgorithm, see files attached)? When I > was creating the interface using XML files only the changes were stored in > filter attributes through Set/Get methods, and thus accessible into > RequestData(), but I don't see how to do it from the widget I created now. Alas, I'll recommend going back to your previous approach of having everyting go through filter attributes with Get/Set methods and then add XML properties for all. That's indeed the way to go. To create a custom widget for a group of properties, all you have to do is put a XML element like following in your proxy definition and then define a custom widget for that group (http://www.paraview.org/Wiki/ParaView/Properties_Panel#Property_Groups). Using panel_widget attribute on the group XML, you can tell which custom widget to create. See existing examples in ParaView, e.g. pqColorOpacityEditorWidget, it provides a nice demonstration of how you can use Qt properties and pqPropertyLinks to cleanly hookup UI items and several properties in the proxy. A simpler example is pqFontPropertyWidget. > The Apply button in the interface is does not change to enabled state > automatically when changing the options in the widged. I tried to emit a > changeFinished() signal but it didn't enable the Apply button. How can I > achieve this behavior? Anytime the user changes the UI, just fire pqPropertyWidget::changeAvailable(). That should suffice in most cases. In cases rare cases, you have to fire changeAvailable() and changeFinished() separately, but we can ignore that until you run into it. > I'm implementing the widget display logic inside the widget class. Is that > OK or should I do it using pqPropertyWidgetDecorator? Is there any > preferable way or doesn't matter? That's okay. Decorators are only meant to do minimal tasks like controlling whether to show/hide/enable/disable the widget. From ellonpaiva at gmail.com Mon May 23 17:46:40 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Mon, 23 May 2016 23:46:40 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> Message-ID: <57437A40.2020905@gmail.com> Utkarsh, On 05/23/2016 04:27 PM, Utkarsh Ayachit wrote: > Ellon, > >> How can I access the values set from on this widget in my filter class >> (which is a subclass of vtkPolyDataAlgorithm, see files attached)? When I >> was creating the interface using XML files only the changes were stored in >> filter attributes through Set/Get methods, and thus accessible into >> RequestData(), but I don't see how to do it from the widget I created now. > Alas, I'll recommend going back to your previous approach of having > everyting go through filter attributes with Get/Set methods and then > add XML properties for all. That's indeed the way to go. Ok. That's good to know: while I was waiting for an answer I reimplemented most of the interface using XML files. It's working more or less well, apart from a specific widget I'm still having problem with (see below). The attached MinimalExample2.tar.gz has the updated files. > To create a > custom widget for a group of properties, all you have to do is put a > XML element like following in your proxy definition and then define a > custom widget for that group > (http://www.paraview.org/Wiki/ParaView/Properties_Panel#Property_Groups). > Using panel_widget attribute on the group XML, you can tell which > custom widget to create. See existing examples in ParaView, e.g. > pqColorOpacityEditorWidget, it provides a nice demonstration of how > you can use Qt properties and pqPropertyLinks to cleanly hookup UI > items and several properties in the proxy. A simpler example is > pqFontPropertyWidget. Thanks for pointing out the files with the examples. I looked through them today but I still didn't see how I can properly "link" my widget with paraview. I'll dig more into it tomorrow. And thanks for pointing out the pqPropertyLinks class. Now I see what "AddPropertyLink" method does. Meanwhile, let me explain more: with most of the interface defined only in the xml file, the problem is with an specific widget I have that *I think* I cannot implement using xml only. Basically, this widget allows the user to define a list of "filters", where each filter has some parameters. The user can have as much of them as they want, and the order of them matters. So, I think that to make this work, I'll need: 1. A StringVectorProperty with the names of the filters. This should not be limited by size because as I said the user can have N of these. New items are always added in the end, and the selected item can be reordered with "Up" and "Down" buttons, or removed with "Remove" button; *Question*: How do I deal with StringVectorProperties of dynamic size? How can I remove and reorder them? 2. A vector of of the same size of the filter name vector from 1) for each of the possible attribute of the filter that can be set. *Q*: How can I manage these vectors of dynamic size? Each individually like I should do in 1) or maybe I can use a "group" strategy, and create a "vector of a group" of attributes? (Don't know if ParaView supports this kind of structure) 3. Create a descriptor that will exhibit show/hide attributes based on the current item being selected. I've programmed two descriptors being used in the attached minimal example, but not when the changes depends on a custom widget. *Q*: How can I access the current selected item of a QListWidget inside my custom widget from a descriptor? Maybe I'll need extra attributes (like current/old row and current selected filter name) that I'll have to keep synchronized or there's any easier way? >> The Apply button in the interface is does not change to enabled state >> automatically when changing the options in the widged. I tried to emit a >> changeFinished() signal but it didn't enable the Apply button. How can I >> achieve this behavior? > Anytime the user changes the UI, just fire > pqPropertyWidget::changeAvailable(). That should suffice in most > cases. In cases rare cases, you have to fire changeAvailable() and > changeFinished() separately, but we can ignore that until you run into > it. pqPropertyWidget::changeAvailable() was exactly what I was looking for! :) Thanks! Best, Ellon -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: MinimalPlugin2.tar.gz Type: application/gzip Size: 9588 bytes Desc: not available URL: From ellonpaiva at gmail.com Tue May 24 10:40:47 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Tue, 24 May 2016 16:40:47 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <57437A40.2020905@gmail.com> References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> Message-ID: <574467EF.9010308@gmail.com> Hello again, Quick question: is there a way to have a vector property that has N elements, but only exhibit one of them? If yes, can a descriptor be used to control which of the vector elements is exhibited? On 05/23/2016 11:46 PM, Ellon Paiva wrote: > Utkarsh, > > On 05/23/2016 04:27 PM, Utkarsh Ayachit wrote: >> Ellon, >> >>> How can I access the values set from on this widget in my filter class >>> (which is a subclass of vtkPolyDataAlgorithm, see files attached)? When I >>> was creating the interface using XML files only the changes were stored in >>> filter attributes through Set/Get methods, and thus accessible into >>> RequestData(), but I don't see how to do it from the widget I created now. >> Alas, I'll recommend going back to your previous approach of having >> everyting go through filter attributes with Get/Set methods and then >> add XML properties for all. That's indeed the way to go. > > Ok. That's good to know: while I was waiting for an answer I > reimplemented most of the interface using XML files. It's working more > or less well, apart from a specific widget I'm still having problem > with (see below). The attached MinimalExample2.tar.gz has the updated > files. > >> To create a >> custom widget for a group of properties, all you have to do is put a >> XML element like following in your proxy definition and then define a >> custom widget for that group >> (http://www.paraview.org/Wiki/ParaView/Properties_Panel#Property_Groups). >> Using panel_widget attribute on the group XML, you can tell which >> custom widget to create. See existing examples in ParaView, e.g. >> pqColorOpacityEditorWidget, it provides a nice demonstration of how >> you can use Qt properties and pqPropertyLinks to cleanly hookup UI >> items and several properties in the proxy. A simpler example is >> pqFontPropertyWidget. > > Thanks for pointing out the files with the examples. I looked through > them today but I still didn't see how I can properly "link" my widget > with paraview. I'll dig more into it tomorrow. And thanks for pointing > out the pqPropertyLinks class. Now I see what "AddPropertyLink" method > does. > > Meanwhile, let me explain more: with most of the interface defined > only in the xml file, the problem is with an specific widget I have > that *I think* I cannot implement using xml only. Basically, this > widget allows the user to define a list of "filters", where each > filter has some parameters. The user can have as much of them as they > want, and the order of them matters. So, I think that to make this > work, I'll need: > > 1. A StringVectorProperty with the names of the filters. This should > not be limited by size because as I said the user can have N of > these. New items are always added in the end, and the selected > item can be reordered with "Up" and "Down" buttons, or removed > with "Remove" button; > *Question*: How do I deal with StringVectorProperties of dynamic > size? How can I remove and reorder them? > 2. A vector of of the same size of the filter name vector from 1) for > each of the possible attribute of the filter that can be set. > *Q*: How can I manage these vectors of dynamic size? Each > individually like I should do in 1) or maybe I can use a "group" > strategy, and create a "vector of a group" of attributes? (Don't > know if ParaView supports this kind of structure) > 3. Create a descriptor that will exhibit show/hide attributes based > on the current item being selected. I've programmed two > descriptors being used in the attached minimal example, but not > when the changes depends on a custom widget. > *Q*: How can I access the current selected item of a QListWidget > inside my custom widget from a descriptor? Maybe I'll need extra > attributes (like current/old row and current selected filter name) > that I'll have to keep synchronized or there's any easier way? > > >>> The Apply button in the interface is does not change to enabled state >>> automatically when changing the options in the widged. I tried to emit a >>> changeFinished() signal but it didn't enable the Apply button. How can I >>> achieve this behavior? >> Anytime the user changes the UI, just fire >> pqPropertyWidget::changeAvailable(). That should suffice in most >> cases. In cases rare cases, you have to fire changeAvailable() and >> changeFinished() separately, but we can ignore that until you run into >> it. > > pqPropertyWidget::changeAvailable() was exactly what I was looking > for! :) Thanks! > > > Best, > > Ellon > -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Tue May 24 10:42:04 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Tue, 24 May 2016 10:42:04 -0400 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <574467EF.9010308@gmail.com> References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> <574467EF.9010308@gmail.com> Message-ID: > Quick question: is there a way to have a vector property that has N > elements, but only exhibit one of them? If yes, can a descriptor be used to > control which of the vector elements is exhibited? Not by default, you can create a custom widget for the same, however. From ellonpaiva at gmail.com Tue May 24 18:51:59 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Wed, 25 May 2016 00:51:59 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> <574467EF.9010308@gmail.com> Message-ID: <5744DB0F.7030504@gmail.com> Utkarsh, I finally got my widget to work more or less like I want! FYI I created a long StringVectorProperty with the following xml code: Define which outlier filters to use and in which order. and I created a Q_PROPERTY on my widget of QStringList type, with functions to create the string from internal data and to set the internal data from the string. This way all the internal data is serialized through this string. I still have some problems to address: 1. When I click on Apply button in the filter with my custom widget the RequestData() method of my vtkPolyDataAlgorithm subclass is not being called, but if I change the parameters of any filter before this one in the pipeline then it's called. Do you know what's going wrong here? Maybe I'm forgetting to call something like pqPropertyWidget::changeAvailable()? 2. I would like to have one of the properties of my widget to be populated with the names of the input arrays. Can I do it from the C++ code? Best, Ellon On 05/24/2016 04:42 PM, Utkarsh Ayachit wrote: >> Quick question: is there a way to have a vector property that has N >> elements, but only exhibit one of them? If yes, can a descriptor be used to >> control which of the vector elements is exhibited? > Not by default, you can create a custom widget for the same, however. -------------- next part -------------- An HTML attachment was scrubbed... URL: From ellonpaiva at gmail.com Wed May 25 12:28:36 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Wed, 25 May 2016 18:28:36 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <5744DB0F.7030504@gmail.com> References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> <574467EF.9010308@gmail.com> <5744DB0F.7030504@gmail.com> Message-ID: <5745D2B4.60103@gmail.com> Hello again, Another question: How can I open a temporal file series from a c++ code? Could someone point out a file/example that I can use to take inspiration from? And an update in a previous question: > I still have some problems to address: > > 1. When I click on Apply button in the filter with my custom widget > the RequestData() method of my vtkPolyDataAlgorithm subclass is > not being called, but if I change the parameters of any filter > before this one in the pipeline then it's called. Do you know > what's going wrong here? Maybe I'm forgetting to call something > like pqPropertyWidget::changeAvailable()? > Not a problem anymore: from the vtkSetMacro code I found out that I should call this->Modified(). > * I would like to have one of the properties of my widget to be > populated with the names of the input arrays. Can I do it from the > C++ code? > This I still don't know how to do it. Best, Ellon -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Wed May 25 12:40:14 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Wed, 25 May 2016 12:40:14 -0400 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: <5745D2B4.60103@gmail.com> References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> <574467EF.9010308@gmail.com> <5744DB0F.7030504@gmail.com> <5745D2B4.60103@gmail.com> Message-ID: > I would like to have one of the properties of my widget to be populated with > the names of the input arrays. Can I do it from the C++ code? This is where domains come into play. See how this is done for other filters, e,g. Threshold filter (in filters.xml) has a domain to allow selecting arrays from the input. From ellonpaiva at gmail.com Wed May 25 17:14:50 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Wed, 25 May 2016 23:14:50 +0200 Subject: [Paraview-developers] Help with advanced GUI for filter In-Reply-To: References: <57365F8B.4000801@gmail.com> <573DF020.1070507@gmail.com> <57437A40.2020905@gmail.com> <574467EF.9010308@gmail.com> <5744DB0F.7030504@gmail.com> <5745D2B4.60103@gmail.com> Message-ID: <574615CA.6000202@gmail.com> On 05/25/2016 06:40 PM, Utkarsh Ayachit wrote: >> I would like to have one of the properties of my widget to be populated with >> the names of the input arrays. Can I do it from the C++ code? > This is where domains come into play. See how this is done for other > filters, e,g. Threshold filter (in filters.xml) has a domain to allow > selecting arrays from the input. Thanks again for your reply. I've already set a combo box from an input in the xml file in the plugin I'm developing and it works well, and the filters.xml file helped me a lot. The question is how to set it when the combo box is already inside my custom widget (it's currently a QComboBox declared in the Ui class of my custom widget). Can I still set the domain of this "sub-widget" through xml? What I imagine I could do is to substitute the QComboBox by a pqIntVectorPropertyWidget and use a vtkSMEnumerationDomain somehow to make this widget be exhibited as a combobox with the correct strings from the input, but I don't see how. I'm sorry about all these questions but I'm really struggling to understand the widgets/SM-objects/proxys/domains of ParaView code and how they interact with each other. :( Best, Ellon From lokman.rahmani at irisa.fr Thu May 26 11:34:17 2016 From: lokman.rahmani at irisa.fr (Lokman Rahmani) Date: Thu, 26 May 2016 17:34:17 +0200 (CEST) Subject: [Paraview-developers] Fwd: vtkPVCompositeDataPipeline : Can not execute simple alorithm without output ports In-Reply-To: <640898823.37750879.1464276592666.JavaMail.zimbra@irisa.fr> References: <2017732725.37639441.1464272462439.JavaMail.zimbra@irisa.fr> <640898823.37750879.1464276592666.JavaMail.zimbra@irisa.fr> Message-ID: <1752938583.37757368.1464276857059.JavaMail.zimbra@irisa.fr> Hi all, I am getting this error when running my simulation with Catalyst adaptor: ERROR: In /root/ParaView-v5.0.0-source/VTK/Common/ExecutionModel/vtkCompositeDataPipeline.cxx, line 171 vtkPVCompositeDataPipeline (0x3df1e30): Can not execute simple alorithm without output ports You can find below the relevant sections of my code. The python script (generated by ParaView GUI) that I am using is attached. ----------------- Adaptor.cpp ----------------- 1 /* 2 * Based on ParaViewCatalyst Example 3 * https://github.com/Kitware/ParaViewCatalystExampleCode/tree/master/CxxMultiPieceExample 4 */ 31 namespace Adaptor 32 { 33 34 void BuildVTKGrid(Grid& grid) 35 { 40 VTKGrid->SetNumberOfBlocks(mpiSize); 41 42 vtkNew xArray, yArray, zArray; 43 xArray->SetArray(grid.GetXLocalCoord(), static_cast(grid.GetExtents()[0]), 1); 46 47 vtkNew rectGrid; 48 rectGrid->SetDimensions(grid.GetExtents()[0],grid.GetExtents()[1], grid.GetExtents()[2]); 49 rectGrid->SetXCoordinates(xArray.GetPointer()); 53 VTKGrid->SetBlock(mpiRank,rectGrid.GetPointer()); 54 55 } 56 57 void UpdateVTKAttributes(Grid& grid, Attributes& attributes) 58 { 64 vtkDataSet* dataSet = vtkDataSet::SafeDownCast(VTKGrid->GetBlock(mpiRank)); 65 if(dataSet->GetPointData()->GetNumberOfArrays() == 0) 66 { 67 vtkNew array; 68 array->SetName("dbz"); 69 array->SetNumberOfComponents(1); 70 dataSet->GetPointData()->AddArray(array.GetPointer()); 71 } 72 73 vtkFloatArray* dbz = vtkFloatArray::SafeDownCast(dataSet->GetPointData()->GetArray("dbz")); 74 dbz->SetArray(attributes.GetDbzArray(), static_cast(grid.GetNumberOfLocalPoints()), 1 ); 77 } 78 80 void BuildVTKDataStructures(Grid& grid, Attributes& attributes) 81 { 82 if (VTKGrid == NULL){ 83 VTKGrid = vtkMultiBlockDataSet::New(); 84 BuildVTKGrid(grid); 85 } 86 UpdateVTKAttributes(grid, attributes); 87 } 90 int Initialize (const char* scriptPath) 91 { 92 if(Processor == NULL) 93 { 94 Processor = vtkCPProcessor::New(); 95 Processor->Initialize(); 96 } else 97 { 98 Processor->RemoveAllPipelines(); 99 } 100 101 vtkNew pipeline; 102 if (pipeline->Initialize(scriptPath) == 0){ 103 std::cerr << "Cannot read python script " << scriptPath << std::endl; 104 return 1; 105 } 106 107 Processor->AddPipeline(pipeline.GetPointer()); 108 return 0; 109 } 111 int Finalize() 112 { 113 if(Processor) 114 { 115 Processor->Delete(); 116 Processor = NULL; 117 } 118 if(VTKGrid) 119 { 120 VTKGrid->Delete(); 121 VTKGrid = NULL; 122 } 123 124 return 0; 125 } 126 127 int CoProcess(Grid& grid, Attributes& attributes, int timestep) 128 { 129 vtkNew dataDescription; 130 dataDescription->AddInput("input"); 131 dataDescription->SetTimeData(timestep,timestep); 132 if(Processor->RequestDataDescription(dataDescription.GetPointer()) != 0) 133 { 134 BuildVTKDataStructures(grid, attributes); 135 dataDescription->GetInputDescriptionByName("input")->SetGrid(VTKGrid); 136 Processor->CoProcess(dataDescription.GetPointer()); 137 } 138 139 return 0; 140 } 141 142 } Thanks for your help, Lokman ================================ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: wk100_dbz_06720_000144_no-iso.py Type: text/x-python Size: 3648 bytes Desc: not available URL: From ellonpaiva at gmail.com Thu May 26 12:25:44 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Thu, 26 May 2016 18:25:44 +0200 Subject: [Paraview-developers] Filter with multiple time-aware outputs Message-ID: <57472388.7070109@gmail.com> Hello, While developing a filter for a plugin I found the following situation: I need to implement a filter that has two inputs that are not time aware and 3 time aware outputs. Moreover, the number of time steps of the outputs is unknown until the execution of filter's RequestData(), so the output ports should be configured from inside this method. Is it possible to implement this kind of filter connections in ParaView? Regards, Ellon From utkarsh.ayachit at kitware.com Thu May 26 15:18:20 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Thu, 26 May 2016 15:18:20 -0400 Subject: [Paraview-developers] Filter with multiple time-aware outputs In-Reply-To: <57472388.7070109@gmail.com> References: <57472388.7070109@gmail.com> Message-ID: > While developing a filter for a plugin I found the following situation: I > need to implement a filter that has two inputs that are not time aware and 3 > time aware outputs. Moreover, the number of time steps of the outputs is > unknown until the execution of filter's RequestData(), so the output ports > should be configured from inside this method. Is it possible to implement > this kind of filter connections in ParaView? Alas, no. This is beyond what is supported by ParaView. ParaView needs to be aware of timesteps before RequestData(), in RequestInformation() more specifically. From ellonpaiva at gmail.com Thu May 26 17:46:10 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Thu, 26 May 2016 23:46:10 +0200 Subject: [Paraview-developers] Filter with multiple time-aware outputs In-Reply-To: References: <57472388.7070109@gmail.com> Message-ID: <57476EA2.6050506@gmail.com> On 05/26/2016 09:18 PM, Utkarsh Ayachit wrote: >> While developing a filter for a plugin I found the following situation: I >> need to implement a filter that has two inputs that are not time aware and 3 >> time aware outputs. Moreover, the number of time steps of the outputs is >> unknown until the execution of filter's RequestData(), so the output ports >> should be configured from inside this method. Is it possible to implement >> this kind of filter connections in ParaView? > Alas, no. This is beyond what is supported by ParaView. ParaView needs > to be aware of timesteps before RequestData(), in RequestInformation() > more specifically. Oh, I was afraid of that. :( This means I should change the strategy to implement my plugin. Is it possible to trigger a file reader from a filter input? If it's possible I think I can achieve this using two filters in sequence in the pipeline: the first dump data on files, and the second would read the data from the disk when it receives a new data on its input port. This way the second filter would know already the number of time steps in its RequestInformation() to configure the output ports before reading the files. From utkarsh.ayachit at kitware.com Fri May 27 08:42:01 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Fri, 27 May 2016 08:42:01 -0400 Subject: [Paraview-developers] Filter with multiple time-aware outputs In-Reply-To: <57476EA2.6050506@gmail.com> References: <57472388.7070109@gmail.com> <57476EA2.6050506@gmail.com> Message-ID: > Is it possible to trigger a file reader from a filter input? If it's > possible I think I can achieve this using two filters in sequence in the > pipeline: the first dump data on files, and the second would read the data > from the disk when it receives a new data on its input port. This way the > second filter would know already the number of time steps in its > RequestInformation() to configure the output ports before reading the files. I am not sure I follow, but what I followed doesn't seem like it would work. The second filter still only receive new data on its input in RequestData() so not sure how it will already know the timesteps. Do you want to try explaining what are you trying to do succinctly, maybe someone can suggest an alternative approach. From ellonpaiva at gmail.com Sat May 28 06:43:13 2016 From: ellonpaiva at gmail.com (Ellon Paiva) Date: Sat, 28 May 2016 12:43:13 +0200 Subject: [Paraview-developers] Filter with multiple time-aware outputs In-Reply-To: References: <57472388.7070109@gmail.com> <57476EA2.6050506@gmail.com> Message-ID: <57497641.6020303@gmail.com> Utkarsh, On 05/27/2016 02:42 PM, Utkarsh Ayachit wrote: >> Is it possible to trigger a file reader from a filter input? If it's >> possible I think I can achieve this using two filters in sequence in the >> pipeline: the first dump data on files, and the second would read the data >> from the disk when it receives a new data on its input port. This way the >> second filter would know already the number of time steps in its >> RequestInformation() to configure the output ports before reading the files. > I am not sure I follow, but what I followed doesn't seem like it would > work. The second filter still only receive new data on its input in > RequestData() so not sure how it will already know the timesteps. Well, if I know the path to the files I'm writing in the first filter (for example: /tmp/myfiles_1.vtk, /tmp/myfiles_2.vtk, etc) I could just check how many of these files exist in the disk, and this number would be the number of time steps. The value of the timesteps is just the index of the file (1, 2, etc). > Do you want to try explaining what are you trying to do succinctly, > maybe someone can suggest an alternative approach. OK, let me explain. I'm using a library that performs ICP (libpointmatcher) on point clouds. The library itself is very modular on it's components (data filters, error minimizers, matchers, outlier rejectors, etc), it's structured in a pipeline fashion, like in ParaView. It has already an option to inspect the ICP process by dumping the point clouds (i.e. the reference cloud and the one being matched) and the point associations between these clouds in .vtk files (three files for every iteration of the ICP loop). These files can be loaded on ParaView through a standard reader and it's possible to inspect the ICP process through animation. What I want to implement is a way to reconfigure the parameters of the libpointmatcher's ICP pipeline through ParaView, in a way that if a parameter is changed in any libpointmatcher module in paraview (through filter properties), one can just press "Apply" to trigger the ICP run and the result would be exhibited in ParaView. I believe this would improve the workflow of configuring ICP solutions using this library. The data filters classes are already wrapped, and I want to wrap the "ICP core". As an iteractive process, it has a loop, and currently I don't know how to implement loops in paraview's pipeline (I know there's something to do with a vtkExecutive) and also the pipeline would be somehow complex for the user to build. So I decided to create a single filter that wraps all the loop part of the ICP pipeline. But then you told me I cannot configure dynamically the number of outputs of a filter from inside it's RequestData(), and I don't know how many iteractions of ICP I'll need before converging (if converging). One information I have is the maximum number of iteractions I may have, but the algorithm may finish before it. I'm attaching a image of the pipeline I was implementing here. This may help you to understand. Sorry for the long email. Regards, Ellon -------------- next part -------------- A non-text attachment was scrubbed... Name: pipeline.png Type: image/png Size: 75734 bytes Desc: not available URL: From mahmadza at vols.utk.edu Mon May 30 00:56:02 2016 From: mahmadza at vols.utk.edu (Mohammad A.Raji) Date: Sun, 29 May 2016 23:56:02 -0500 Subject: [Paraview-developers] Help with fixing a bug in one of the plugins Message-ID: Hello all, I'm quite new to the Paraview world and I believe I've noticed a bug in the PointSprite plugin. Is the pull request procedure the same for plugins as well? (Similar to https://github.com/Kitware/ParaView/blob/master/CONTRIBUTING.md?) It would also be wonderful if someone could take a look at the issue just so that I know I haven't gone insane. In /Plugins/PointSprite/Graphics/vtk1DGaussianTransferFunction.cxx:186 the function AddGaussianControlPoint calls SetGaussianControlPoint but with the wrong order of parameters, incorrectly switching width and height in the end control points tuple. Here's a link to the file on Github: https://github.com/Kitware/ParaView/blob/ed854cdd8b1b0f704d3c6c3d0d2f2a14b882cd92/Plugins/PointSprite/Graphics/vtk1DGaussianTransferFunction.cxx . Regards, Mo -------------- next part -------------- An HTML attachment was scrubbed... URL: From joachim.pouderoux at kitware.com Mon May 30 03:32:37 2016 From: joachim.pouderoux at kitware.com (Joachim Pouderoux) Date: Mon, 30 May 2016 09:32:37 +0200 Subject: [Paraview-developers] Help with fixing a bug in one of the plugins In-Reply-To: References: Message-ID: Hello, Absolutely, the GaussianPoint plugin comes with ParaView sources so you can follow notes in CONTRIBUTING.md Regarding the reported issue, it seems like you are right: height and width are reversed. However, I have not been able to found any call to this helper function (AddGaussianControlPoint). Best regards, Joachim *Joachim Pouderoux* *PhD, Technical Expert* *Kitware SAS * 2016-05-30 6:56 GMT+02:00 Mohammad A.Raji : > Hello all, > > I'm quite new to the Paraview world and I believe I've noticed a bug in > the PointSprite plugin. Is the pull request procedure the same for plugins > as well? (Similar to > https://github.com/Kitware/ParaView/blob/master/CONTRIBUTING.md?) > > It would also be wonderful if someone could take a look at the issue just > so that I know I haven't gone insane. > > In /Plugins/PointSprite/Graphics/vtk1DGaussianTransferFunction.cxx:186 the > function AddGaussianControlPoint calls SetGaussianControlPoint but with the > wrong order of parameters, incorrectly switching width and height in the > end control points tuple. Here's a link to the file on Github: > https://github.com/Kitware/ParaView/blob/ed854cdd8b1b0f704d3c6c3d0d2f2a14b882cd92/Plugins/PointSprite/Graphics/vtk1DGaussianTransferFunction.cxx > . > > Regards, > Mo > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From utkarsh.ayachit at kitware.com Mon May 30 08:38:00 2016 From: utkarsh.ayachit at kitware.com (Utkarsh Ayachit) Date: Mon, 30 May 2016 08:38:00 -0400 Subject: [Paraview-developers] Filter with multiple time-aware outputs In-Reply-To: <57497641.6020303@gmail.com> References: <57472388.7070109@gmail.com> <57476EA2.6050506@gmail.com> <57497641.6020303@gmail.com> Message-ID: Ellon, One thing to note is that ParaView/VTK pipelines don't support pipeline loops. Based on what you explained, the "loop" is within a data filter, namely "ICP Core". So rather than thinking of it as a loop, think of it as a data producer that keeps on generating new data/timesteps. Okay, so let's say we'll remodel ICPCore so that it has a method which someone can call to make the filter "discover" new timesteps, e.g. ICPCore::DiscoverTimesteps(). In this method, if new timesteps are discovered, make sure to call this->Modified() on the filter. Now the next step would be to periodically call this method on the filter to make it register new timesteps and tell that to ParaView UI. For starters, just add a property to the XML for ICPCore. That will show up as a button (using pqCommandPropertyWidget) in the Properties panel. Check pqCommandPropertyWidget::buttonClicked(), where it calls UpdatePipelineInformation() on the filter proxy, which in will call DiscoverTimesteps() and the RequestInformation() on the filter where it can announce the new timesteps (along with the old ones). Once this is working, you can automate this by using a timer-based loop to periodically trigger the DiscoverTimeSteps property if you want. Hope that helps, Utkarsh On Sat, May 28, 2016 at 6:43 AM, Ellon Paiva wrote: > Utkarsh, > > On 05/27/2016 02:42 PM, Utkarsh Ayachit wrote: >>> >>> Is it possible to trigger a file reader from a filter input? If it's >>> possible I think I can achieve this using two filters in sequence in the >>> pipeline: the first dump data on files, and the second would read the >>> data >>> from the disk when it receives a new data on its input port. This way the >>> second filter would know already the number of time steps in its >>> RequestInformation() to configure the output ports before reading the >>> files. >> >> I am not sure I follow, but what I followed doesn't seem like it would >> work. The second filter still only receive new data on its input in >> RequestData() so not sure how it will already know the timesteps. > > > Well, if I know the path to the files I'm writing in the first filter (for > example: /tmp/myfiles_1.vtk, /tmp/myfiles_2.vtk, etc) I could just check how > many of these files exist in the disk, and this number would be the number > of time steps. The value of the timesteps is just the index of the file (1, > 2, etc). > >> Do you want to try explaining what are you trying to do succinctly, >> maybe someone can suggest an alternative approach. > > > OK, let me explain. I'm using a library that performs ICP (libpointmatcher) > on point clouds. The library itself is very modular on it's components (data > filters, error minimizers, matchers, outlier rejectors, etc), it's > structured in a pipeline fashion, like in ParaView. It has already an option > to inspect the ICP process by dumping the point clouds (i.e. the reference > cloud and the one being matched) and the point associations between these > clouds in .vtk files (three files for every iteration of the ICP loop). > These files can be loaded on ParaView through a standard reader and it's > possible to inspect the ICP process through animation. > > What I want to implement is a way to reconfigure the parameters of the > libpointmatcher's ICP pipeline through ParaView, in a way that if a > parameter is changed in any libpointmatcher module in paraview (through > filter properties), one can just press "Apply" to trigger the ICP run and > the result would be exhibited in ParaView. I believe this would improve the > workflow of configuring ICP solutions using this library. > > The data filters classes are already wrapped, and I want to wrap the "ICP > core". As an iteractive process, it has a loop, and currently I don't know > how to implement loops in paraview's pipeline (I know there's something to > do with a vtkExecutive) and also the pipeline would be somehow complex for > the user to build. So I decided to create a single filter that wraps all the > loop part of the ICP pipeline. > > But then you told me I cannot configure dynamically the number of outputs of > a filter from inside it's RequestData(), and I don't know how many > iteractions of ICP I'll need before converging (if converging). One > information I have is the maximum number of iteractions I may have, but the > algorithm may finish before it. > > I'm attaching a image of the pipeline I was implementing here. This may help > you to understand. > > Sorry for the long email. > > Regards, > > Ellon > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Search the list archives at: > http://markmail.org/search/?q=Paraview-developers > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview-developers >