From 54603ff0ae4d50fcc1aab6e4e9eaeb1506088b24 Mon Sep 17 00:00:00 2001 From: Pierre Kraemer Date: Mon, 28 Jan 2013 13:23:02 +0100 Subject: [PATCH] SCHNApps: add some slots / import return mapHandler --- SCHNApps/Debug/CMakeLists.txt | 1 + SCHNApps/Plugins/importSurface/importSurface.cpp | 3 ++- SCHNApps/Plugins/importSurface/importSurface.h | 2 +- SCHNApps/Plugins/importVolume/importVolume.cpp | 3 ++- SCHNApps/Plugins/importVolume/importVolume.h | 2 +- SCHNApps/Release/CMakeLists.txt | 1 + SCHNApps/bin/init.py | 10 ++++++++++ SCHNApps/include/mapHandler.h | 4 ++++ SCHNApps/include/plugin.h | 6 +++++- SCHNApps/include/view.h | 4 ++++ SCHNApps/src/main.cpp | 5 ++++- 11 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 SCHNApps/bin/init.py diff --git a/SCHNApps/Debug/CMakeLists.txt b/SCHNApps/Debug/CMakeLists.txt index b8a2adca..ceb33c83 100644 --- a/SCHNApps/Debug/CMakeLists.txt +++ b/SCHNApps/Debug/CMakeLists.txt @@ -38,6 +38,7 @@ SET(SCHNApps_H_OBJECT_FILES ${SCHNApps_ROOT_DIR}/include/view.h ${SCHNApps_ROOT_DIR}/include/window.h ${SCHNApps_ROOT_DIR}/include/mapHandler.h + ${SCHNApps_ROOT_DIR}/include/plugin.h ${SCHNApps_ROOT_DIR}/include/viewButtonArea.h ${SCHNApps_ROOT_DIR}/include/dialogs/camerasDialog.h ${SCHNApps_ROOT_DIR}/include/dialogs/pluginsDialog.h diff --git a/SCHNApps/Plugins/importSurface/importSurface.cpp b/SCHNApps/Plugins/importSurface/importSurface.cpp index 4d53b184..29d08beb 100644 --- a/SCHNApps/Plugins/importSurface/importSurface.cpp +++ b/SCHNApps/Plugins/importSurface/importSurface.cpp @@ -15,7 +15,7 @@ bool ImportSurfacePlugin::enable() return true; } -void ImportSurfacePlugin::importFromFile(const QString& fileName) +MapHandlerGen* ImportSurfacePlugin::importFromFile(const QString& fileName) { QFileInfo fi(fileName); if(fi.exists()) @@ -43,6 +43,7 @@ void ImportSurfacePlugin::importFromFile(const QString& fileName) mh->updatePrimitives(Algo::Render::GL2::LINES); mh->updatePrimitives(Algo::Render::GL2::TRIANGLES); } + return mhg; } } diff --git a/SCHNApps/Plugins/importSurface/importSurface.h b/SCHNApps/Plugins/importSurface/importSurface.h index 22508ab4..cdad51f2 100644 --- a/SCHNApps/Plugins/importSurface/importSurface.h +++ b/SCHNApps/Plugins/importSurface/importSurface.h @@ -35,7 +35,7 @@ public: virtual void wheelEvent(View* view, int delta, int x, int y) {} public slots: - void importFromFile(const QString& fileName); + MapHandlerGen* importFromFile(const QString& fileName); void importFromFileDialog(); private: diff --git a/SCHNApps/Plugins/importVolume/importVolume.cpp b/SCHNApps/Plugins/importVolume/importVolume.cpp index 2fa19262..8eb67b06 100644 --- a/SCHNApps/Plugins/importVolume/importVolume.cpp +++ b/SCHNApps/Plugins/importVolume/importVolume.cpp @@ -15,7 +15,7 @@ bool ImportVolumePlugin::enable() return true; } -void ImportVolumePlugin::importFromFile(const QString& fileName) +MapHandlerGen* ImportVolumePlugin::importFromFile(const QString& fileName) { QFileInfo fi(fileName); if(fi.exists()) @@ -43,6 +43,7 @@ void ImportVolumePlugin::importFromFile(const QString& fileName) mh->updatePrimitives(Algo::Render::GL2::LINES); mh->updatePrimitives(Algo::Render::GL2::TRIANGLES); } + return mhg; } } diff --git a/SCHNApps/Plugins/importVolume/importVolume.h b/SCHNApps/Plugins/importVolume/importVolume.h index d6196930..9a2a4eb8 100644 --- a/SCHNApps/Plugins/importVolume/importVolume.h +++ b/SCHNApps/Plugins/importVolume/importVolume.h @@ -35,7 +35,7 @@ public: virtual void wheelEvent(View* view, int delta, int x, int y) {} public slots: - void importFromFile(const QString& fileName); + MapHandlerGen* importFromFile(const QString& fileName); void importFromFileDialog(); private: diff --git a/SCHNApps/Release/CMakeLists.txt b/SCHNApps/Release/CMakeLists.txt index 6dc10cfb..053a99e5 100644 --- a/SCHNApps/Release/CMakeLists.txt +++ b/SCHNApps/Release/CMakeLists.txt @@ -37,6 +37,7 @@ file( SET(SCHNApps_H_OBJECT_FILES ${SCHNApps_ROOT_DIR}/include/view.h ${SCHNApps_ROOT_DIR}/include/mapHandler.h + ${SCHNApps_ROOT_DIR}/include/plugin.h ${SCHNApps_ROOT_DIR}/include/window.h ${SCHNApps_ROOT_DIR}/include/viewButtonArea.h ${SCHNApps_ROOT_DIR}/include/dialogs/camerasDialog.h diff --git a/SCHNApps/bin/init.py b/SCHNApps/bin/init.py new file mode 100644 index 00000000..4408c144 --- /dev/null +++ b/SCHNApps/bin/init.py @@ -0,0 +1,10 @@ +importPlugin = schnapps.loadPlugin("ImportSurfacePlugin"); +differentialPropertiesPlugin = schnapps.loadPlugin("DifferentialPropertiesPlugin"); +renderPlugin = schnapps.loadPlugin("RenderPlugin"); + +hand = importPlugin.importFromFile("/home/kraemer/Media/Data/surface/midRes/handman_12k.off"); + +v = schnapps.getView("view_0"); + +schnapps.linkViewAndPlugin(v.getName(), renderPlugin.getName()); +schnapps.linkViewAndMap(v.getName(), hand.getName()); diff --git a/SCHNApps/include/mapHandler.h b/SCHNApps/include/mapHandler.h index 88add896..b12aab6b 100644 --- a/SCHNApps/include/mapHandler.h +++ b/SCHNApps/include/mapHandler.h @@ -29,6 +29,9 @@ public: virtual ~MapHandlerGen(); const QString& getName() const { return m_name; } + +public slots: + QString getName() { return m_name; } void setName(const QString& name) { m_name = name; } Window* getWindow() const { return m_window; } @@ -42,6 +45,7 @@ public: bool isUsed() const { return !l_views.empty(); } +public: void draw(Utils::GLSLShader* shader, int primitive) { m_render->draw(shader, primitive); } /********************************************************* diff --git a/SCHNApps/include/plugin.h b/SCHNApps/include/plugin.h index f551e217..1d7c5099 100644 --- a/SCHNApps/include/plugin.h +++ b/SCHNApps/include/plugin.h @@ -16,12 +16,16 @@ class Window; class Plugin : public QObject { + Q_OBJECT + public: Plugin(); virtual ~Plugin(); + const QString& getName() const { return m_name; } + public slots: - const QString& getName() { return m_name; } + QString getName() { return m_name; } void setName(const QString& name) { m_name = name; } const QString& getFilePath() { return m_filePath; } diff --git a/SCHNApps/include/view.h b/SCHNApps/include/view.h index 2ea752ff..fc82d9d5 100644 --- a/SCHNApps/include/view.h +++ b/SCHNApps/include/view.h @@ -32,6 +32,9 @@ public: ~View(); const QString& getName() const { return m_name; } + +public slots: + QString getName() { return m_name; } void setName(const QString& name) { m_name = name; } Window* getWindow() const { return m_window; } @@ -39,6 +42,7 @@ public: bool isCurrentView() const { return m_window->getCurrentView() == this; } +public: virtual void init(); virtual void preDraw(); virtual void draw(); diff --git a/SCHNApps/src/main.cpp b/SCHNApps/src/main.cpp index d16ec92b..1b11c1b1 100644 --- a/SCHNApps/src/main.cpp +++ b/SCHNApps/src/main.cpp @@ -1,4 +1,5 @@ #include +#include #include "PythonQt/PythonQt.h" #include "PythonQt/gui/PythonQtScriptingConsole.h" #include "window.h" @@ -29,7 +30,9 @@ int main(int argc, char* argv[]) schnapps.show(); pythonContext.addObject("schnapps", &schnapps); - pythonContext.evalFile(app.applicationDirPath() + QString("/init.py")); + QFileInfo fi(app.applicationDirPath() + QString("/init.py")); + if(fi.exists()) + pythonContext.evalFile(fi.filePath()); splash->finish(&schnapps); delete splash; -- GitLab