Main idea was came from the document http://www.it.uu.se/edu/course/homepage/vetvis/ht10/vtk/instructions_vtk_OSX.pdf
ccmake must be installed already. But tk/tcl is not (at least as for me).
- Download source code.
- Use Google to find the URL
- Move the downloaded folder to target path where you want to install VTK. After compile, you cannot move the folder. If you move that, python would not find the VTK module.
- ccmake
- If your VTK folder is /Users/me/VTK
> mkdir build
> cd build
> ccmake .. - An old-fashioned screen appears. Then, hit 'c' until you can see 'g' option.
Maybe after two hit of 'c', you would see 'g' option. - Hit 'g'.
- make
- After ccmake screen disappears,
> make - This takes about 30 minutes for me.
- export some environment variables and run
- > export PYTHONPATH=$PYTHONPATH:/Users/me/VTK/build/bin:/Users/me/VTK/build/Wrapping/Python:/Users/me/VTK/build/lib
- run python and test some examples.
- If python complains about import vtk, export some more environment variables.
eg. LD_LIBRARY_PATH , DYDL_FALLBACK_LIBRARY_PATH
(for more information, refer the pdf mentioned above.) - A test programimport vtk# create a rendering window and rendererren = vtk.vtkRenderer()renWin = vtk.vtkRenderWindow()renWin.AddRenderer(ren)# create a renderwindowinteractoriren = vtk.vtkRenderWindowInteractor()iren.SetRenderWindow(renWin)# create cubecube = vtk.vtkCubeSource()# mappercubeMapper = vtk.vtkPolyDataMapper()#cubeMapper.SetInput(cube.GetOutput())if vtk.VTK_MAJOR_VERSION <= 5:cubeMapper.SetInput(cube.GetOutput())else:cubeMapper.SetInputConnection(cube.GetOutputPort())# actorcubeActor = vtk.vtkActor()cubeActor.SetMapper(cubeMapper)# assign actor to the rendererren.AddActor(cubeActor)# enable user interface interactoriren.Initialize()renWin.Render()iren.Start()You can find many more examples by googling.