hello,

I have a custom reader (c++ plus custom panel) working well in ParaView GUI.

Now want to use the python wrapping capabilities of paraview, but I have same problems with the python object.

in my custom panel I have a <widget class="QTreeWidget" name="SpacePGDDimsStatus">

in my xml I have

    ....
<StringVectorProperty  name="SpacePGDDimsInfo"  information_only="1">
<ArraySelectionInformationHelper attribute_name="SpacePGDDims"/>
</StringVectorProperty>

<StringVectorProperty
        name="SpacePGDDimsStatus"
        command="SetSpacePGDDimsStatus"
        number_of_elements="0"
        repeat_command="1"

        number_of_elements_per_command="2"
        element_types="2 0"
        information_property="SpacePGDDimsInfo"
        animateable="1"
        label="Space PGD Dims"
>

<ArraySelectionDomain name="array_list" >
<RequiredProperties>
<Property name="SpacePGDDimsInfo" function="ArrayList"/>
</RequiredProperties>
</ArraySelectionDomain>
<Documentation>
         This property lists which PGDDimensions are used for the space.
</Documentation>
</StringVectorProperty>
   .....

and in my reader I have (c++):

    int GetNumberOfSpacePGDDimsArrays();
    const char* GetSpacePGDDimsArrayName(int index);

    int GetSpacePGDDimsArrayStatus(const char* name);
    void SetSpacePGDDimsStatus(const char* name, int status);

If I do (in python):

>>> from paraview.simple import *
>>> paraview.simple.LoadPlugin('/Big/fbordeu/builds/PXDMFReader_bin_git/libPXDMFReaderPython.so') >>> reader = servermanager.sources.PXDMFReader(FileName='/home/fbordeu/projects/wiimote_vtk/demo1/SolPGD.pxdmf')

>>> dir(reader)
['CellData', 'FieldData', 'FileName', 'FileNameChanged', 'GetCellDataInformation', 'GetDataInformation', 'GetFieldDataInformation', 'GetPointDataInformation', 'GetProperty', 'GetPropertyValue', 'Initialize', 'InitializeFromProxy', 'ListProperties', 'Observed', 'ObserverTag', 'PGDDimsPosDataInfo', 'PointData', 'Port', 'SMProxy', 'SetPropertyWithName', 'SpacePGDDims', 'Stride', 'TimePGDDims', 'TimestepValues', 'UpdatePipeline', 'UpdatePipelineInformation', '_Proxy__ConvertArgumentsAndCall', '_Proxy__GetActiveCamera', '_Proxy__LastAttrName', '_Proxy__Properties', '__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__eq__', '__format__', '__getattr__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'add_attribute']

>>> reader.ListProperties()
['CellArrayInfo', 'CellArrays', 'FileName', 'PGDDimsDataInfo', 'PGDDimsMaxRangeDataInfo', 'PGDDimsMinRangeDataInfo', 'PGDDimsNameDataInfo', 'PGDDimsPosDataInfo', 'PGD_Dims', 'PointArrayInfo', 'PointArrays', 'SpacePGDDimsInfo', 'SpacePGDDims', 'Stride', 'TimePGDDimsInfo', 'TimePGDDims', 'TimestepValues', 'UseStride']


>>> dir(reader.GetProperty('SpacePGDDimsStatus'))
['Available', 'Clear', 'ConvertValue', 'DeselectAll', 'GetAvailable', 'GetData', 'GetElement', 'Name', 'Proxy', 'SMProperty', 'SelectAll', 'SetData', '_ArrayListProperty__arrays', '_FindPropertyName', '_UpdateProperty', '__call__', '__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__getitem__', '__hash__', '__init__', '__iter__', '__len__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

>>> reader.GetProperty('SpacePGDDimsStatus').GetAvailable()
['PGD0 size : 1 ( X ) ', 'PGD1 size : 1 ( Y ) ', 'PGD2 size : 1 ( W ) ']

in python I can use "reader.GetProperty('SpacePGDDimsStatus').SelectAll()" to select all, but how can I select only one (the first for example)???.

For now I'm using
reader.GetProperty('SpacePGDDimsStatus').SetData(reader.GetProperty('SpacePGDDimsStatus').GetAvailable()[0:2])
but I don't know if is the correct way to do it.

also I am really confused with all the option in the xml file ( repeat_command, element_types, animateable, number_of_elements_per_command...)

Using:  Linux  x86_64 2.6.32-30-generic, and Paraview 3.11 (git version).

Thanks,

--

Felipe Bordeu Weldt
Ingénieur de Recherche
-------------------------------------
Tél. : 33 (0)2 40 37 16 57
Fax. : 33 (0)2 40 74 74 06
[email protected]
Institut GeM - UMR CNRS 6183
École Centrale Nantes
1 Rue de La Noë, 44321 Nantes, FRANCE
-------------------------------------

_______________________________________________
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

Follow this link to subscribe/unsubscribe:
http://www.paraview.org/mailman/listinfo/paraview

Reply via email to