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

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Wed Sep 17 08:29:33 EDT 2014


Click on the "?" button on the ParaView UI with the filter active.
That'll take you a page that will list all such "properties" available
on the filter. Additionally, you can look at these xml files[1].
Locate the proxy using the group/name and then you'll have the details
for properties on it.

Utkarsh

[1] https://github.com/Kitware/ParaView/tree/master/ParaViewCore/ServerManager/SMApplication/Resources


On Wed, Sep 17, 2014 at 5:22 AM, Florian Hoffmann
<florian.hoffmann at inutech.de> wrote:
> Dear Utkarsh,
>
> thanks a lot. I made a small mistake during cmake configuration. It works
> fine.
>
> Question: Where can I find the "keywords" for
>
> vtkSMPropertyHelper(...)
>
> For example you used:
>
>  vtkSMPropertyHelper(cylinder, "Resolution").Set(18);
>
>
> I would like to setup the glyph's settings in a similar fashion. For
> example:
>
> // your code
> ...
>
> // Create and initialize the glyph filter
>
> vtkSMSourceProxy* glyph =
> vtkSMSourceProxy::SafeDownCast(pxm->NewProxy("filters", "Glyph"));
>
> controller->PreInitializeProxy(glyph);
> vtkSMPropertyHelper(glyph, "Input").Set(cylinder);
> vtkSMPropertyHelper(glyph, "Source").Set(getSphereSource(glyph));
>
>
> // what I would like to add to the glyph's settings
> vtkSMPropertyHelper(glyph, "Scale Factor").Set(1.0);
> vtkSMPropertyHelper(glyph, "Scale Mode").Set(scalar);
> vtkSMPropertyHelper(glyph, "Masking").Set(All_points);
> ...
>
> cylinder->UpdateVTKObjects();
> ...
>
>
> For example I tried "ScaleFactor" and "Scale Factor" but they do not seem to
> work.
>
> what are the data types for the .Set() functions ? For example in the case
> of Masking ? Where can I find the C++ masking options and its data type to
> be used with vtkSMPropertyHelper ? Or do you suggest another way of
> accessing these properties ?
>
> Thank you very much.
>
> Florian
>
>
>
> Am 16.09.2014 um 17:55 schrieb Utkarsh Ayachit:
>
> Not entirely sure why. I just built that same with ParaVIew git/master
> and it built fine for me. What OS is this? Can you attach
> CMakeCache.txt from ParaView build as well as the plugin build?
>
> Utkarsh
>
> On Tue, Sep 16, 2014 at 11:26 AM, Florian Hoffmann
> <florian.hoffmann at inutech.de> wrote:
>
> I have the file there as well but nevertheless during compilation of the
> Plugin it cannot be found.
> Do you have any idea why this might be the case ?
>
>
> Thanks.
>
> Florian
>
>
> Mit freundlichen Grüßen
> --
> Dr.-Ing. Florian Hoffmann
> inuTech GmbH                   Phone    : +49-(0)911-323843-22
> Fuerther Strasse 212         Fax        : +49-(0)911-323843-43
> 90429 Nuernberg               E-Mai l   : florian.hoffmann at inutech.de
> Germany                            Internet  : http://www.inutech.de
>
> inuTech GmbH
> Sitz / Registered Office: Nuernberg
> Handelsregister / Companies' Register: AG Nürnberg HRB Nr. 19026
> Geschäftsführer / Managing Director: Frank Vogel
>
> *****************************************************************
> DIFFPACK - THE NEW GENERATION OF SIMULATION-SOFTWARE!
>
> Go to http://www.diffpack.com to read the details
> *****************************************************************
>
> Am 16.09.2014 um 14:43 schrieb Utkarsh Ayachit
> <utkarsh.ayachit at kitware.com>:
>
> It's under "ParaVIewCore/ServerManager/Rendering/" in the ParaVIew source[1]
>
> Utkarsh
>
> [1]
> https://github.com/Kitware/ParaView/blob/master/ParaViewCore/ServerManager/Rendering/vtkSMParaViewPipelineControllerWithRendering.h
>
> On Tue, Sep 16, 2014 at 8:11 AM, Florian Hoffmann
> <florian.hoffmann at inutech.de> wrote:
>
> 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>
>
>
>
>
>
> --
> Mit freundlichen Grüßen
> --
> Dr.-Ing. Florian Hoffmann
> inuTech GmbH		Phone	 : +49-(0)911-323843-22
> Fuerther Strasse 212	Fax	 : +49-(0)911-323843-43
> 90429 Nuernberg		E-Mai l	 : florian.hoffmann at inutech.de
> Germany		        Internet : http://www.inutech.de
>
> inuTech GmbH
> Sitz / Registered Office: Nuernberg
> Handelsregister / Companies' Register: AG Nürnberg HRB Nr. 19026
> Geschäftsführer / Managing Director: Frank Vogel
>
> *****************************************************************
> DIFFPACK - THE NEW GENERATION OF SIMULATION-SOFTWARE!
>
> Go to http://www.diffpack.com to read the details
> *****************************************************************


More information about the ParaView mailing list