|
| 1 | +# -*- coding: utf-8 -*- |
| 2 | +# ============================================================================= |
| 3 | +# Created on Wed Jan 15 15:44:54 2020 |
| 4 | +# |
| 5 | +# @author: Brénainn Woodsend |
| 6 | +# |
| 7 | +# |
| 8 | +# one line to give the program's name and a brief idea of what it does. |
| 9 | +# Copyright (C) 2019-2020 Brénainn Woodsend |
| 10 | +# |
| 11 | +# This program is free software: you can redistribute it and/or modify |
| 12 | +# it under the terms of the GNU General Public License as published by |
| 13 | +# the Free Software Foundation, either version 3 of the License, or |
| 14 | +# (at your option) any later version. |
| 15 | +# |
| 16 | +# This program is distributed in the hope that it will be useful, |
| 17 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 18 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 19 | +# GNU General Public License for more details. |
| 20 | +# |
| 21 | +# You should have received a copy of the GNU General Public License |
| 22 | +# along with this program. If not, see <https://www.gnu.org/licenses/>. |
| 23 | +# ============================================================================= |
| 24 | +""" |
| 25 | +""" |
| 26 | + |
| 27 | +try: |
| 28 | + from PyQt5 import QtWidgets, QtGui, QtCore |
| 29 | + PyQt5_AVAILABLE = True |
| 30 | + del QtWidgets, QtCore, QtGui |
| 31 | +except ImportError: |
| 32 | + PyQt5_AVAILABLE = False |
| 33 | + |
| 34 | + |
| 35 | +try: |
| 36 | + |
| 37 | + class vtk(object): |
| 38 | + """This dummpy vtk class mimicks the default vtk module structure |
| 39 | + whilst only loading the libraries and corresponding dlls that |
| 40 | + vtkplotlib uses. This makes import quicker and pyinstaller builds |
| 41 | + smaller. |
| 42 | + """ |
| 43 | + from vtkmodules.vtkRenderingCorePython import vtkActor |
| 44 | + from vtkmodules.vtkRenderingCorePython import vtkRenderer |
| 45 | + from vtkmodules.vtkRenderingCorePython import vtkWindowToImageFilter |
| 46 | + from vtkmodules.vtkFiltersSourcesPython import vtkCubeSource |
| 47 | + from vtkmodules.vtkCommonCorePython import VTK_ID_TYPE |
| 48 | + from vtkmodules.vtkCommonCorePython import vtkCommand |
| 49 | + from vtkmodules.vtkRenderingCorePython import vtkTextActor |
| 50 | + from vtkmodules.vtkInteractionStylePython import vtkInteractorStyleTrackballCamera |
| 51 | + from vtkmodules.vtkCommonCorePython import VTK_COLOR_MODE_DEFAULT |
| 52 | + from vtkmodules.vtkCommonDataModelPython import vtkImageData |
| 53 | + from vtkmodules.vtkInteractionStylePython import vtkInteractorStyleImage |
| 54 | + from vtkmodules.vtkFiltersSourcesPython import vtkSphereSource |
| 55 | + from vtkmodules.vtkCommonCorePython import vtkPoints |
| 56 | + from vtkmodules.vtkRenderingCorePython import VTK_SCALAR_MODE_DEFAULT |
| 57 | + from vtkmodules.vtkCommonMathPython import vtkMatrix4x4 |
| 58 | + from vtkmodules.vtkRenderingAnnotationPython import vtkScalarBarActor |
| 59 | + from vtkmodules.vtkCommonCorePython import VTK_COLOR_MODE_MAP_SCALARS |
| 60 | + from vtkmodules.vtkRenderingCorePython import VTK_SCALAR_MODE_USE_POINT_DATA |
| 61 | + from vtkmodules.vtkIOLegacyPython import vtkPolyDataReader |
| 62 | + from vtkmodules.vtkRenderingCorePython import vtkImageMapper |
| 63 | + from vtkmodules.vtkRenderingAnnotationPython import vtkLegendBoxActor |
| 64 | + from vtkmodules.vtkRenderingCorePython import vtkPolyDataMapper |
| 65 | + from vtkmodules.vtkCommonCorePython import VTK_MAJOR_VERSION |
| 66 | + from vtkmodules.vtkIOLegacyPython import vtkPolyDataWriter |
| 67 | + from vtkmodules.vtkCommonCorePython import VTK_COLOR_MODE_DIRECT_SCALARS |
| 68 | + from vtkmodules.vtkCommonCorePython import vtkLookupTable |
| 69 | + from vtkmodules.vtkCommonTransformsPython import vtkTransform |
| 70 | + from vtkmodules.vtkRenderingCorePython import vtkActor2D |
| 71 | + from vtkmodules.vtkRenderingCorePython import VTK_SCALAR_MODE_USE_CELL_DATA |
| 72 | + from vtkmodules.vtkFiltersSourcesPython import vtkArrowSource |
| 73 | + from vtkmodules.vtkRenderingCorePython import vtkRenderWindowInteractor |
| 74 | + from vtkmodules.vtkCommonDataModelPython import vtkCellArray |
| 75 | + from vtkmodules.vtkRenderingFreeTypePython import vtkVectorText |
| 76 | + from vtkmodules.vtkRenderingCorePython import vtkRenderWindow |
| 77 | + from vtkmodules.vtkIOGeometryPython import vtkSTLReader |
| 78 | + from vtkmodules.vtkCommonDataModelPython import vtkPolyData |
| 79 | + from vtkmodules.vtkFiltersGeneralPython import vtkCursor3D |
| 80 | + from vtkmodules.vtkRenderingCorePython import vtkFollower |
| 81 | + |
| 82 | + from vtkmodules.vtkRenderingOpenGL2Python import vtkOpenGLRenderer |
| 83 | + |
| 84 | + from vtkmodules.util import numpy_support |
| 85 | + |
| 86 | + if PyQt5_AVAILABLE: |
| 87 | + from vtkmodules.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor |
| 88 | + |
| 89 | + |
| 90 | +except ImportError: |
| 91 | +# pass |
| 92 | + import vtk |
| 93 | + from vtk.util import numpy_support |
| 94 | + |
| 95 | + if PyQt5_AVAILABLE: |
| 96 | + from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor |
| 97 | + |
| 98 | + |
| 99 | +numpy_to_vtk = numpy_support.numpy_to_vtk |
| 100 | +get_vtk_array_type = numpy_support.get_vtk_array_type |
| 101 | +vtk_to_numpy = numpy_support.vtk_to_numpy |
| 102 | +get_vtk_to_numpy_typemap = numpy_support.get_vtk_to_numpy_typemap |
| 103 | +numpy_to_vtkIdTypeArray = numpy_support.numpy_to_vtkIdTypeArray |
0 commit comments