diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 0d1e125b2..d8e9fce1b 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -31,7 +31,7 @@ set(HEADERS plugins/interfaces/filter_plugin.h plugins/interfaces/iomesh_plugin.h plugins/interfaces/ioraster_plugin.h - plugins/interfaces/render_plugin_interface.h + plugins/interfaces/render_plugin.h plugins/meshlab_plugin_type.h plugins/plugin_manager.h ml_document/helpers/mesh_document_state_data.h diff --git a/src/common/common.pro b/src/common/common.pro index 5dfefa5aa..e7f565297 100644 --- a/src/common/common.pro +++ b/src/common/common.pro @@ -50,7 +50,7 @@ HEADERS += \ plugins/interfaces/filter_plugin.h \ plugins/interfaces/iomesh_plugin.h \ plugins/interfaces/ioraster_plugin.h \ - plugins/interfaces/render_plugin_interface.h \ + plugins/interfaces/render_plugin.h \ plugins/meshlab_plugin_type.h \ plugins/plugin_manager.h \ ml_document/helpers/mesh_document_state_data.h \ diff --git a/src/common/plugins/containers/render_plugin_container.cpp b/src/common/plugins/containers/render_plugin_container.cpp index d8f515dfd..143b7ff21 100644 --- a/src/common/plugins/containers/render_plugin_container.cpp +++ b/src/common/plugins/containers/render_plugin_container.cpp @@ -32,12 +32,12 @@ void RenderPluginContainer::clear() renderPlugins.clear(); } -void RenderPluginContainer::pushRenderPlugin(RenderPluginInterface* iRender) +void RenderPluginContainer::pushRenderPlugin(RenderPlugin* iRender) { renderPlugins.push_back(iRender); } -void RenderPluginContainer::eraseRenderPlugin(RenderPluginInterface* iRender) +void RenderPluginContainer::eraseRenderPlugin(RenderPlugin* iRender) { renderPlugins.erase(std::find(renderPlugins.begin(), renderPlugins.end(), iRender)); } @@ -47,14 +47,14 @@ RenderPluginContainer::RenderPluginRangeIterator RenderPluginContainer::renderPl return RenderPluginRangeIterator(this, iterateAlsoDisabledPlugins); } -ConstPluginIterator RenderPluginContainer::RenderPluginRangeIterator::begin() +ConstPluginIterator RenderPluginContainer::RenderPluginRangeIterator::begin() { - return ConstPluginIterator(pm->renderPlugins, pm->renderPlugins.begin(), b); + return ConstPluginIterator(pm->renderPlugins, pm->renderPlugins.begin(), b); } -ConstPluginIterator RenderPluginContainer::RenderPluginRangeIterator::end() +ConstPluginIterator RenderPluginContainer::RenderPluginRangeIterator::end() { - return ConstPluginIterator(pm->renderPlugins, pm->renderPlugins.end(), b); + return ConstPluginIterator(pm->renderPlugins, pm->renderPlugins.end(), b); } RenderPluginContainer::RenderPluginRangeIterator::RenderPluginRangeIterator( diff --git a/src/common/plugins/containers/render_plugin_container.h b/src/common/plugins/containers/render_plugin_container.h index 15608bd8e..333d8578a 100644 --- a/src/common/plugins/containers/render_plugin_container.h +++ b/src/common/plugins/containers/render_plugin_container.h @@ -24,7 +24,7 @@ #ifndef MESHLAB_RENDER_PLUGIN_CONTAINER_H #define MESHLAB_RENDER_PLUGIN_CONTAINER_H -#include "../interfaces/render_plugin_interface.h" +#include "../interfaces/render_plugin.h" #include "generic_container_iterator.h" /** @@ -41,20 +41,20 @@ public: RenderPluginContainer(); void clear(); - void pushRenderPlugin(RenderPluginInterface* iRender); - void eraseRenderPlugin(RenderPluginInterface* iRender); + void pushRenderPlugin(RenderPlugin* iRender); + void eraseRenderPlugin(RenderPlugin* iRender); RenderPluginRangeIterator renderPluginIterator(bool iterateAlsoDisabledPlugins = false) const; private: - std::vector renderPlugins; + std::vector renderPlugins; }; class RenderPluginContainer::RenderPluginRangeIterator { friend class RenderPluginContainer; public: - ConstPluginIterator begin(); - ConstPluginIterator end(); + ConstPluginIterator begin(); + ConstPluginIterator end(); private: RenderPluginRangeIterator( const RenderPluginContainer* pm, diff --git a/src/common/plugins/interfaces/render_plugin_interface.h b/src/common/plugins/interfaces/render_plugin.h similarity index 70% rename from src/common/plugins/interfaces/render_plugin_interface.h rename to src/common/plugins/interfaces/render_plugin.h index 870869f44..7a2cde26b 100644 --- a/src/common/plugins/interfaces/render_plugin_interface.h +++ b/src/common/plugins/interfaces/render_plugin.h @@ -21,39 +21,39 @@ * * ****************************************************************************/ -#ifndef MESHLAB_RENDER_PLUGIN_INTERFACE_H -#define MESHLAB_RENDER_PLUGIN_INTERFACE_H +#ifndef MESHLAB_RENDER_PLUGIN_H +#define MESHLAB_RENDER_PLUGIN_H #include "meshlab_plugin.h" #include "../../ml_shared_data_context/ml_scene_gl_shared_data_context.h" /** -RenderPluginInterface -Used to customized the rendering process. -Rendering plugins are now responsible of the rendering of the whole MeshDocument and not only of a single MeshModel. - -The Render function is called in with the ModelView and Projection Matrices already set up, screen cleared and background drawn. -After the Render call the MeshLab frawework draw on the opengl context other decorations and the trackball, so it there is the -requirement for a rendering plugin is that it should leave the z-buffer in a coherent state. - -The typical rendering loop of a Render plugin is something like, : - - - -foreach(MeshModel * mp, meshDoc.meshList) -{ -if(mp->visible) mp->Render(rm.drawMode,rm.colorMode,rm.textureMode); -} - -*/ + * @brief The RenderPlugin class is used to customize the rendering + * process of the whole MeshDocument. + * + * The Render function is called in with the ModelView and Projection Matrices + * already set up, screen cleared and background drawn. + * After the Render call the MeshLab frawework draw on the opengl context other + * decorations and the trackball, so it there is the requirement for a rendering + * plugin is that it should leave the z-buffer in a coherent state. + * + * The typical rendering loop of a Render plugin is something like, : + * + * + * + * foreach(MeshModel * mp, meshDoc.meshList) + * { + * if(mp->visible) mp->Render(rm.drawMode,rm.colorMode,rm.textureMode); + * } + */ class GLArea; -class RenderPluginInterface : virtual public MeshLabPlugin +class RenderPlugin : virtual public MeshLabPlugin { public: - RenderPluginInterface() :MeshLabPlugin() {} - virtual ~RenderPluginInterface() {} + RenderPlugin() :MeshLabPlugin() {} + virtual ~RenderPlugin() {} virtual bool isSupported() = 0; virtual QList actions() = 0; @@ -72,7 +72,7 @@ public: virtual void refreshActions() {} }; -#define RENDER_PLUGIN_INTERFACE_IID "vcg.meshlab.RenderPluginInterface/1.0" -Q_DECLARE_INTERFACE(RenderPluginInterface, RENDER_PLUGIN_INTERFACE_IID) +#define RENDER_PLUGIN_IID "vcg.meshlab.RenderPlugin/1.0" +Q_DECLARE_INTERFACE(RenderPlugin, RENDER_PLUGIN_IID) #endif // MESHLAB_RENDER_PLUGIN_INTERFACE_H diff --git a/src/common/plugins/meshlab_plugin_type.cpp b/src/common/plugins/meshlab_plugin_type.cpp index e34978b2c..4b072206b 100644 --- a/src/common/plugins/meshlab_plugin_type.cpp +++ b/src/common/plugins/meshlab_plugin_type.cpp @@ -28,7 +28,7 @@ #include "interfaces/filter_plugin.h" #include "interfaces/iomesh_plugin.h" #include "interfaces/ioraster_plugin.h" -#include "interfaces/render_plugin_interface.h" +#include "interfaces/render_plugin.h" MeshLabPluginType::MeshLabPluginType(const MeshLabPluginFile* fpi) : type(0) { @@ -59,7 +59,7 @@ MeshLabPluginType::MeshLabPluginType(const MeshLabPluginFile* fpi) : type(0) } //Render - const RenderPluginInterface *iRender = dynamic_cast(fpi); + const RenderPlugin *iRender = dynamic_cast(fpi); if (iRender) { type |= RENDER; } diff --git a/src/common/plugins/plugin_manager.cpp b/src/common/plugins/plugin_manager.cpp index b905090ce..bfba5af8f 100644 --- a/src/common/plugins/plugin_manager.cpp +++ b/src/common/plugins/plugin_manager.cpp @@ -209,7 +209,7 @@ void PluginManager::loadPlugin(const QString& fileName) ioRasterPlugins.pushIORasterPlugin(qobject_cast(plugin)); } if (type.isRenderPlugin()){ - renderPlugins.pushRenderPlugin(qobject_cast(plugin)); + renderPlugins.pushRenderPlugin(qobject_cast(plugin)); } //set the QFileInfo to the plugin, and add it to the continer @@ -240,7 +240,7 @@ void PluginManager::unloadPlugin(MeshLabPluginFile* ifp) ioRasterPlugins.eraseIORasterPlugin(dynamic_cast(ifp)); } if (type.isRenderPlugin()){ - renderPlugins.eraseRenderPlugin(dynamic_cast(ifp)); + renderPlugins.eraseRenderPlugin(dynamic_cast(ifp)); } allPlugins.erase(it); delete ifp; diff --git a/src/meshlab/dialogs/plugin_info_dialog.cpp b/src/meshlab/dialogs/plugin_info_dialog.cpp index 696470fe7..8d865ce59 100644 --- a/src/meshlab/dialogs/plugin_info_dialog.cpp +++ b/src/meshlab/dialogs/plugin_info_dialog.cpp @@ -32,7 +32,7 @@ #include #include #include -#include +#include #include #include #include @@ -191,7 +191,7 @@ void PluginInfoDialog::populateTreeWidget() } } if (type.isRenderPlugin()){ - RenderPluginInterface* rpi = dynamic_cast(fp); + RenderPlugin* rpi = dynamic_cast(fp); for(QAction *a: rpi->actions()) tmplist.push_back(a->text()); } diff --git a/src/meshlab/glarea.h b/src/meshlab/glarea.h index eaaec8e4b..daa1aaaf0 100644 --- a/src/meshlab/glarea.h +++ b/src/meshlab/glarea.h @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include @@ -194,8 +194,8 @@ public: QList iPerDocDecoratorlist; QList &iCurPerMeshDecoratorList() { assert(this->md()->mm()) ; return iPerMeshDecoratorsListMap[this->md()->mm()->id()]; } - void setRenderer(RenderPluginInterface *rend, QAction *shader){ iRenderer = rend; currentShader = shader;} - RenderPluginInterface * getRenderer() { return iRenderer; } + void setRenderer(RenderPlugin *rend, QAction *shader){ iRenderer = rend; currentShader = shader;} + RenderPlugin * getRenderer() { return iRenderer; } QAction* getCurrentShaderAction() {return currentShader;} @@ -447,7 +447,7 @@ private: vcg::Point2i pointToPick; //shader support - RenderPluginInterface *iRenderer; + RenderPlugin *iRenderer; QAction *currentShader; const QAction *lastFilterRef; // reference to last filter applied QFont qFont; //font settings diff --git a/src/meshlab/mainwindow_Init.cpp b/src/meshlab/mainwindow_Init.cpp index 72ddec148..f30551bc5 100644 --- a/src/meshlab/mainwindow_Init.cpp +++ b/src/meshlab/mainwindow_Init.cpp @@ -856,7 +856,7 @@ void MainWindow::fillShadersMenu() qaNone->setCheckable(false); shadersMenu->addAction(qaNone); connect(qaNone, SIGNAL(triggered()), this, SLOT(applyRenderMode())); - for(RenderPluginInterface *iRender: PM.renderPluginIterator()) { + for(RenderPlugin *iRender: PM.renderPluginIterator()) { addToMenu(iRender->actions(), shadersMenu, SLOT(applyRenderMode())); } shadersMenu->addSeparator(); diff --git a/src/meshlab/mainwindow_RunTime.cpp b/src/meshlab/mainwindow_RunTime.cpp index 1caf93e97..2388eb79c 100644 --- a/src/meshlab/mainwindow_RunTime.cpp +++ b/src/meshlab/mainwindow_RunTime.cpp @@ -1413,7 +1413,7 @@ void MainWindow::applyRenderMode() GLA()->setRenderer(NULL,NULL); } // Make the call to the plugin core - RenderPluginInterface *iRenderTemp = qobject_cast(action->parent()); + RenderPlugin *iRenderTemp = qobject_cast(action->parent()); bool initsupport = false; if (currentViewContainer() == NULL) @@ -1561,7 +1561,7 @@ void MainWindow::addShaders() } //refresh actions of render plugins -> needed to update the shaders menu - for (RenderPluginInterface* renderPlugin : PM.renderPluginIterator()){ + for (RenderPlugin* renderPlugin : PM.renderPluginIterator()){ renderPlugin->refreshActions(); } fillRenderMenu(); //clean and refill menu diff --git a/src/meshlabplugins/render_gdp/meshrender.h b/src/meshlabplugins/render_gdp/meshrender.h index 9346e82bb..a147b80b3 100644 --- a/src/meshlabplugins/render_gdp/meshrender.h +++ b/src/meshlabplugins/render_gdp/meshrender.h @@ -25,17 +25,17 @@ #define SHADERRENDERPLUGIN_H #include -#include +#include #include "textfile.h" #include "shaderStructs.h" #include "shaderDialog.h" -class MeshShaderRenderPlugin : public QObject, public RenderPluginInterface +class MeshShaderRenderPlugin : public QObject, public RenderPlugin { Q_OBJECT - MESHLAB_PLUGIN_IID_EXPORTER(RENDER_PLUGIN_INTERFACE_IID) - Q_INTERFACES(RenderPluginInterface) + MESHLAB_PLUGIN_IID_EXPORTER(RENDER_PLUGIN_IID) + Q_INTERFACES(RenderPlugin) public: MeshShaderRenderPlugin(); diff --git a/src/meshlabplugins/render_radiance_scaling/radianceScalingRenderer.h b/src/meshlabplugins/render_radiance_scaling/radianceScalingRenderer.h index 0d06c0192..c7a99dc40 100644 --- a/src/meshlabplugins/render_radiance_scaling/radianceScalingRenderer.h +++ b/src/meshlabplugins/render_radiance_scaling/radianceScalingRenderer.h @@ -24,7 +24,7 @@ #define RADIANCESCALINGRENDERER_H #include -#include +#include #include #include @@ -35,10 +35,10 @@ #include "framebufferObject.h" #include "texture2D.h" -class RadianceScalingRendererPlugin : public QObject, public RenderPluginInterface { +class RadianceScalingRendererPlugin : public QObject, public RenderPlugin { Q_OBJECT - MESHLAB_PLUGIN_IID_EXPORTER(RENDER_PLUGIN_INTERFACE_IID) - Q_INTERFACES(RenderPluginInterface) + MESHLAB_PLUGIN_IID_EXPORTER(RENDER_PLUGIN_IID) + Q_INTERFACES(RenderPlugin) bool _supported; QList _actionList;