vtkRectf and vtkRectd not available in Java wrapper


As the title said, I can’t find vtkRectf neither vtkRectd in the Java generated wrapper… although I get a java file generated for vtkRect. However the generated java class is not public hence can not be imported.

Looking at the source code of vtkRect.h shows that in C++ vtkRect is an abstract template class and their concrete counterparts (f/d) are nested in the same .h file.

Could anyone experienced on the Java wrapper confirm that the nested class pattern is the reason for the concrete classes not being generated?

This prevents from configuring a vtkChartXYZ

vtkChartXYZ chart = new vtkChartXYZ();
chart.SetGeometry(new vtkRectd(10.0, 10.0, 630, 470));

Leading to


The only classes available to the Java wrapper are the ones that inherit from vtkObjectBase. The vtkRect, vtkColor, vtkVector, and vtkVariant classes aren’t available.

A partial list of the VTK rules for Java wrapping is as follows:

  1. The class must derive from vtkObjectBase
  2. Templates are not wrapped (classes that inherit from concrete templates can be wrapped)
  3. Only one class per header file is wrapped (the class the header file is named after)
  4. Nested classes are not wrapped

Adding SetPlotHeight()/SetPlotWidth()/SetMarginLeft()/SetMarginBottom() methods to vtkChartXYZ in the VTK source code would be the easiest solution.

Thank you all for the clarifications and suggestions.