Language Agnostic

The core functionality of VTK is written in C++ to maximize efficiency. That core is then wrapped into other language bindings to expose VTK’s functionality to a wider audience. Currently, VTK’s build system has built-in support to generate primary bindings to Python, Java, and Tcl. External bindings to Ada and C# are also available.

Rosetta Stone of VTK

Cxx

vtkPolyDataMapper *cylinderMapper = vtkPolyDataMapper::New();
cylinderMapper->SetInputConnection( cylinder->GetOutputPort() );

Java

vtkPolyDataMapper cylinderMapper = new vtkPolyDataMapper();
cylinderMapper.SetInputConnection( cylinder.GetOutputPort() );

Python

cylinderMapper = vtk.vtkPolyDataMapper()
cylinderMapper.SetInputConnection( cylinder.GetOutputPort() )

Tcl

vtkPolyDataMapper cylinderMapper
cylinderMapper SetInputConnection [ cylinder GetOutputPort ]
C++ core wrapped for Tcl, Java or Python access

Interpreted layer generated automatically by VTK wrapping process