Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • VTK VTK
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 738
    • Issues 738
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 201
    • Merge requests 201
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VTK
  • VTKVTK
  • Issues
  • #15494

Closed
Open
Created May 26, 2015 by Kitware Robot@kwrobotOwner

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.

Assignee
Assign to
Time tracking