├── .github ├── scripts │ ├── cibw_before_build.sh │ ├── install.sh │ ├── linux_repair_wheel.py │ └── utils.py └── workflows │ └── build_wheels.yml ├── CMakeLists.txt ├── Examples └── Python │ ├── change_devices.py │ ├── cinematic_rendering │ ├── head_and_neck_animation.py │ ├── head_and_neck_front.py │ ├── head_and_neck_side.py │ └── thorax_kidneys.py │ ├── quilt_image.py │ ├── quilt_movie.py │ └── vtkLookingGlassPythonDemo.ipynb ├── FetchFromUrl.cmake ├── FetchHoloPlayCore.cmake ├── FetchVTKExternalModule.cmake ├── FindHoloPlayCore.cmake ├── LICENSE ├── README.md ├── Testing ├── CMakeLists.txt ├── Cxx │ ├── CMakeLists.txt │ ├── TestDragon.cxx │ └── TestLookingGlassPass.cxx └── Python │ ├── requirements.txt │ └── test_import.py ├── lib └── vtkmodules │ └── dummy.txt ├── pyproject.toml ├── setup.py ├── vtk.module ├── vtkCocoaLookingGlassRenderWindow.h ├── vtkCocoaLookingGlassRenderWindow.mm ├── vtkLookingGlassInterface.cxx ├── vtkLookingGlassInterface.h ├── vtkLookingGlassPass.cxx ├── vtkLookingGlassPass.h ├── vtkLookingGlassRenderWindowImpl.h ├── vtkWin32LookingGlassRenderWindow.cxx ├── vtkWin32LookingGlassRenderWindow.h ├── vtkXLookingGlassRenderWindow.cxx └── vtkXLookingGlassRenderWindow.h /.github/scripts/cibw_before_build.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ev 3 | 4 | if [[ $RUNNER_OS == "Linux" ]]; then 5 | # Some of the VTK modules use this library, and auditwheel will 6 | # complain if it can't find it. We will remove it from the wheel 7 | # after the repair is complete. 8 | yum install libXcursor-devel -y 9 | 10 | # Make sure this is removed before every build, so we always 11 | # get the correct one. 12 | rm -rf $VTK_WHEEL_SDK_INSTALL_PATH 13 | fi 14 | -------------------------------------------------------------------------------- /.github/scripts/install.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ev 3 | 4 | #### Install cibuildwheel #### 5 | pip install cibuildwheel 6 | 7 | if [[ $RUNNER_OS == "macOS" ]]; then 8 | # VTK is expecting the xcode path to be slightly different. 9 | # Specifically, the VTK::RenderingOpenGL2 imported target seems 10 | # to expect the absolute path to the OpenGL library to match. 11 | ln -s /Applications/Xcode_13.1.app/ /Applications/Xcode-13.1.app 12 | fi 13 | -------------------------------------------------------------------------------- /.github/scripts/linux_repair_wheel.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import glob 4 | import os 5 | from pathlib import Path 6 | import shutil 7 | import subprocess 8 | import sys 9 | 10 | from utils import change_dir, unzip_file 11 | 12 | """ 13 | This script does the following: 14 | 15 | 1. Copy all vtk modules into the wheel 16 | 2. Run auditwheel repair 17 | 3. Remove anything that wasn't there before the repair 18 | 19 | This is done so that we can get proper tags on the wheel, without the 20 | RPATHs or contents of the wheel being affected. 21 | 22 | Note: if we make the VTK modules visible to auditwheel by modifying the 23 | LD_LIBRARY_PATH, auditwheel copies them into the project, but modifies 24 | the RPATHs of our libraries. We do not want auditwheel to modify the 25 | RPATHs, so we copy the VTK modules in ourselves. 26 | 27 | It would be great if auditwheel, at some point, allowed us to add tags 28 | to the wheel *without* repairing it... 29 | """ 30 | 31 | if len(sys.argv) < 3: 32 | sys.exit('Usage: