[vtk-developers] Wrapping vtkConfigure.h, vtkType.h, etc.

Dave Partyka dave.partyka at kitware.com
Wed Aug 18 09:11:15 EDT 2010


Cool! Thank you :-)

On Wed, Aug 18, 2010 at 8:48 AM, David Gobbi <david.gobbi at gmail.com> wrote:

> The failures are because I added vtkCommand to the wrap list, but
> since vtkCommand didn't use vtkTypeMacro it didn't have SafeDownCast.
> I've updated ParaView's VTK and will keep an eye on the dashboard.
>
>   David
>
>
> On Wed, Aug 18, 2010 at 6:30 AM, Dave Partyka <dave.partyka at kitware.com>
> wrote:
> > Hey David,
> > Can you look at the ParaView dashboard? I think some of these changes are
> > causing build errors with client server wrapping.
> >
> /home/kitware/dashboards/paraview-build-all-debug/Utilities/VTKClientServer/Common/vtkCommandClientServer.cxx:
> > In function ‘int vtkCommandCommand(vtkClientServerInterpreter*,
> > vtkObjectBase*, const char*, const vtkClientServerStream&,
> > vtkClientServerStream&)’:
> >
> /home/kitware/dashboards/paraview-build-all-debug/Utilities/VTKClientServer/Common/vtkCommandClientServer.cxx:14:20:
> > error: ‘SafeDownCast’ is not a member of ‘vtkCommand’
> > On Tue, Aug 17, 2010 at 2:52 PM, David Gobbi <david.gobbi at gmail.com>
> wrote:
> >>
> >> I tried wrapping vtkCommand, and python can wrap it because it's
> >> already properly tagged as "abstract".  So it just can't be used the
> >> way that I would like.  But all the constants are there.
> >>
> >> import vtk
> >> print vtk.vtkCommand.ModifiedEvent
> >> 33
> >>
> >>  David
> >>
> >>
> >> On Tue, Aug 17, 2010 at 11:59 AM, David Gobbi <david.gobbi at gmail.com>
> >> wrote:
> >> > Wrapping vtkCommand.h is difficult, but not because of the constants.
> >> > The vtkCommand class itself is internally handled in a very "special"
> >> > way by the wrappers.  So while I do want to wrap this class and its
> >> > constants, it won't happen immediately.
> >> >
> >> > For some things, you can substitute a string for the constants i.e.
> >> > AddObserver("ModifiedEvent", func).  But I know that this doesn't work
> >> > for everything.
> >> >
> >> >   David
> >> >
> >> >
> >> > On Tue, Aug 17, 2010 at 11:48 AM, Jean-Christophe Fillion-Robin
> >> > <jchris.fillionr at kitware.com> wrote:
> >> >> Hi David,
> >> >>
> >> >> That's awesome :)
> >> >>
> >> >> Question:
> >> >>   If we add vtkCommand.h to Kit_WRAP_HEADERS, would the eventid be
> >> >> wrapped ?
> >> >>
> >> >> By eventid, i mean the enum regrouping ModifedEvent, ...
> >> >>
> >> >> Thks
> >> >> Jc
> >> >>
> >> >> On Tue, Aug 17, 2010 at 1:42 PM, David Gobbi <david.gobbi at gmail.com>
> >> >> wrote:
> >> >>>
> >> >>> For wrapping VTK constants, I've created an optional variable for
> the
> >> >>> kits, e.g. in Common/CMakeLists.txt:
> >> >>>
> >> >>> SET(Kit_WRAP_HEADERS
> >> >>>  vtkSystemIncludes.h
> >> >>>  vtkType.h
> >> >>>  ${VTK_BINARY_DIR}/vtkConfigure.h
> >> >>>  )
> >> >>>
> >> >>> This tells the python wrappers to wrap these headers
> >> >>> (Filtering/vtkCellType.h is also wrapped).  Since the constants are
> >> >>> wrapped directly into the kit python modules, vtkConstants.py is
> >> >>> obsolete.
> >> >>>
> >> >>>  David
> >> >>>
> >> >>>
> >> >>> On Mon, Aug 16, 2010 at 11:45 AM, David Gobbi <
> david.gobbi at gmail.com>
> >> >>> wrote:
> >> >>> > Hi All,
> >> >>> >
> >> >>> > I'm looking for the best way to modify the VTK cmake scripts so
> that
> >> >>> > I
> >> >>> > can automatically wrap constants like VTK_POLY_DATA.  Right now,
> >> >>> > some
> >> >>> > of these constants are hard-coded in e.g. vtkConstants.py but of
> the
> >> >>> > wrapper's "hard-coded" copies of the constants are never up to
> date.
> >> >>> > The only thing that is needed to python-wrap these constants is to
> >> >>> > pass the header files vtkConfigure.h, vtkType.h, etc. to
> >> >>> > vtkWrapPython. One way to do this is to add these headers to the
> >> >>> > source list:
> >> >>> >
> >> >>> > Set(Kit_SRCS vtkType.h ...)
> >> >>> > SET_SOURCE_FILES_PROPERTIES(vtkType.h HEADER_FILE_ONLY)
> >> >>> >
> >> >>> > However, I'm reluctant do to this because no other VTK header
> files
> >> >>> > are handled this way.  The alternative is to make a separate list
> >> >>> > for
> >> >>> > header files, one that will be used by
> >> >>> > KitCommonPythonWrapBlock.cmake:
> >> >>> >
> >> >>> > Set(Kit_HDRS vtkType.h ...)
> >> >>> >
> >> >>> > And then in KitCommonPythonWrapBlock.cmake:
> >> >>> > SET(FILES_TO_WRAP ${Kit_SRCS} ${Kit_HDRS})
> >> >>> > VTK_WRAP_PYTHON3(vtk${KIT}Python KitPython_SRCS
> "${FILES_TO_WRAP}")
> >> >>> >
> >> >>> > I'm leaning towards this latter method, because it seems to be the
> >> >>> > tidier of the two approaches.
> >> >>> >
> >> >>> >  David
> >> >>> >
> >> >>> _______________________________________________
> >> >>> Powered by www.kitware.com
> >> >>>
> >> >>> Visit other Kitware open-source projects at
> >> >>> http://www.kitware.com/opensource/opensource.html
> >> >>>
> >> >>> Follow this link to subscribe/unsubscribe:
> >> >>> http://www.vtk.org/mailman/listinfo/vtk-developers
> >> >>>
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Phone: 1-518-836-2174
> >> >> Ext: 304
> >> >>
> >> >
> >> _______________________________________________
> >> Powered by www.kitware.com
> >>
> >> Visit other Kitware open-source projects at
> >> http://www.kitware.com/opensource/opensource.html
> >>
> >> Follow this link to subscribe/unsubscribe:
> >> http://www.vtk.org/mailman/listinfo/vtk-developers
> >>
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20100818/e9dc1512/attachment.html>


More information about the vtk-developers mailing list