diff options
Diffstat (limited to 'sci-chemistry/avogadro2/files/avogadro2-0.8.0-vtk.patch')
-rw-r--r-- | sci-chemistry/avogadro2/files/avogadro2-0.8.0-vtk.patch | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/sci-chemistry/avogadro2/files/avogadro2-0.8.0-vtk.patch b/sci-chemistry/avogadro2/files/avogadro2-0.8.0-vtk.patch new file mode 100644 index 000000000000..fd872cef0133 --- /dev/null +++ b/sci-chemistry/avogadro2/files/avogadro2-0.8.0-vtk.patch @@ -0,0 +1,142 @@ +commit 23a9474aad8eba503bcfe54584fd7cad106bda17 +Author: Marcus D. Hanwell <marcus.hanwell@kitware.com> +Date: Mon Sep 21 12:03:07 2015 -0400 + + Made VTK truly optional for Avogadro application + +diff --git a/avogadro/CMakeLists.txt b/avogadro/CMakeLists.txt +index 90534ea..24bdd46 100644 +--- a/avogadro/CMakeLists.txt ++++ b/avogadro/CMakeLists.txt +@@ -8,6 +8,7 @@ option(USE_VTK "Build with VTK support" OFF) + if(USE_VTK) + find_package(VTK COMPONENTS vtkGUISupportQt vtkRenderingOpenGL REQUIRED) + include(${VTK_USE_FILE}) ++ add_definitions(-DAVO_USE_VTK) + endif() + + if(MSVC) +diff --git a/avogadro/mainwindow.cpp b/avogadro/mainwindow.cpp +index a1c09e8..8fe3038 100644 +--- a/avogadro/mainwindow.cpp ++++ b/avogadro/mainwindow.cpp +@@ -81,7 +81,9 @@ + # include <molequeue/client/client.h> + #endif // Avogadro_ENABLE_RPC + +-#include <avogadro/vtk/vtkglwidget.h> ++#ifdef AVO_USE_VTK ++# include <avogadro/vtk/vtkglwidget.h> ++#endif + + namespace Avogadro { + +@@ -198,8 +200,10 @@ using QtGui::ToolPluginFactory; + using QtGui::ExtensionPlugin; + using QtGui::ExtensionPluginFactory; + using QtOpenGL::GLWidget; +-using VTK::vtkGLWidget; + using QtPlugins::PluginManager; ++#ifdef AVO_USE_VTK ++using VTK::vtkGLWidget; ++#endif + + MainWindow::MainWindow(const QStringList &fileNames, bool disableSettings) + : m_molecule(NULL), +@@ -434,9 +438,11 @@ void MainWindow::setMolecule(Molecule *mol) + if (GLWidget *glWidget = qobject_cast<QtOpenGL::GLWidget *>(w)) { + setWidgetMolecule(glWidget, mol); + } ++#ifdef AVO_USE_VTK + else if (vtkGLWidget *vtkWidget = qobject_cast<vtkGLWidget *>(w)) { + setWidgetMolecule(vtkWidget, mol); + } ++#endif + } + + void MainWindow::markMoleculeDirty() +@@ -831,6 +837,7 @@ void MainWindow::viewActivated(QWidget *widget) + m_moleculeModel->setActiveMolecule(m_molecule); + } + } ++#ifdef AVO_USE_VTK + else if (vtkGLWidget *vtkWidget = qobject_cast<vtkGLWidget*>(widget)) { + bool firstRun = populatePluginModel(vtkWidget->sceneModel()); + m_sceneTreeView->setModel(&vtkWidget->sceneModel()); +@@ -851,6 +858,7 @@ void MainWindow::viewActivated(QWidget *widget) + m_moleculeModel->setActiveMolecule(m_molecule); + } + } ++#endif + updateWindowTitle(); + activeMoleculeEdited(); + } +@@ -1194,14 +1202,18 @@ void MainWindow::setActiveDisplayTypes(QStringList displayTypes) + { + ScenePluginModel *scenePluginModel(NULL); + GLWidget *glWidget(NULL); ++#ifdef AVO_USE_VTK + VTK::vtkGLWidget *vtkWidget(NULL); ++#endif + if ((glWidget = qobject_cast<GLWidget *>(m_multiViewWidget->activeWidget()))) { + scenePluginModel = &glWidget->sceneModel(); + } ++#ifdef AVO_USE_VTK + else if ((vtkWidget = + qobject_cast<VTK::vtkGLWidget *>(m_multiViewWidget->activeWidget()))) { + scenePluginModel = &vtkWidget->sceneModel(); + } ++#endif + + foreach (ScenePlugin *scene, scenePluginModel->scenePlugins()) + scene->setEnabled(false); +@@ -1211,8 +1223,10 @@ void MainWindow::setActiveDisplayTypes(QStringList displayTypes) + scene->setEnabled(true); + if (glWidget) + glWidget->updateScene(); ++#ifdef AVO_USE_VTK + else if (vtkWidget) + vtkWidget->updateScene(); ++#endif + } + + void MainWindow::undoEdit() +diff --git a/avogadro/viewfactory.cpp b/avogadro/viewfactory.cpp +index 28009be..15c6a44 100644 +--- a/avogadro/viewfactory.cpp ++++ b/avogadro/viewfactory.cpp +@@ -17,7 +17,9 @@ + #include "viewfactory.h" + + #include <avogadro/qtopengl/glwidget.h> +-#include <avogadro/vtk/vtkglwidget.h> ++#ifdef AVO_USE_VTK ++# include <avogadro/vtk/vtkglwidget.h> ++#endif + + namespace Avogadro { + +@@ -31,15 +33,22 @@ ViewFactory::~ViewFactory() + + QStringList ViewFactory::views() const + { +- return QStringList() << "3D View" << "VTK"; ++ QStringList views; ++ views << "3D View"; ++#ifdef AVO_USE_VTK ++ views << "VTK"; ++#endif ++ return views; + } + + QWidget * ViewFactory::createView(const QString &view) + { + if (view == "3D View") + return new QtOpenGL::GLWidget; ++#ifdef AVO_USE_VTK + else if (view == "VTK") + return new VTK::vtkGLWidget; ++#endif + return NULL; + } + |