[Paraview] PV4.1, Custom Dock Widget: How to automatically add a glyph3d filter after loading data ?
Florian Hoffmann
florian.hoffmann at inutech.de
Wed Sep 17 09:51:20 EDT 2014
Dear Utkarsh,
Thanks. That did help.
So I am having now:
...
vtkSMPropertyHelper(glyph, "Source").Set(getSphereSource(glyph));
// "scalar" = 0
// "vector" = 1
// "vector_comp" = 2
// "off" = 3
vtkSMPropertyHelper(glyph, "ScaleMode",true).Set(0);
vtkSMPropertyHelper(glyph, "ScaleFactor",true).Set(1.0);
// 0 or 1: 1=using vector property for orientation
vtkSMPropertyHelper(glyph, "Orient",true).Set(0);
// "All Points" = 0
vtkSMPropertyHelper(glyph, "GlyphMode",true).Set(0);
All of the above work, except the ScaleFactor setter. The scale factor
is odd anyway: in the GUI a value of 1.8 appears by default (even though
according to the doc it should be 1.0) . Any clue ?
Last question: How do I gain access to the GlyphSource(=SphereSource)
object in order to use the .SetRadius(1.0) function on it ?
It is not clear to me whether it needs to be accessed through a
vtkSMPropertyHelper or through a proxy ?
Thanks
Florian
Am 17.09.2014 um 14:29 schrieb Utkarsh Ayachit:
> 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
>> *****************************************************************
--
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
*****************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20140917/d6441080/attachment-0001.html>
More information about the ParaView
mailing list