[vtkusers] Questions About Python Wrapping

Andras Lasso lasso at queensu.ca
Thu May 17 18:29:06 EDT 2018


The main advantage of the ability to return smart pointers would be that ownership of VTK objects could be transferred safely to the caller, without requiring calling UnRegister(None). C++ developers are aware of pointers but for Python users it is a mistery why sometimes they need to call UnRegister to avoid memory leaks.

Andras
________________________________
From: David Gobbi <david.gobbi at gmail.com>
Sent: Thursday, May 17, 2018 4:55 PM
To: Kyle Sunderland
Cc: vtkusers at vtk.org
Subject: Re: [vtkusers] Questions About Python Wrapping

Hi Kyle,

Thanks for sending the files.  I see that the parameters for those methods are actually smart pointers, and as you have already noted, smart pointers aren't wrapped.

This has never been an issue in VTK proper or for most VTK projects, since VTK methods generally use raw pointers.  The header file you sent is closer to ITK style than to VTK style.

I definitely think that it would be worthwhile to add better smart pointer handling to the wrappers.

 - David


On Thu, May 17, 2018 at 12:13 PM, David Gobbi <david.gobbi at gmail.com<mailto:david.gobbi at gmail.com>> wrote:
On Thu, May 17, 2018 at 10:10 AM, Kyle Sunderland <1krs1 at queensu.ca<mailto:1krs1 at queensu.ca>> wrote:
> It (mostly) works, however I noticed that no functions are wrapped which have a definition that contains any of the wrapped classes. Does anyone have insight into what I might have missed?

Is a vtk..Hierarchy.txt file generated for the wrapped module when you build it?  If so, send it to me along with the header files you're wrapping, and I can take a look.

> Also, as an additional question, is it still not possible to wrap functions that return a smart pointer?

If this is a feature that you need, then add it to the bug tracker.

Cheers,
 - David

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://vtk.org/pipermail/vtkusers/attachments/20180517/5ed9903a/attachment.html>


More information about the vtkusers mailing list