[Paraview-developers] Selecting blocks from drop down list
Andy Bauer
andy.bauer at kitware.com
Sat Jul 16 08:40:52 EDT 2016
You need to add in those methods. Look at the vtkExtractBlock.cxx/h class
to see how those methods are being used in ParaView.
On Fri, Jul 15, 2016 at 11:31 AM, Jorge Bañuls <jorgebanuls at gmail.com>
wrote:
> I've tried to implement the property in this way:
>
> <IntVectorProperty clean_command="RemoveAllIndices"
> command="AddIndex"
> name="BlockIndices"
> number_of_elements_per_command="1"
> panel_visibility="default"
> repeat_command="1">
> <CompositeTreeDomain mode="all"
> name="tree">
> <RequiredProperties>
> <Property function="Input"
> name="Input" />
> </RequiredProperties>
> </CompositeTreeDomain>
> <Documentation></Documentation>
> </IntVectorProperty>
>
> but I get the following error:
>
> ERROR: In
> M:\b\paraview\src\paraview\ParaViewCore\ServerImplementation\Core\vtkPVSessionCore.cxx,
> line 390
>
> vtkPVSessionCore (00000000035C2B60): Object type:
> vtkPythonProgrammableFilter, could not find requested method:
> "RemoveAllIndices"
>
> or the method was called with incorrect arguments.
>
>
> while processing
>
> Message 0 = Invoke
>
> Argument 0 = vtk_object_pointer {vtkPythonProgrammableFilter
> (000000000B5222A0)}
>
> Argument 1 = string_value {RemoveAllIndices}
>
>
>
>
> ERROR: In
> M:\b\paraview\src\paraview\ParaViewCore\ServerImplementation\Core\vtkPVSessionCore.cxx,
> line 391
>
> vtkPVSessionCore (00000000035C2B60): Aborting execution for debugging
> purposes.
>
>
>
> ERROR: In
> M:\b\paraview\src\paraview\ParaViewCore\ServerImplementation\Core\vtkSIProxy.cxx,
> line 134
>
> vtkSISourceProxy (000000000B4FDA70): Error pushing property state:
> BlockIndices
>
>
> if I omit clean_command="RemoveAllIndices", then the error appears for
> command="AddIndex". I've tried to use other commands, such as
> SetParameter or AddParameter, but no combination seems to work.
>
>
> On 15 July 2016 at 12:27, Andy Bauer <andy.bauer at kitware.com> wrote:
>
>> In ./ParaViewCore/ServerManager/SMApplication/Resources/filters.xml in
>> the source code there's the following section which gives the options and
>> GUI layout:
>> <SourceProxy class="vtkExtractBlock"
>> label="Extract Block"
>> name="ExtractBlock">
>> <Documentation long_help="This filter extracts a range of blocks
>> from a multiblock dataset."
>> short_help="Extract block.">This filter extracts a
>> range
>> of groups from a multiblock dataset</Documentation>
>> <InputProperty command="SetInputConnection"
>> name="Input">
>> <ProxyGroupDomain name="groups">
>> <Group name="sources" />
>> <Group name="filters" />
>> </ProxyGroupDomain>
>> <DataTypeDomain name="input_type">
>> <DataType value="vtkMultiBlockDataSet" />
>> </DataTypeDomain>
>> <Documentation>This property specifies the input to the Extract
>> Group
>> filter.</Documentation>
>> </InputProperty>
>> <IntVectorProperty clean_command="RemoveAllIndices"
>> command="AddIndex"
>> name="BlockIndices"
>> number_of_elements_per_command="1"
>> panel_visibility="default"
>> repeat_command="1">
>> <CompositeTreeDomain mode="all"
>> name="tree">
>> <RequiredProperties>
>> <Property function="Input"
>> name="Input" />
>> </RequiredProperties>
>> </CompositeTreeDomain>
>> <Hints>
>> <WidgetHeight number_of_rows="20" />
>> </Hints>
>> <Documentation>This property lists the ids of the blocks to
>> extract
>> from the input multiblock dataset.</Documentation>
>> </IntVectorProperty>
>> <IntVectorProperty command="SetPruneOutput"
>> default_values="1"
>> name="PruneOutput"
>> number_of_elements="1">
>> <BooleanDomain name="bool" />
>> <Documentation>When set, the output mutliblock dataset will be
>> pruned
>> to remove empty nodes. On by default.</Documentation>
>> </IntVectorProperty>
>> <IntVectorProperty command="SetMaintainStructure"
>> default_values="0"
>> name="MaintainStructure"
>> number_of_elements="1">
>> <BooleanDomain name="bool" />
>> <Documentation>This is used only when PruneOutput is ON. By
>> default,
>> when pruning the output i.e. remove empty blocks, if node has
>> only 1
>> non-null child block, then that node is removed. To preserve these
>> parent nodes, set this flag to true.</Documentation>
>> </IntVectorProperty>
>> <!-- End ExtractBlock -->
>> </SourceProxy>
>>
>> Creating something similar for you may work. If you search the code for
>> things like vtkSMIntVectorProperty.cxx/h you should find information on how
>> the corresponding IntVectorProperty.
>>
>> On Fri, Jul 15, 2016 at 7:18 AM, Jorge Bañuls <jorgebanuls at gmail.com>
>> wrote:
>>
>>> Hi Andy,
>>>
>>> Indeed, the vtkExtractBlock filter is what I'm using in my script to
>>> extract the blocks, which are currently specified by the user in the
>>> properties panel as a string with the name of the block(s). Now that you
>>> mention it though, it could be useful to see how this filter creates the
>>> checklist. Is there a way to access the code behind this filter?
>>>
>>> Thanks a lot for your help,
>>>
>>> Jorge Bañuls
>>>
>>> On 15 July 2016 at 12:06, Andy Bauer <andy.bauer at kitware.com> wrote:
>>>
>>>> Have you looked at the Extract Blocks filter? That may already be
>>>> doing what you need and if not, it at least shows how to check the boxes
>>>> for blocks that you want.
>>>>
>>>> On Fri, Jul 15, 2016 at 6:53 AM, Jorge Bañuls <jorgebanuls at gmail.com>
>>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I'm developing a filter for Paraview and I need to be able to select
>>>>> blocks from the properties panel (the input is a vtkMultiBlockDataSet). The
>>>>> approach I'm using right now is to write the name of the block(s) and then
>>>>> process that string within the script, but I would like to be able to check
>>>>> the blocks I need from a list. I've seen many examples of how to do this,
>>>>> but only for variables arrays (e.g. the list displays the cell arrays
>>>>> existing in the input). Any ideas on how to apply this to display and
>>>>> select the blocks?
>>>>>
>>>>> Thanks in advance for your help,
>>>>>
>>>>> Jorge Bañuls
>>>>>
>>>>> _______________________________________________
>>>>> 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: <http://public.kitware.com/pipermail/paraview-developers/attachments/20160716/843c3bda/attachment.html>
More information about the Paraview-developers
mailing list