diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index 6ab6e528d..28e48f8e1 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -47,7 +47,7 @@ set(HEADERS plugins/containers/decorate_plugin_container.h plugins/containers/edit_plugin_container.h plugins/containers/filter_plugin_container.h - plugins/containers/iomesh_plugin_container.h + plugins/containers/io_plugin_container.h plugins/containers/render_plugin_container.h plugins/interfaces/meshlab_plugin.h plugins/interfaces/meshlab_plugin_logger.h @@ -95,7 +95,7 @@ set(SOURCES plugins/containers/decorate_plugin_container.cpp plugins/containers/edit_plugin_container.cpp plugins/containers/filter_plugin_container.cpp - plugins/containers/iomesh_plugin_container.cpp + plugins/containers/io_plugin_container.cpp plugins/containers/render_plugin_container.cpp plugins/interfaces/meshlab_plugin_logger.cpp plugins/interfaces/decorate_plugin.cpp diff --git a/src/common/common.pro b/src/common/common.pro index e78eec996..f61c3d070 100644 --- a/src/common/common.pro +++ b/src/common/common.pro @@ -40,7 +40,7 @@ HEADERS += \ plugins/containers/decorate_plugin_container.h \ plugins/containers/edit_plugin_container.h \ plugins/containers/filter_plugin_container.h \ - plugins/containers/iomesh_plugin_container.h \ + plugins/containers/io_plugin_container.h \ plugins/containers/render_plugin_container.h \ plugins/interfaces/meshlab_plugin.h \ plugins/interfaces/meshlab_plugin_logger.h \ @@ -86,7 +86,7 @@ SOURCES += \ plugins/containers/decorate_plugin_container.cpp \ plugins/containers/edit_plugin_container.cpp \ plugins/containers/filter_plugin_container.cpp \ - plugins/containers/iomesh_plugin_container.cpp \ + plugins/containers/io_plugin_container.cpp \ plugins/containers/render_plugin_container.cpp \ plugins/interfaces/meshlab_plugin_logger.cpp \ plugins/interfaces/decorate_plugin.cpp \ diff --git a/src/common/plugins/containers/iomesh_plugin_container.cpp b/src/common/plugins/containers/io_plugin_container.cpp similarity index 51% rename from src/common/plugins/containers/iomesh_plugin_container.cpp rename to src/common/plugins/containers/io_plugin_container.cpp index 6a96c639b..b62aaff11 100644 --- a/src/common/plugins/containers/iomesh_plugin_container.cpp +++ b/src/common/plugins/containers/io_plugin_container.cpp @@ -1,90 +1,90 @@ -#include "iomesh_plugin_container.h" +#include "io_plugin_container.h" -IOMeshPluginContainer::IOMeshPluginContainer() +IOPluginContainer::IOPluginContainer() { } -size_t IOMeshPluginContainer::size() const +size_t IOPluginContainer::size() const { - return ioMeshPlugins.size(); + return ioPlugins.size(); } -void IOMeshPluginContainer::clear() +void IOPluginContainer::clear() { - ioMeshPlugins.clear(); + ioPlugins.clear(); inputMeshFormatToPluginMap.clear(); outputMeshFormatToPluginMap.clear(); inputRasterFormatToPluginMap.clear(); } -void IOMeshPluginContainer::pushIOMeshPlugin(IOPlugin* iIOMesh) +void IOPluginContainer::pushIOPlugin(IOPlugin* iIO) { - ioMeshPlugins.push_back(iIOMesh); + ioPlugins.push_back(iIO); //add input formats to inputFormatMap - for (const FileFormat& ff : iIOMesh->importFormats()){ + for (const FileFormat& ff : iIO->importFormats()){ for (const QString& currentExtension : ff.extensions) { if (! inputMeshFormatToPluginMap.contains(currentExtension.toLower())) { - inputMeshFormatToPluginMap.insert(currentExtension.toLower(), iIOMesh); + inputMeshFormatToPluginMap.insert(currentExtension.toLower(), iIO); } } } //add output formats to outputFormatMap - for (const FileFormat& ff : iIOMesh->exportFormats()){ + for (const FileFormat& ff : iIO->exportFormats()){ for (const QString& currentExtension : ff.extensions) { if (! outputMeshFormatToPluginMap.contains(currentExtension.toLower())) { - outputMeshFormatToPluginMap.insert(currentExtension.toLower(), iIOMesh); + outputMeshFormatToPluginMap.insert(currentExtension.toLower(), iIO); } } } //add input raster formats to inputFormatMap - for (const FileFormat& ff : iIOMesh->importRasterFormats()){ + for (const FileFormat& ff : iIO->importRasterFormats()){ for (const QString& currentExtension : ff.extensions) { if (! inputRasterFormatToPluginMap.contains(currentExtension.toLower())) { - inputRasterFormatToPluginMap.insert(currentExtension.toLower(), iIOMesh); + inputRasterFormatToPluginMap.insert(currentExtension.toLower(), iIO); } } } } -void IOMeshPluginContainer::eraseIOMeshPlugin(IOPlugin* iIOMesh) +void IOPluginContainer::eraseIOPlugin(IOPlugin* iIO) { - ioMeshPlugins.erase(std::find(ioMeshPlugins.begin(), ioMeshPlugins.end(), iIOMesh)); - for (const FileFormat& ff : iIOMesh->importFormats()){ + ioPlugins.erase(std::find(ioPlugins.begin(), ioPlugins.end(), iIO)); + for (const FileFormat& ff : iIO->importFormats()){ for (const QString& currentExtension : ff.extensions) { inputMeshFormatToPluginMap.remove(currentExtension.toLower()); } } - for (const FileFormat& ff : iIOMesh->exportFormats()){ + for (const FileFormat& ff : iIO->exportFormats()){ for (const QString& currentExtension : ff.extensions) { outputMeshFormatToPluginMap.remove(currentExtension.toLower()); } } - for (const FileFormat& ff : iIOMesh->importRasterFormats()){ + for (const FileFormat& ff : iIO->importRasterFormats()){ for (const QString& currentExtension : ff.extensions) { inputRasterFormatToPluginMap.remove(currentExtension.toLower()); } } } -bool IOMeshPluginContainer::isInputMeshFormatSupported(const QString& inputFormat) const +bool IOPluginContainer::isInputMeshFormatSupported(const QString& inputFormat) const { return inputMeshFormatToPluginMap.find(inputFormat.toLower()) != inputMeshFormatToPluginMap.end(); } -bool IOMeshPluginContainer::isOutputMeshFormatSupported(const QString& outputFormat) const +bool IOPluginContainer::isOutputMeshFormatSupported(const QString& outputFormat) const { return outputMeshFormatToPluginMap.find(outputFormat.toLower()) != outputMeshFormatToPluginMap.end(); } -bool IOMeshPluginContainer::isInputRasterFormatSupported(const QString& inputFormat) const +bool IOPluginContainer::isInputRasterFormatSupported(const QString& inputFormat) const { return inputRasterFormatToPluginMap.find(inputFormat.toLower()) != inputRasterFormatToPluginMap.end(); } -IOPlugin* IOMeshPluginContainer::inputMeshPlugin(const QString& inputFormat) const +IOPlugin* IOPluginContainer::inputMeshPlugin(const QString& inputFormat) const { auto it = inputMeshFormatToPluginMap.find(inputFormat.toLower()); if (it != inputMeshFormatToPluginMap.end()) @@ -92,7 +92,7 @@ IOPlugin* IOMeshPluginContainer::inputMeshPlugin(const QString& inputFormat) con return nullptr; } -IOPlugin* IOMeshPluginContainer::outputMeshPlugin(const QString& outputFormat) const +IOPlugin* IOPluginContainer::outputMeshPlugin(const QString& outputFormat) const { auto it = outputMeshFormatToPluginMap.find(outputFormat.toLower()); if (it != outputMeshFormatToPluginMap.end()) @@ -100,7 +100,7 @@ IOPlugin* IOMeshPluginContainer::outputMeshPlugin(const QString& outputFormat) c return nullptr; } -IOPlugin* IOMeshPluginContainer::inputRasterPlugin(const QString& inputFormat) const +IOPlugin* IOPluginContainer::inputRasterPlugin(const QString& inputFormat) const { auto it = inputRasterFormatToPluginMap.find(inputFormat.toLower()); if (it != inputRasterFormatToPluginMap.end()) @@ -108,38 +108,38 @@ IOPlugin* IOMeshPluginContainer::inputRasterPlugin(const QString& inputFormat) c return nullptr; } -QStringList IOMeshPluginContainer::inputMeshFormatList() const +QStringList IOPluginContainer::inputMeshFormatList() const { return inputMeshFormatToPluginMap.keys(); } -QStringList IOMeshPluginContainer::outputMeshFormatList() const +QStringList IOPluginContainer::outputMeshFormatList() const { return outputMeshFormatToPluginMap.keys(); } -QStringList IOMeshPluginContainer::inputRasterFormatList() const +QStringList IOPluginContainer::inputRasterFormatList() const { return inputRasterFormatToPluginMap.keys(); } -IOMeshPluginContainer::IOMeshPluginRangeIterator IOMeshPluginContainer::ioMeshPluginIterator(bool iterateAlsoDisabledPlugins) const +IOPluginContainer::IOPluginRangeIterator IOPluginContainer::ioPluginIterator(bool iterateAlsoDisabledPlugins) const { - return IOMeshPluginRangeIterator(this, iterateAlsoDisabledPlugins); + return IOPluginRangeIterator(this, iterateAlsoDisabledPlugins); } -ConstPluginIterator IOMeshPluginContainer::IOMeshPluginRangeIterator::begin() +ConstPluginIterator IOPluginContainer::IOPluginRangeIterator::begin() { - return ConstPluginIterator(pm->ioMeshPlugins, pm->ioMeshPlugins.begin(), b); + return ConstPluginIterator(pm->ioPlugins, pm->ioPlugins.begin(), b); } -ConstPluginIterator IOMeshPluginContainer::IOMeshPluginRangeIterator::end() +ConstPluginIterator IOPluginContainer::IOPluginRangeIterator::end() { - return ConstPluginIterator(pm->ioMeshPlugins, pm->ioMeshPlugins.end(), b); + return ConstPluginIterator(pm->ioPlugins, pm->ioPlugins.end(), b); } -IOMeshPluginContainer::IOMeshPluginRangeIterator::IOMeshPluginRangeIterator( - const IOMeshPluginContainer* pm, +IOPluginContainer::IOPluginRangeIterator::IOPluginRangeIterator( + const IOPluginContainer* pm, bool iterateAlsoDisabledPlugins) : pm(pm), b(iterateAlsoDisabledPlugins) { diff --git a/src/common/plugins/containers/iomesh_plugin_container.h b/src/common/plugins/containers/io_plugin_container.h similarity index 79% rename from src/common/plugins/containers/iomesh_plugin_container.h rename to src/common/plugins/containers/io_plugin_container.h index 14817ce90..8c6ee71fe 100644 --- a/src/common/plugins/containers/iomesh_plugin_container.h +++ b/src/common/plugins/containers/io_plugin_container.h @@ -21,29 +21,29 @@ * * ****************************************************************************/ -#ifndef MESHLAB_IOMESH_PLUGIN_CONTAINER_H -#define MESHLAB_IOMESH_PLUGIN_CONTAINER_H +#ifndef MESHLAB_IO_PLUGIN_CONTAINER_H +#define MESHLAB_IO_PLUGIN_CONTAINER_H #include "../interfaces/io_plugin.h" #include "generic_container_iterator.h" /** - * @brief The IOMeshPluginContainer class allows to organize - * all the IOMesh plugins contained in the PluginManager. + * @brief The IOPluginContainer class allows to organize + * all the IO plugins contained in the PluginManager. * * Note: plugins are not owned by this container, but by the PluginManager, * since each plugin can inherit from more than one PluginInterface. */ -class IOMeshPluginContainer +class IOPluginContainer { public: - class IOMeshPluginRangeIterator; - IOMeshPluginContainer(); + class IOPluginRangeIterator; + IOPluginContainer(); size_t size() const; void clear(); - void pushIOMeshPlugin(IOPlugin* iIOMesh); - void eraseIOMeshPlugin(IOPlugin* iIOMesh); + void pushIOPlugin(IOPlugin* iIO); + void eraseIOPlugin(IOPlugin* iIO); bool isInputMeshFormatSupported(const QString& inputFormat) const; bool isOutputMeshFormatSupported(const QString& outputFormat) const; @@ -56,27 +56,27 @@ public: QStringList outputMeshFormatList() const; QStringList inputRasterFormatList() const; - IOMeshPluginRangeIterator ioMeshPluginIterator(bool iterateAlsoDisabledPlugins = false) const; + IOPluginRangeIterator ioPluginIterator(bool iterateAlsoDisabledPlugins = false) const; private: - std::vector ioMeshPlugins; + std::vector ioPlugins; QMap inputMeshFormatToPluginMap; QMap outputMeshFormatToPluginMap; QMap inputRasterFormatToPluginMap; }; -class IOMeshPluginContainer::IOMeshPluginRangeIterator +class IOPluginContainer::IOPluginRangeIterator { - friend class IOMeshPluginContainer; + friend class IOPluginContainer; public: ConstPluginIterator begin(); ConstPluginIterator end(); private: - IOMeshPluginRangeIterator( - const IOMeshPluginContainer* pm, + IOPluginRangeIterator( + const IOPluginContainer* pm, bool iterateAlsoDisabledPlugins = false); - const IOMeshPluginContainer* pm; + const IOPluginContainer* pm; bool b; }; -#endif // MESHLAB_IOMESH_PLUGIN_CONTAINER_H +#endif // MESHLAB_IO_PLUGIN_CONTAINER_H diff --git a/src/common/plugins/interfaces/io_plugin.h b/src/common/plugins/interfaces/io_plugin.h index d0b0a05bb..eb52796ad 100644 --- a/src/common/plugins/interfaces/io_plugin.h +++ b/src/common/plugins/interfaces/io_plugin.h @@ -32,7 +32,7 @@ #include "../../ml_document/raster_model.h" /** - * @brief The IOMeshPlugin is the base class for all the single mesh loading plugins. + * @brief The IOPlugin is the base class for all the single mesh loading plugins. */ class IOPlugin : virtual public MeshLabPlugin, virtual public MeshLabPluginLogger { @@ -43,14 +43,18 @@ public: /** * @brief The importFormats function returns a list of all the * input file formats supported by the plugin. - * This function must be implemented on any IOMesh plugin. + * This function must be implemented on any IO plugin. + * If yout plugin does not import any mesh format, just return an + * empty list. */ virtual std::list importFormats() const = 0; /** * @brief The exportFormats function returns a list of all the * output file formats supported by the plugin. - * This function must be implemented on any IOMesh plugin. + * This function must be implemented on any IO plugin. + * If yout plugin does not export any mesh format, just return an + * empty list. */ virtual std::list exportFormats() const = 0; diff --git a/src/common/plugins/meshlab_plugin_type.cpp b/src/common/plugins/meshlab_plugin_type.cpp index d9e55c1af..49c48f32e 100644 --- a/src/common/plugins/meshlab_plugin_type.cpp +++ b/src/common/plugins/meshlab_plugin_type.cpp @@ -46,9 +46,9 @@ MeshLabPluginType::MeshLabPluginType(const MeshLabPlugin* fpi) : type(0) if (iFilter){ type |= FILTER; } - //IOMesh - const IOPlugin *iIOMesh = dynamic_cast(fpi); - if (iIOMesh) { + //IO + const IOPlugin *iIO = dynamic_cast(fpi); + if (iIO) { type |= IO; } @@ -82,7 +82,7 @@ bool MeshLabPluginType::isFilterPlugin() const return type & FILTER; } -bool MeshLabPluginType::isIOMeshPlugin() const +bool MeshLabPluginType::isIOPlugin() const { return type & IO; } @@ -123,7 +123,7 @@ QString MeshLabPluginType::pluginTypeString() const if (!type.isEmpty()) type += "|"; type += "Filter"; } - if (isIOMeshPlugin()){ + if (isIOPlugin()){ if (!type.isEmpty()) type += "|"; type += "IO"; } diff --git a/src/common/plugins/meshlab_plugin_type.h b/src/common/plugins/meshlab_plugin_type.h index 39f5441c3..52b262cf4 100644 --- a/src/common/plugins/meshlab_plugin_type.h +++ b/src/common/plugins/meshlab_plugin_type.h @@ -37,7 +37,7 @@ public: bool isDecoratePlugin() const; bool isEditPlugin() const; bool isFilterPlugin() const; - bool isIOMeshPlugin() const; + bool isIOPlugin() const; bool isRenderPlugin() const; bool isMultipleTypePlugin() const; diff --git a/src/common/plugins/plugin_manager.cpp b/src/common/plugins/plugin_manager.cpp index 8b3309ee4..9d5fc9a6c 100644 --- a/src/common/plugins/plugin_manager.cpp +++ b/src/common/plugins/plugin_manager.cpp @@ -207,8 +207,8 @@ void PluginManager::loadPlugin(const QString& fileName) if (type.isFilterPlugin()){ filterPlugins.pushFilterPlugin(qobject_cast(plugin)); } - if (type.isIOMeshPlugin()){ - ioMeshPlugins.pushIOMeshPlugin(qobject_cast(plugin)); + if (type.isIOPlugin()){ + ioPlugins.pushIOPlugin(qobject_cast(plugin)); } if (type.isRenderPlugin()){ renderPlugins.pushRenderPlugin(qobject_cast(plugin)); @@ -237,8 +237,8 @@ void PluginManager::unloadPlugin(MeshLabPlugin* ifp) if (type.isFilterPlugin()){ filterPlugins.eraseFilterPlugin(dynamic_cast(ifp)); } - if (type.isIOMeshPlugin()){ - ioMeshPlugins.eraseIOMeshPlugin(dynamic_cast(ifp)); + if (type.isIOPlugin()){ + ioPlugins.eraseIOPlugin(dynamic_cast(ifp)); } if (type.isRenderPlugin()){ renderPlugins.eraseRenderPlugin(dynamic_cast(ifp)); @@ -276,7 +276,7 @@ unsigned int PluginManager::size() const int PluginManager::numberIOPlugins() const { - return ioMeshPlugins.size(); + return ioPlugins.size(); } // Search among all the decorator plugins the one that contains a decoration with the given name @@ -292,62 +292,62 @@ QAction* PluginManager::filterAction(const QString& name) IOPlugin* PluginManager::inputMeshPlugin(const QString& inputFormat) const { - return ioMeshPlugins.inputMeshPlugin(inputFormat); + return ioPlugins.inputMeshPlugin(inputFormat); } IOPlugin* PluginManager::outputMeshPlugin(const QString& outputFormat) const { - return ioMeshPlugins.outputMeshPlugin(outputFormat); + return ioPlugins.outputMeshPlugin(outputFormat); } IOPlugin* PluginManager::inputRasterPlugin(const QString inputFormat) const { - return ioMeshPlugins.inputRasterPlugin(inputFormat); + return ioPlugins.inputRasterPlugin(inputFormat); } bool PluginManager::isInputMeshFormatSupported(const QString inputFormat) const { - return ioMeshPlugins.isInputMeshFormatSupported(inputFormat); + return ioPlugins.isInputMeshFormatSupported(inputFormat); } bool PluginManager::isOutputMeshFormatSupported(const QString outputFormat) const { - return ioMeshPlugins.isOutputMeshFormatSupported(outputFormat); + return ioPlugins.isOutputMeshFormatSupported(outputFormat); } bool PluginManager::isInputRasterFormatSupported(const QString inputFormat) const { - return ioMeshPlugins.isInputRasterFormatSupported(inputFormat); + return ioPlugins.isInputRasterFormatSupported(inputFormat); } QStringList PluginManager::inputMeshFormatList() const { - return ioMeshPlugins.inputMeshFormatList(); + return ioPlugins.inputMeshFormatList(); } QStringList PluginManager::outputMeshFormatList() const { - return ioMeshPlugins.outputMeshFormatList(); + return ioPlugins.outputMeshFormatList(); } QStringList PluginManager::inputRasterFormatList() const { - return ioMeshPlugins.inputRasterFormatList(); + return ioPlugins.inputRasterFormatList(); } QStringList PluginManager::inputMeshFormatListDialog() const { - return inputFormatListDialog(ioMeshPluginIterator()); + return inputFormatListDialog(ioPluginIterator()); } QStringList PluginManager::outputMeshFormatListDialog() const { - return outputFormatListDialog(ioMeshPluginIterator()); + return outputFormatListDialog(ioPluginIterator()); } QStringList PluginManager::inputRasterFormatListDialog() const { - return inputRasterFormatListDialog(ioMeshPluginIterator()); + return inputRasterFormatListDialog(ioPluginIterator()); } MeshLabPlugin* PluginManager::operator[](unsigned int i) const @@ -365,9 +365,9 @@ FilterPluginContainer::FilterPluginRangeIterator PluginManager::filterPluginIter return filterPlugins.filterPluginIterator(iterateAlsoDisabledPlugins); } -IOMeshPluginContainer::IOMeshPluginRangeIterator PluginManager::ioMeshPluginIterator(bool iterateAlsoDisabledPlugins) const +IOPluginContainer::IOPluginRangeIterator PluginManager::ioPluginIterator(bool iterateAlsoDisabledPlugins) const { - return ioMeshPlugins.ioMeshPluginIterator(iterateAlsoDisabledPlugins); + return ioPlugins.ioPluginIterator(iterateAlsoDisabledPlugins); } RenderPluginContainer::RenderPluginRangeIterator PluginManager::renderPluginIterator(bool iterateAlsoDisabledPlugins) const diff --git a/src/common/plugins/plugin_manager.h b/src/common/plugins/plugin_manager.h index 6c06e98b2..65156931b 100644 --- a/src/common/plugins/plugin_manager.h +++ b/src/common/plugins/plugin_manager.h @@ -27,7 +27,7 @@ #include "containers/decorate_plugin_container.h" #include "containers/edit_plugin_container.h" #include "containers/filter_plugin_container.h" -#include "containers/iomesh_plugin_container.h" +#include "containers/io_plugin_container.h" #include "containers/render_plugin_container.h" #include @@ -80,7 +80,7 @@ public: /** Member functions for range iterators **/ PluginRangeIterator pluginIterator(bool iterateAlsoDisabledPlugins = false) const; FilterPluginContainer::FilterPluginRangeIterator filterPluginIterator(bool iterateAlsoDisabledPlugins = false) const; - IOMeshPluginContainer::IOMeshPluginRangeIterator ioMeshPluginIterator(bool iterateAlsoDisabledPlugins = false) const; + IOPluginContainer::IOPluginRangeIterator ioPluginIterator(bool iterateAlsoDisabledPlugins = false) const; RenderPluginContainer::RenderPluginRangeIterator renderPluginIterator(bool iterateAlsoDisabledPlugins = false) const; DecoratePluginContainer::DecoratePluginRangeIterator decoratePluginIterator(bool iterateAlsoDisabledPlugins = false) const; EditPluginContainer::EditPluginFactoryRangeIterator editPluginFactoryIterator(bool iterateAlsoDisabledPlugins = false) const; @@ -93,7 +93,7 @@ private: //Plugin containers: used for better organization of each type of plugin // note: these containers do not own any plugin. Plugins are owned by the PluginManager - IOMeshPluginContainer ioMeshPlugins; + IOPluginContainer ioPlugins; FilterPluginContainer filterPlugins; RenderPluginContainer renderPlugins; DecoratePluginContainer decoratePlugins; diff --git a/src/meshlab/dialogs/plugin_info_dialog.cpp b/src/meshlab/dialogs/plugin_info_dialog.cpp index 0dc6ab996..3108e7d96 100644 --- a/src/meshlab/dialogs/plugin_info_dialog.cpp +++ b/src/meshlab/dialogs/plugin_info_dialog.cpp @@ -178,7 +178,7 @@ void PluginInfoDialog::populateTreeWidget() for(QAction *a: fpi->actions()) tmplist.push_back(a->text()); } - if (type.isIOMeshPlugin()){ + if (type.isIOPlugin()){ IOPlugin* iopi = dynamic_cast(fp); for(const FileFormat& f: iopi->importFormats()){ QString formats;