Utkarsh, Thanks for that information - I have figured it out now. A few notes for others who are or will in the future follow this subject:
The object of this exercise is to write a Programmable Filter that will put up a list of your Cell or Point variables and allow the user to select which ones to process at runtime. Say you wrote a Volume-Average filter which calculates volume-averaged values of variables. Now you can let your user select which variables to average at runtime- this could be helpful in a number of scenarios. 1. You need to include at least one property in your .py file, otherwise the translator is unhappy - you can delete it from your .xml file, though, if you don't really want it (I did!) 2. Make a pretty standard xml plugin .py file and run it through the python_filter_generator to turn your python into an xml plugin 3. The python_filter_generator knows nothing about the variable arrays so it is strictly a manual mod to the .xml file. In order to illustrate this, I have included both the .xml originally produced by the python_filter_generator (test.xml.orig), and the hand edited version where I implemented the Cell variable list and deleted the property which I included only to make the translator happy (test.xml). You can tkdiff these to see exactly what changes were made 3. The original python_filter_generator had a typo of vtkMultiblockDataSet, while this newest revision correctly has vtkMultiBlockDataSet - use the one in your .py file that matches the version of the generator you are using I have run this test filter on can2.exo, a good, simple multi-block dataset that is available to everyone. Screenshots attached Hopefully this will help the next guy. Dennis -----Original Message----- From: Utkarsh Ayachit [mailto:[email protected]] Sent: Thursday, October 05, 2017 11:59 AM To: Dennis Conklin <[email protected]> Cc: Paraview ([email protected]) <[email protected]> Subject: Re: [EXT] Re: [Paraview] Details of XML filter with lists of input arrays Dennis, Here's a example. You need manually modify the XML generated using [1]. I've attached script.xml with my modifications to add a new property for "Arrays". Also attached a state file that demos this filter (load state after lading the script.xml as plugin). Hope that helps. Utkarsh [1] `python python_filter_generator.py script.py script.xml` On Wed, Oct 4, 2017 at 10:11 AM, Utkarsh Ayachit <[email protected]> wrote: > Dennis, > > Oops sorry, it slipped my mind you were doing this for programmable > filter. It should be doable, but I'll need to dig -- don't remember of > the top of my head. I'll put it on my plate to put together a small > example for you. > > Utkarsh > > On Wed, Oct 4, 2017 at 7:59 AM, Dennis Conklin > <[email protected]> wrote: >> Utkarsh, >> >> I think you have me confused with a real programmer! ;- ) >> >> I am just trying to write a Programmable Filter in python and I'm lost. >> >> I want to write an xml plugin that will put up a list of all the cell >> variables and let the user select from then and then have the names of those >> variables available in my python script within the Programmable Filter. >> I'm hoping this can be similar to plugins I have written with hardcoded >> variable names where I've used something like: >> >> Properties = dict( >> Sector_Angle = True) >> >> >> def RequestData(): >> >> >> def process_block(block): >> # >> # >> if (Sector_Angle): >> >> Maybe this isn't possible at this low level, but how would I put up the list >> and then what would I have in my RequestData script that I could branch on. >> >> Thanks for your patience. >> >> Dennis >> >> >> -----Original Message----- >> From: Utkarsh Ayachit [mailto:[email protected]] >> Sent: Tuesday, October 03, 2017 4:07 PM >> To: Dennis Conklin <[email protected]> >> Cc: Paraview ([email protected]) <[email protected]> >> Subject: Re: [EXT] Re: [Paraview] Details of XML filter with lists of >> input arrays >> >>> So, after the user chooses some variables, are the chosen variable names in >>> "input_array"? >>> Or does "input_array" contain True or False based on which he chose, in >>> which case where are the corresponding names of the variables? >> >> When user selects variables, he's doing it on the "VolumeArrays" >> property. Thus the selection is provided to the VTK filter via calling the >> command specified on the "VolumeArrays" property. In the case of the >> ExtractCTHParts files, this is done via `AddVolumeArrayName` and >> `RemoveVolumeArrayNames` API.
test.py
Description: test.py
test.xml
Description: test.xml
test.xml.orig
Description: test.xml.orig
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview
