Customize application with paraview's framework

I want to create an application with PV’s framework and Qt-based UI. I understand PV is back by VTK, which is written in C++, but how to use C++ interface in Paraview? I know PV has programmable filter with python, I have been reading API from VTK class but not clear about where to put my C++ code.
Should this be done by building paraview from source(I haven’t make it yet) and then add my code on the project?
I read examples in PV’s source but still didn’t get it. I’m thankful for any guidelines.

Unrelated to a custom application

I have been reading API from VTK class but not clear about where to put my C++ code.

VTK C++ filter code goes into standard paraview plugins.
ParaView applicative C++ code goes into your custom application.

Should this be done by building paraview from source

Yes, that is the first step.

then add my code on the project?

No, use the custom application framework

See Example/CustomApplications for custom applications examples. SimpleParaView comes to mind.

1 Like

Much thanks for your detailed explaination, Mathieu.

I learnt that PV has its definitions for algorithm from ParaviewGuide.pdf(e.g RequestData, RequestInformation), I think this mechanism fits me.
But what do you mean

custom application framework

I see only “customizing paraview”, which is about altering PV’s preference, other than “customize application”. I hope for more details about it.

Thanks for your help!

The ParaView guide does not contains information about the custom applications.
See here :

That helps a lot, great thanks Mathieu.

Well, I have built PV from source successfully with CMake Variable PARAVIEW_ENABLE_EXAMPLES being selected, feeling so close to running example app, then I found a project in Example directory
And it reports error when RUN_TESTS being executed(error: Access Denied)

Honestly, though I’m able to understand CMake languages and PV’s Customizing Application tutorial DIYVisApps.IEEEVis2010.Paraview.pdf, I have no idea the common routine of customizing application.
I’m slow on this and so a little guide is certained needed.

You do not need to build all the examples within ParaView.

Once ParaView is built, just copy one of the examples anywhere and built it from there.

I realized that I was mistaken in building ParaView without installing it, I thought building ParaView is all I need to customize App. However, all the ParaView-branded App should depend on ParaView’s Package to implement its function.
Unfortunately, I met a lot of errors while installing ParaView:

无法打开输入文件” means “cannot open input file”, and accordingly I didn’t find these .lib files under the directory, either.
as well as:

Since I could build and run paraview.exe correctly, I have no idea what’s wrong.
I set project to Release to install paraview
Thanks for any help.

You do not need to install paraview to build a paraview branded application.

You are right, all I need is to set CMake Variable PARAVIEW_DIR correctly. Thanks :rofl: