[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