[Paraview] PV4.1, Custom Dock Widget: How to automatically add a glyph3d filter after loading data ?

Florian Hoffmann florian.hoffmann at inutech.de
Tue Sep 16 08:11:22 EDT 2014


Dear Utkarsh,

thank you very much for your fast reply and the provided example.
I compiled PV4.2RC2 from source and just tried to compile your example. 
Nevertheless I receive a compilation error complaining that the file

vtkSMParaViewPipelineControllerWithRendering.h

cannot be found.
Where is this file supposed to be residing ?

Thank you.

Best regards,

Florian



Am 15.09.2014 um 17:16 schrieb Utkarsh Ayachit 
<utkarsh.ayachit at kitware.com>:

> Attached is an example based on ParaView 4.2-RC1. As it shows, you
> cannot directly use VTK objects to create visualization pipelines in
> ParaView. While this can surely be done with 4.1 or earlier, I'd
> suggest basing off 4.2, if possible since it simplified a lot of this
> initialization.
>
> Utkarsh
>
> On Mon, Sep 15, 2014 at 10:23 AM, Florian Hoffmann
> <florian.hoffmann at inutech.de> wrote:
>> I would like to automatically add a glyph filter and render the correctly
>> scaled spheres after the user has opened a file in my custom dock widget.
>> I created a DockWidget using the example in /examples/Plugins/DockWidget.
>> When pressing a button a specific file is being opened for the user 
>> by the
>> following calls:
>>
>> void on_button_clicked()
>> {
>>        QString xdmfFile = "C:\\..\\unknown_case.xdmf";
>>
>>    QStringList visuFiles;
>>
>>    visuFiles.append(xdmfFile);
>>
>>    pqPipelineSource* pqPlinesource =
>> pqLoadDataReaction::loadData(visuFiles);
>>
>>    pqPlinesource->updatePipeline();
>>
>>   // TODO:
>>   // add spherical glyph for loaded polyData
>>   // scale spherical glyphs by a scalar attribute/property
>>   // render glyphs
>>
>> }
>>
>> I would like to include that the code automatically adds spherical glyphs
>> and renders them for the data just loaded.
>>
>> I tried the following code but I am not sure if it works
>>
>>                vtkSMProxy *myProxy = pqPlinesource->getProxy();
>>
>>        vtkObjectBase *myObject = myProxy->GetClientSideObject();
>>
>>        vtkAlgorithm *myvtkAlgo = vtkAlgorithm::SafeDownCast(myObject);
>>
>>        vtkGlyph3D *myspheres =  vtkGlyph3D::New();
>>
>>        myspheres->SetSourceConnection(myvtkAlgo->GetOutputPort());
>>
>>
>>
>> In case this is supposed to work, how can I now update the pipeline and
>> render the spheres using C++ PV core functionality ? (The user should 
>> also
>> see the result in the pipeline browser dock of the GUI).
>>
>> In case my approach is totally wrong, what would be the right way of
>> handling this situation ?
>>
>> Thank you.
>>
>> Best regards,
>>
>> Florian
>>
>> _______________________________________________
>> 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://public.kitware.com/mailman/listinfo/paraview
>>
> <DockWidget.tar.gz>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20140916/59fbeb2a/attachment-0001.html>


More information about the ParaView mailing list