[Paraview] Plugin Organization with Support Library + Exposed Methods in Plugin

Michael Jackson mike.jackson at bluequartz.net
Fri Dec 3 09:53:56 EST 2010


Not sure if this is "right" way to do it but I ended up doing the  
following:

# -- Add the Server Manager XML
PARAVIEW_INCLUDE_SERVERMANAGER_RESOURCES( "${H5Vtk_SM_XML}" )
# -- Add the Client side xml
PARAVIEW_INCLUDE_GUI_RESOURCES( "${H5Vtk_Client_XML}" )
# -- Add the wrapped sources
PARAVIEW_INCLUDE_WRAPPED_SOURCES("${H5Vtk_SM_Wrapped_SRCS}")
# -- Add additional sources that are NOT wrapped
PARAVIEW_INCLUDE_SOURCES ("${H5Vtk_SRCS}")

instead of calling the "Add_PARAVIEW_PLUGIN" macro directly. It seems  
to work OK on OS X. Have not tried this on anything else yet. Then in  
all the dependent server side code I check to make sure the  
H5Vtk_SOURCE_DIR has been set so that I know the user has added the  
correct dependencies.
   I took a look at the files you mentioned and there are definitely  
somethings in there that I should add to my CMake code.

Thanks for the heads up.
___________________________________________________________
Mike Jackson                      www.bluequartz.net
Principal Software Engineer       mike.jackson at bluequartz.net
BlueQuartz Software               Dayton, Ohio



On Dec 2, 2010, at 10:05 PM, David E DeMarle wrote:

> I'm not certain, but it sounds like a similar thing to what I had to  
> do to split the Manta plugin into VTK and ParaView level components.  
> In the VTK level directory, I wrap the library into client server  
> language in CMakeList.txt. Next, in order for the ParaView level  
> code to actually instantiate the wrapped things in the VTK level  
> library I had to use client server streams to call void  
> vtkMantaCS_Initialize(vtkClientServerInterpreter *arlu);
>
> See:
>  Plugins/Manta/VTK/CMakeList.txt
>  Plugins/Manta/ParaView/ 
> vtkMantaClientServerViewProxy::BeginCreateVTKObjects()
>  Plugins/Manta/ParaView/vtkServerSideFactory::EnableFactory()
>
> David E DeMarle
> Kitware, Inc.
> R&D Engineer
> 28 Corporate Drive
> Clifton Park, NY 12065-8662
> Phone: 518-371-3971 x109
>
>
> On Wed, Dec 1, 2010 at 4:05 PM, Michael Jackson <mike.jackson at bluequartz.net 
> > wrote:
> I am having a problem trying to get some of my various plugins to  
> all compile at the same time. The issue is that each plugin re-uses  
> some of the same code so I thought I would factor all that code out  
> into it's own support library. Let's call it "H5Vtk". Now the H5Vtk  
> library implements various vtkH5*Reader classes and some some HDF5  
> wrapper functions in it.
>  The first time I created a plugin all was fine as I had some server  
> manager sources and some plain server sources. All was fine. Then I  
> added another plugin into the mix that needs to use some of the  
> classes from the H5Vtk either as super classes or as support  
> classes. For various reasons I can NOT combine both of these  
> projects (which would be the really simple solution). This did not  
> work as I got linker errors due to the missing symbols in the second  
> library.
>  Back to the H5Vtk library. I had this all setup as a plain old  
> library and then tried to add a simple XML based plugin to expose  
> the various vtkH5*Readers that I wrote. While everything compiled OK  
> and ParaView ran, the new file extensions were never shown in the  
> Open File dialog. Which sort of makes sense to me because those  
> source files were never "wrapped" in Server-Manager code.
>
>  It is almost like I need to call ADD_PARAVIEW_PLUGIN with a flag  
> that says "wrap these sources and ONLY compile the wrapped sources  
> as the originals are in a library somewhere".
>
>  If anyone has any ideas that would be absolutely great. I think I  
> am just spinning my wheels at this point and not really going  
> anywhere.
>
> Thanks
> ___________________________________________________________
> Mike Jackson                      www.bluequartz.net
> Principal Software Engineer       mike.jackson at bluequartz.net
> BlueQuartz Software               Dayton, Ohio
>
>
>
> _______________________________________________
> 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
>



More information about the ParaView mailing list