Faulty logic when wrapping templated VTK objects
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
When the python wrappers encounter a parameter that is a pointer to a class template, they seem to assume that the class is derived from vtkObjectBase via vtkTypeTemplate. As a result, the wrappers generate a typeid() call, because vtkTypeTemplate uses typeid() in its GetClassName() method.
Of course, this typeid() call should only be used for classes that use vtkTypeTemplate. It is inapplicable to any other templated classes. Hence, I need to add some code that checks whether a class uses vtkTypeTemplate, or whether a class is derived from such a class.
I've added a "quick and dirty" fix for the vtkSmartPointer<>, because it's the only wrapper-breaking template that I've seen so far: a4a1d20e. However, a better fix will eventually be needed.