Skip to content

Data Model ​

VTK's data model provides flexible, powerful data structures for representing virtually any type of scientific data.

Core Data Structures ​

  • vtkImageData — Regular grids for images and volumes (2D and 3D)
  • vtkRectilinearGrid — Axis-aligned grids with variable spacing
  • vtkStructuredGrid — Curvilinear grids with explicit point coordinates
  • vtkUnstructuredGrid — Arbitrary combinations of cell types
  • vtkPolyData — Polygonal meshes (vertices, lines, polygons, triangle strips)
  • vtkMultiBlockDataSet — Hierarchical collections of datasets

Data Arrays ​

  • Support for all common numeric types (int, float, double, etc.)
  • Named arrays for scalars, vectors, tensors, and other field data
  • Point data and cell data associations
  • Global field data for metadata

Key Design Principles ​

  • Generality — Handle structured and unstructured data uniformly
  • Efficiency — Memory-efficient storage with zero-copy data sharing
  • Extensibility — Custom data types through subclassing
  • Interoperability — NumPy integration in Python, zero-copy with other frameworks