[vtk-developers] Tcl wrapping and output array arguments

David Lonie david.lonie at kitware.com
Fri Mar 20 09:00:01 EDT 2015


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

> On Thu, Mar 19, 2015 at 2:28 PM, David Lonie <david.lonie at kitware.com>
> wrote:
>
>>
>> My questions:
>>
>> 1) Is the concept of an "output array argument" even supported by Tcl?
>>
>
> Yes.  I imagine something like this could create a new array called
> "bounds":
>
>   % mapper GetBounds renderer bounds
>
>
>> 2) If so, how can I teach the wrappers about it?
>>
>
> Adding things like this to Tcl is easier than for Java or Python, but it's
> more than an afternoon's work.  I believe that Tcl will already wrap this
> method, but the wrapped method will expect 6 values as input, instead of
> expecting one name for an output array that it should create.  Because the
> wrappers can't really tell whether "double[6]" is meant to be used for
> input or output, the method will actually have to be wrapped twice, once
> for input, and once for output.  There are undoubtedly some tricky
> complications that I haven't though of, however.
>

Unfortunately, the method is not wrapped currently (according to the
generated vtkPropTcl.cxx file, anyway).

And perhaps the most curious question from my point of view,
>>
>> 4) Why do we still provide Tcl bindings in 2015?
>>
>
> Because they're cool!  Actually, at this point I'm fine with them going
> away, but I'd still like to keep Tkinter (which works just fine without the
> Tcl wrappers).
>

The general consensus from the developers I've talked to out here is the
same -- we'd love to see Tcl go. I had a heck of a time trying to even find
a developer who remembered enough about Tcl to begin tracking down this
issue before I posted on the mailing list...and this includes the people
who wrote the original Tcl wrappers ;)


> But seriously, can we deprecate them for 6.3?
>>
>
> Any volunteers to convert TestSetGet and TestEmptyInput to python?
>

Looks like Andrew has volunteered :D

I found this discussion from around v6.0's release:


http://vtk.1045678.n5.nabble.com/Modularization-Context2D-and-Tcl-td5594211.html

Looks like there was a fair bit of resistance against dropping Tcl 2-3
years ago, so I'm not sure how worthwhile it would be to push for this now.

But if supporting such a simple method like this requires "more than an
afternoon's work" to teach Tcl to understand it, it sounds like more of a
burden than a benefit. From what I'm seeing, it's a non-trivial amount of
work to keep Tcl working with new APIs and few active developers actually
remember Tcl well enough to work on it. Not to mention that in my few years
here at Kitware, I've never actually come across an active project that
uses Tcl -- not to say they don't exist, but they seem quite rare these
days.

In any case, decisions like these are beyond me. I'm just a C++ guy trying
to add a simple new method to the library :-)

Dave
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20150320/8b117f32/attachment-0001.html>


More information about the vtk-developers mailing list