[vtk-developers] GSOC Project Questions

David E DeMarle dave.demarle at kitware.com
Thu Mar 12 17:25:01 EDT 2015


Adding to the stream of good advice:

1)

I put that one up just because I thought a lua wrapper would be COOL. I
have a hunch it will turn out to be really useful too at some point, but I
don't really know what for just yet.

2)

As for the input generator:

The scope of that particular project idea is deceivingly big and a perfect
solution within a summer will take a skilled, motivated and experienced
developer. That said, small steps along the path are worthwhile too. The
root problem is that there is a lot of tribal knowledge that goes into
making a good reader.

The closest thing I know of to a complete solution for it is the VisIt
visualization tools database reader plugin architecture. See: Chapter 3 of
https://wci.llnl.gov/content/assets/docs/simulation/computer-codes/visit/GettingDataIntoVisIt2.0.0.pdf
for
details.
Combine its concepts with the ease of customization that a scripting tool
(like the python programmable filter) would probably get you most of the
way. Either that or gut and templatize one of the truly generic readers
like xdmf and you might get there too.

More background on readers can be found at:
http://www.paraview.org/Wiki/Writing_ParaView_Readers

thanks for considering VTK under GSoC and good luck with your proposal!


David E DeMarle
Kitware, Inc.
R&D Engineer
21 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-881-4909

On Thu, Mar 12, 2015 at 5:04 PM, David Gobbi <david.gobbi at gmail.com> wrote:

> On Thu, Mar 12, 2015 at 2:13 PM, Ben Boeckel <ben.boeckel at kitware.com>
> wrote:
>>
>>
>> > I have experience doing Lua wrapping for other open source projects, so
>> I'm
>> > especially confident I could do the former project.
>>
>> There is wrapping infrastructure in Wrapping/Tools which does all the
>> parsing and data extraction already. What would need to be done is to
>> take those structures and turn them into Lua code to call the right
>> functions, do type conversions, etc. Extending the wrapping
>> infrastructure to expose any information Lua needs would be in scope as
>> well.
>>
>> > If someone could clarify what people would like to be able do with Lua
>>
>> Similar things as Python: take VTK objects, put them into a pipeline,
>> load data, do computations, etc.
>>
>> > and which parts of the project would need to be wrapped, that would be
>> > great.
>>
>> If the wrapping infrastructure is used, "all" of VTK shouldn't be too
>> much past the initial push. There are bound to be corner cases that will
>> need to be handled though.
>>
>> David Gobbi is the main developer behind the wrapping infrastructure,
>> but I've done some work in it as well.
>>
>
> I can add a bit more info about how the VTK python wrappers work.
> Basically, the wrappers use a custom C++ parser (specifically tuned
> to VTK) that reads all the VTK header files and create a C data structure
> that describes the VTK API in all of its gory detail.  That information is
> then
> used to generate the python wrapper code for each of the VTK classes.
> The entire python wrapper generator is actually written in C.
>
> If there is a desire to add other wrapper languages, there are options:
>
> 1) I have a modification to the VTK wrappers that generates a full xml
> description of the VTK API at https://github.com/dgobbi/WrapVTK ,
> and this xml could be fed into a customized wrapper-code generator.
>
> 2) A person could write a back-end for our custom C++ parser that
> generates swig .i files, and then swig can be used to generate the
> language wrappers. Or, the aforementioned xml could be converted
> into a set of .i files for swig.
>
> 3) The same approach could be taken as for the existing wrappers,
> i.e. write the wrapper-generator in C (or C++).  :)
>
> Due to its complexity, VTK is probably not amenable to off-the-shelf
> wrapping tools.  So just as Qt chose to write their own PySide wrapper
> tools (and Riverbank wrote sip before that), and just as ITK chose to
> use a hybrid gccxml/swig approach, VTK is well served by a customized
> wrapping solution.
>
>  - David
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Search the list archives at: http://markmail.org/search/?q=vtk-developers
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20150312/ff25c5f6/attachment.html>


More information about the vtk-developers mailing list