""" This module loads the entire VTK library into its namespace.  It
also allows one to use specific packages inside the vtk directory.."""

from __future__ import absolute_import

# --------------------------------------
from .vtkCommonCore import *
from .vtkCommonMath import *
from .vtkCommonMisc import *
from .vtkCommonSystem import *
from .vtkCommonTransforms import *
from .vtkCommonDataModel import *
from .vtkCommonColor import *
from .vtkCommonExecutionModel import *
from .vtkCommonComputationalGeometry import *
from .vtkFiltersCore import *
from .vtkFiltersGeneral import *
from .vtkImagingCore import *
from .vtkImagingFourier import *
from .vtkFiltersStatistics import *
from .vtkFiltersExtraction import *
from .vtkInfovisCore import *
from .vtkFiltersGeometry import *
from .vtkFiltersSources import *
from .vtkRenderingCore import *
from .vtkRenderingFreeType import *
from .vtkRenderingContext2D import *
from .vtkChartsCore import *
from .vtkIOCore import *
from .vtkIOLegacy import *
from .vtkIOXMLParser import *
from .vtkDomainsChemistry import *
from .vtkRenderingOpenGL2 import *
from .vtkDomainsChemistryOpenGL2 import *
from .vtkIOXML import *
from .vtkParallelCore import *
from .vtkFiltersAMR import *
from .vtkFiltersFlowPaths import *
from .vtkFiltersGeneric import *
from .vtkImagingSources import *
from .vtkFiltersHybrid import *
from .vtkFiltersHyperTree import *
from .vtkImagingGeneral import *
from .vtkFiltersImaging import *
from .vtkFiltersModeling import *
from .vtkFiltersParallel import *
from .vtkFiltersParallelImaging import *
from .vtkFiltersPoints import *
from .vtkFiltersProgrammable import *
from .vtkFiltersPython import *
from .vtkFiltersSMP import *
from .vtkFiltersSelection import *
from .vtkFiltersTexture import *
from .vtkFiltersTopology import *
from .vtkFiltersVerdict import *
from .vtkIOImage import *
from .vtkImagingHybrid import *
from .vtkInfovisLayout import *
from .vtkInteractionStyle import *
from .vtkImagingColor import *
from .vtkRenderingAnnotation import *
from .vtkRenderingVolume import *
from .vtkInteractionWidgets import *
from .vtkViewsCore import *
from .vtkGeovisCore import *
from .vtkIOAMR import *
from .vtkIOEnSight import *
from .vtkIOExodus import *
from .vtkRenderingGL2PSOpenGL2 import *
from .vtkIOExport import *
from .vtkIOExportOpenGL2 import *
from .vtkIOGeometry import *
from .vtkIOImport import *
from .vtkIOInfovis import *
from .vtkIOLSDyna import *
from .vtkIOMINC import *
from .vtkIOMovie import *
from .vtkIONetCDF import *
from .vtkIOPLY import *
from .vtkIOParallel import *
from .vtkIOParallelXML import *
from .vtkIOSQL import *
from .vtkIOTecplotTable import *
from .vtkIOVideo import *
from .vtkImagingMath import *
from .vtkImagingMorphological import *
from .vtkImagingStatistics import *
from .vtkImagingStencil import *
from .vtkInteractionImage import *
from .vtkPythonInterpreter import *
from .vtkRenderingContextOpenGL2 import *
from .vtkRenderingImage import *
from .vtkRenderingLOD import *
from .vtkRenderingLabel import *
from .vtkRenderingMatplotlib import *
from .vtkRenderingVolumeOpenGL2 import *
from .vtkViewsContext2D import *
from .vtkViewsInfovis import *
# --------------------------------------

# useful macro for getting type names
__vtkTypeNameDict = {VTK_VOID:"void",
                     VTK_DOUBLE:"double",
                     VTK_FLOAT:"float",
                     VTK_LONG:"long",
                     VTK_UNSIGNED_LONG:"unsigned long",
                     VTK_INT:"int",
                     VTK_UNSIGNED_INT:"unsigned int",
                     VTK_SHORT:"short",
                     VTK_UNSIGNED_SHORT:"unsigned short",
                     VTK_CHAR:"char",
                     VTK_UNSIGNED_CHAR:"unsigned char",
                     VTK_SIGNED_CHAR:"signed char",
                     VTK_LONG_LONG:"long long",
                     VTK_UNSIGNED_LONG_LONG:"unsigned long long",
                     VTK_ID_TYPE:"vtkIdType",
                     VTK_BIT:"bit"}

def vtkImageScalarTypeNameMacro(type):
  return __vtkTypeNameDict[type]

# import convenience decorators
from .util.misc import calldata_type

# import the vtkVariant helpers
from .util.vtkVariant import *
