mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-15 17:14:39 +00:00
possibility to check version of plugin and if it has been built with double precision
This commit is contained in:
parent
fc763cb9f7
commit
32df9a9aaf
@ -24,6 +24,9 @@
|
||||
#ifndef MESHLAB_GLOBALS_H
|
||||
#define MESHLAB_GLOBALS_H
|
||||
|
||||
#define meshlab_xstr(a) mlstringify(a)
|
||||
#define mlstringify(a) #a
|
||||
|
||||
#include <QString>
|
||||
|
||||
class RichParameterList;
|
||||
@ -37,6 +40,17 @@ QString defaultShadersPath();
|
||||
RichParameterList& defaultGlobalParameterList();
|
||||
PluginManager& pluginManagerInstance();
|
||||
|
||||
//keep this functions inlined please
|
||||
inline std::string meshlabVersion()
|
||||
{
|
||||
return std::string(meshlab_xstr(MESHLAB_VERSION));
|
||||
};
|
||||
|
||||
inline bool builtWithDoublePrecision()
|
||||
{
|
||||
return std::string(meshlab_xstr(MESHLAB_SCALAR)) == std::string("double");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif // MESHLAB_GLOBALS_H
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
#include "mlapplication.h"
|
||||
#include "mlexception.h"
|
||||
#include <vcg/complex/complex.h>
|
||||
#include "globals.h"
|
||||
|
||||
#ifndef MESHLAB_VERSION
|
||||
#define MESHLAB_VERSION 2020.09
|
||||
@ -20,9 +21,6 @@
|
||||
#define ML_COMPILER_VER std::string()
|
||||
#endif
|
||||
|
||||
#define xstr(a) stringify(a)
|
||||
#define stringify(a) #a
|
||||
|
||||
#ifdef NDEBUG
|
||||
bool MeshLabApplication::notify( QObject * rec, QEvent * ev )
|
||||
{
|
||||
@ -46,7 +44,7 @@ bool MeshLabApplication::notify( QObject * rec, QEvent * ev )
|
||||
|
||||
const QString MeshLabApplication::appVer()
|
||||
{
|
||||
return QString(xstr(MESHLAB_VERSION));
|
||||
return QString::fromStdString(meshlab::meshlabVersion());
|
||||
}
|
||||
|
||||
const QString MeshLabApplication::compilerVersion()
|
||||
|
||||
@ -112,7 +112,13 @@ protected:
|
||||
virtual FilterIDType ID(QString name) const;
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define DECORATE_PLUGIN_INTERFACE_IID "vcg.meshlab.MeshDecorateInterface/1.0"
|
||||
|
||||
@ -105,6 +105,8 @@ class EditPluginInterfaceFactory
|
||||
{
|
||||
public:
|
||||
virtual ~EditPluginInterfaceFactory() {}
|
||||
|
||||
virtual std::pair<std::string, bool> getMLVersion() const = 0;
|
||||
|
||||
//returns the plugin name
|
||||
virtual QString pluginName() const = 0;
|
||||
@ -117,10 +119,22 @@ public:
|
||||
|
||||
//get the description for the given action
|
||||
virtual QString getEditToolDescription(const QAction *) = 0;
|
||||
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_EDIT_PLUGIN \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define EDIT_PLUGIN_INTERFACE_IID "vcg.meshlab.EditPluginInterface/1.0"
|
||||
|
||||
@ -40,7 +40,7 @@ Q_DECLARE_METATYPE(Eigen::VectorXd)
|
||||
*\brief The FilterPluginInterface class provide the interface of the filter plugins.
|
||||
*
|
||||
*/
|
||||
class FilterPluginInterface : public PluginInterface
|
||||
class FilterPluginInterface : virtual public PluginInterface
|
||||
{
|
||||
public:
|
||||
/**
|
||||
@ -233,7 +233,13 @@ protected:
|
||||
QString errorMessage;
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define FILTER_PLUGIN_INTERFACE_IID "vcg.meshlab.FilterPluginInterface/1.0"
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
|
||||
/** \brief The IOPluginInterface is the base class for all the single mesh loading plugins.
|
||||
*/
|
||||
class IOMeshPluginInterface : public PluginInterface
|
||||
class IOMeshPluginInterface : virtual public PluginInterface
|
||||
{
|
||||
public:
|
||||
IOMeshPluginInterface() : PluginInterface() { }
|
||||
@ -103,7 +103,13 @@ protected:
|
||||
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define IOMESH_PLUGIN_INTERFACE_IID "vcg.meshlab.IOMeshPluginInterface/1.0"
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
#include "../../utilities/file_format.h"
|
||||
#include "../../ml_document/raster_model.h"
|
||||
|
||||
class IORasterPluginInterface : public PluginInterface
|
||||
class IORasterPluginInterface : virtual public PluginInterface
|
||||
{
|
||||
public:
|
||||
IORasterPluginInterface() : PluginInterface() {}
|
||||
@ -59,7 +59,13 @@ protected:
|
||||
QString errorMessage;
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define IORASTER_PLUGIN_INTERFACE_IID "vcg.meshlab.IORasterPluginInterface/1.0"
|
||||
|
||||
@ -29,6 +29,7 @@
|
||||
|
||||
#include "../../GLLogStream.h"
|
||||
#include "../../parameters/rich_parameter_list.h"
|
||||
#include "../../globals.h"
|
||||
|
||||
/**
|
||||
* \brief The PluginInterface class is the base of all the plugin interfaces.
|
||||
@ -53,6 +54,15 @@ public:
|
||||
PluginInterface();
|
||||
virtual ~PluginInterface() {}
|
||||
|
||||
/**
|
||||
* This function will be automatically defined in your plugin class
|
||||
* when you use the MESHLAB_PLUGIN_IID_EXPORTER macro.
|
||||
* The only exception is for the Edit plugins (not EditFactory!):
|
||||
* in this case, this function is defined by the macro
|
||||
* MESHLAB_EDIT_PLUGIN
|
||||
**/
|
||||
virtual std::pair<std::string, bool> getMLVersion() const = 0;
|
||||
|
||||
/**
|
||||
* @brief This functions returns the name of the current plugin.
|
||||
* Must be implemented in every plugin.
|
||||
|
||||
@ -49,7 +49,7 @@ if(mp->visible) mp->Render(rm.drawMode,rm.colorMode,rm.textureMode);
|
||||
|
||||
class GLArea;
|
||||
|
||||
class RenderPluginInterface : public PluginInterface
|
||||
class RenderPluginInterface : virtual public PluginInterface
|
||||
{
|
||||
public:
|
||||
RenderPluginInterface() :PluginInterface() {}
|
||||
@ -62,7 +62,13 @@ public:
|
||||
virtual QList<QAction *> actions() = 0;
|
||||
};
|
||||
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) Q_PLUGIN_METADATA(IID x)
|
||||
#define MESHLAB_PLUGIN_IID_EXPORTER(x) \
|
||||
Q_PLUGIN_METADATA(IID x) \
|
||||
public: \
|
||||
virtual std::pair<std::string, bool> getMLVersion() const { \
|
||||
return std::make_pair(meshlab::meshlabVersion(), meshlab::builtWithDoublePrecision()); \
|
||||
} \
|
||||
private:
|
||||
#define MESHLAB_PLUGIN_NAME_EXPORTER(x)
|
||||
|
||||
#define RENDER_PLUGIN_INTERFACE_IID "vcg.meshlab.RenderPluginInterface/1.0"
|
||||
|
||||
@ -92,9 +92,9 @@ unsigned int PluginManager::size() const
|
||||
return allPlugins.size();
|
||||
}
|
||||
|
||||
int PluginManager::numberIOPlugins() const
|
||||
{
|
||||
return ioMeshPlugins.size();
|
||||
int PluginManager::numberIOPlugins() const
|
||||
{
|
||||
return ioMeshPlugins.size();
|
||||
}
|
||||
|
||||
// Search among all the decorator plugins the one that contains a decoration with the given name
|
||||
@ -221,99 +221,141 @@ PluginManager::EditPluginFactoryRangeIterator PluginManager::editPluginFactoryIt
|
||||
return EditPluginFactoryRangeIterator(this);
|
||||
}
|
||||
|
||||
void PluginManager::loadPlugin(QString& fileName)
|
||||
bool PluginManager::loadPlugin(const QString& fileName)
|
||||
{
|
||||
QString absfilepath = pluginsDir.absoluteFilePath(fileName);
|
||||
QFileInfo fin(absfilepath);
|
||||
QPluginLoader loader(absfilepath);
|
||||
QObject *plugin = loader.instance();
|
||||
if (plugin) {
|
||||
PluginInterface *iCommon = nullptr;
|
||||
if (!plugin) {
|
||||
qDebug() << loader.errorString();
|
||||
return false;
|
||||
}
|
||||
|
||||
PluginInterface* ip = dynamic_cast<PluginInterface *>(plugin);
|
||||
EditPluginInterfaceFactory* efp = qobject_cast<EditPluginInterfaceFactory *>(plugin);
|
||||
if (!ip && !efp){
|
||||
qDebug() << fin.fileName() << " is not a MeshLab plugin.";
|
||||
return false;
|
||||
}
|
||||
if (ip && ip->getMLVersion().second != MeshLabScalarTest<Scalarm>::doublePrecision()) {
|
||||
qDebug() << fin.fileName() << " has different floating point precision from the running MeshLab version.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if (efp && efp->getMLVersion().second != MeshLabScalarTest<Scalarm>::doublePrecision()) {
|
||||
qDebug() << fin.fileName() << " has different floating point precision from the running MeshLab version.";
|
||||
return false;
|
||||
}
|
||||
|
||||
//TODO: check in some way also the meshlab version of the plugin
|
||||
|
||||
if (ip) { //Classic MeshLab plugin (non Edit...)
|
||||
bool loadOk = false;
|
||||
//FilterPlugin
|
||||
FilterPluginInterface *iFilter = qobject_cast<FilterPluginInterface *>(plugin);
|
||||
if (iFilter)
|
||||
{
|
||||
iCommon = iFilter;
|
||||
bool loadFilterOK = true;
|
||||
for(QAction *filterAction : iFilter->actions()) {
|
||||
if(iFilter->getClass(filterAction)==FilterPluginInterface::Generic){
|
||||
qDebug() << "Missing class for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->getRequirements(filterAction) == int(MeshModel::MM_UNKNOWN)){
|
||||
qDebug() << "Missing requirements for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->getPreConditions(filterAction) == int(MeshModel::MM_UNKNOWN)){
|
||||
qDebug() << "Missing preconditions for "+fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->postCondition(filterAction) == int(MeshModel::MM_UNKNOWN )) {
|
||||
qDebug() << "Missing postcondition for "+fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->filterArity(filterAction) == FilterPluginInterface::UNKNOWN_ARITY ) {
|
||||
qDebug() << "Missing Arity for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
}
|
||||
if (loadFilterOK) {
|
||||
for(QAction *filterAction : iFilter->actions()) {
|
||||
filterAction->setData(QVariant(fileName));
|
||||
actionFilterMap.insert(filterAction->text(), filterAction);
|
||||
}
|
||||
filterPlugins.push_back(iFilter);
|
||||
}
|
||||
}
|
||||
loadOk = loadFilterPlugin(iFilter, fileName);
|
||||
//IOMesh
|
||||
IOMeshPluginInterface *iIOMesh = qobject_cast<IOMeshPluginInterface *>(plugin);
|
||||
if (iIOMesh)
|
||||
{
|
||||
iCommon = iIOMesh;
|
||||
ioMeshPlugins.push_back(iIOMesh);
|
||||
}
|
||||
|
||||
loadOk = loadIOMeshPlugin(iIOMesh, fileName);
|
||||
//IORaster
|
||||
IORasterPluginInterface* iIORaster = qobject_cast<IORasterPluginInterface*>(plugin);
|
||||
if (iIORaster){
|
||||
iCommon = iIORaster;
|
||||
ioRasterPlugins.push_back(iIORaster);
|
||||
}
|
||||
|
||||
if (iIORaster)
|
||||
loadOk = loadIORasterPlugin(iIORaster, fileName);
|
||||
//Decorate
|
||||
DecoratePluginInterface *iDecorator = qobject_cast<DecoratePluginInterface *>(plugin);
|
||||
if (iDecorator)
|
||||
{
|
||||
iCommon = iDecorator;
|
||||
decoratePlugins.push_back(iDecorator);
|
||||
for(QAction *decoratorAction : iDecorator->actions())
|
||||
{
|
||||
iDecorator->initGlobalParameterList(decoratorAction, meshlab::defaultGlobalParameterList());
|
||||
}
|
||||
}
|
||||
|
||||
loadOk = loadDecoratePlugin(iDecorator, fileName);
|
||||
//Render
|
||||
RenderPluginInterface *iRender = qobject_cast<RenderPluginInterface *>(plugin);
|
||||
if (iRender)
|
||||
{
|
||||
iCommon = iRender;
|
||||
renderPlugins.push_back(iRender);
|
||||
}
|
||||
loadOk = loadRenderPlugin(iRender, fileName);
|
||||
|
||||
EditPluginInterfaceFactory *iEditFactory = qobject_cast<EditPluginInterfaceFactory *>(plugin);
|
||||
if (iEditFactory)
|
||||
{
|
||||
editPlugins.push_back(iEditFactory);
|
||||
}
|
||||
else if (iCommon)
|
||||
{
|
||||
if (allPlugins.find(iCommon->pluginName()) == allPlugins.end()) {
|
||||
allPlugins[iCommon->pluginName()] = iCommon;
|
||||
if (loadOk){ //If the plugin has been loaded correctly
|
||||
if (allPlugins.find(ip->pluginName()) != allPlugins.end()) {
|
||||
qDebug() << "Warning: " << ip->pluginName() << " has been already loaded.\n";
|
||||
}
|
||||
else{
|
||||
qDebug() << "Warning: " << iCommon->pluginName() << " has been already loaded.\n";
|
||||
}
|
||||
} else {
|
||||
// qDebug("Plugin %s was loaded, but could not be casted to any known type.", qUtf8Printable(fileName));
|
||||
allPlugins[ip->pluginName()] = ip;
|
||||
}
|
||||
}
|
||||
else
|
||||
qDebug() << loader.errorString();
|
||||
if (efp) { //EditFactory Plugin
|
||||
//EditFactory
|
||||
EditPluginInterfaceFactory *iEditFactory = qobject_cast<EditPluginInterfaceFactory *>(plugin);
|
||||
if (iEditFactory)
|
||||
loadEditPlugin(iEditFactory, fileName);
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PluginManager::loadFilterPlugin(FilterPluginInterface* iFilter, const QString& fileName )
|
||||
{
|
||||
bool loadFilterOK = true;
|
||||
for(QAction *filterAction : iFilter->actions()) {
|
||||
if(iFilter->getClass(filterAction)==FilterPluginInterface::Generic){
|
||||
qDebug() << "Missing class for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->getRequirements(filterAction) == int(MeshModel::MM_UNKNOWN)){
|
||||
qDebug() << "Missing requirements for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->getPreConditions(filterAction) == int(MeshModel::MM_UNKNOWN)){
|
||||
qDebug() << "Missing preconditions for "+fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->postCondition(filterAction) == int(MeshModel::MM_UNKNOWN )) {
|
||||
qDebug() << "Missing postcondition for "+fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
if(iFilter->filterArity(filterAction) == FilterPluginInterface::UNKNOWN_ARITY ) {
|
||||
qDebug() << "Missing Arity for " +fileName + " " + filterAction->text();
|
||||
loadFilterOK = false;
|
||||
}
|
||||
}
|
||||
if (loadFilterOK) {
|
||||
for(QAction *filterAction : iFilter->actions()) {
|
||||
filterAction->setData(QVariant(fileName));
|
||||
actionFilterMap.insert(filterAction->text(), filterAction);
|
||||
}
|
||||
filterPlugins.push_back(iFilter);
|
||||
}
|
||||
return loadFilterOK;
|
||||
}
|
||||
|
||||
bool PluginManager::loadIOMeshPlugin(IOMeshPluginInterface* iIOMesh, const QString&)
|
||||
{
|
||||
ioMeshPlugins.push_back(iIOMesh);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PluginManager::loadIORasterPlugin(IORasterPluginInterface* iIORaster, const QString&)
|
||||
{
|
||||
ioRasterPlugins.push_back(iIORaster);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PluginManager::loadDecoratePlugin(DecoratePluginInterface* iDecorate, const QString&)
|
||||
{
|
||||
decoratePlugins.push_back(iDecorate);
|
||||
for(QAction *decoratorAction : iDecorate->actions()) {
|
||||
iDecorate->initGlobalParameterList(decoratorAction, meshlab::defaultGlobalParameterList());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PluginManager::loadRenderPlugin(RenderPluginInterface* iRender, const QString&)
|
||||
{
|
||||
renderPlugins.push_back(iRender);
|
||||
return true;
|
||||
}
|
||||
|
||||
bool PluginManager::loadEditPlugin(EditPluginInterfaceFactory* iEditFactory, const QString&)
|
||||
{
|
||||
editPlugins.push_back(iEditFactory);
|
||||
return true;
|
||||
}
|
||||
|
||||
void PluginManager::fillKnownIOFormats()
|
||||
|
||||
@ -156,7 +156,7 @@ public:
|
||||
private:
|
||||
QDir pluginsDir;
|
||||
|
||||
//all plugins
|
||||
//all plugins (except Edit plugins)
|
||||
std::map<QString, PluginInterface*> allPlugins;
|
||||
|
||||
//IOMeshPlugins
|
||||
@ -185,7 +185,14 @@ private:
|
||||
QVector<EditPluginInterfaceFactory*> editPlugins;
|
||||
|
||||
//Private member functions
|
||||
void loadPlugin(QString& filename);
|
||||
bool loadPlugin(const QString& filename);
|
||||
|
||||
bool loadFilterPlugin(FilterPluginInterface* iFilter, const QString& fileName);
|
||||
bool loadIOMeshPlugin(IOMeshPluginInterface* iIOMesh, const QString& fileName);
|
||||
bool loadIORasterPlugin(IORasterPluginInterface* iIORaster, const QString& fileName);
|
||||
bool loadDecoratePlugin(DecoratePluginInterface* iDecorate, const QString& fileName);
|
||||
bool loadRenderPlugin(RenderPluginInterface* iRender, const QString& fileName);
|
||||
bool loadEditPlugin(EditPluginInterfaceFactory* iEditFactory, const QString& fileName);
|
||||
|
||||
void fillKnownIOFormats();
|
||||
|
||||
|
||||
@ -41,7 +41,7 @@ New small samples
|
||||
class DecorateBackgroundPlugin : public QObject, public DecoratePluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(DecoratePluginInterface)
|
||||
QString decorationName(FilterIDType id) const;
|
||||
QString decorationInfo(FilterIDType id) const;
|
||||
|
||||
@ -38,7 +38,7 @@ typedef std::pair<Point3m,vcg::Color4b> PointPC; // this type is used to have a
|
||||
class DecorateBasePlugin : public QObject, public DecoratePluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(DecoratePluginInterface)
|
||||
QString decorationName(FilterIDType filter) const;
|
||||
QString decorationInfo(FilterIDType filter) const;
|
||||
|
||||
@ -35,7 +35,7 @@
|
||||
class DecorateShadowPlugin : public QObject, public DecoratePluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(DECORATE_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(DecoratePluginInterface)
|
||||
|
||||
enum {
|
||||
|
||||
@ -34,7 +34,8 @@
|
||||
class EditAlignPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
class EditAlignFactory : public QObject, public EditPluginInterfaceFactory
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_INTERFACE_FACTORY_IID)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(EDIT_PLUGIN_INTERFACE_FACTORY_IID)
|
||||
Q_INTERFACES(EditPluginInterfaceFactory)
|
||||
|
||||
public:
|
||||
|
||||
@ -31,8 +31,9 @@
|
||||
|
||||
class EditManipulatorsPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -49,8 +49,9 @@ public:
|
||||
|
||||
class EditMeasurePlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
EditMeasurePlugin();
|
||||
|
||||
@ -36,6 +36,7 @@
|
||||
class EditMutualCorrsPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
@ -51,7 +51,8 @@ enum PaintOptions {
|
||||
*/
|
||||
class EditPaintPlugin : public QObject, public EditPluginInterface {
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
EditPaintPlugin();
|
||||
|
||||
@ -36,6 +36,7 @@
|
||||
class EditPickPointsPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
class EditPointPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
@ -41,7 +41,8 @@ FIRST RELEASE
|
||||
class QualityMapperPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
private:
|
||||
QualityMapperDialog *_qualityMapperDialog;
|
||||
|
||||
@ -35,6 +35,7 @@
|
||||
class EditReferencingPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
@ -30,6 +30,7 @@
|
||||
class SampleEditPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
@ -28,7 +28,8 @@
|
||||
class EditSelectPlugin : public QObject, public EditPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
MESHLAB_EDIT_PLUGIN
|
||||
Q_INTERFACES(EditPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
@ -65,9 +66,9 @@ public:
|
||||
GLdouble mvMatrix_f[16];
|
||||
GLdouble prMatrix_f[16];
|
||||
GLint viewpSize[4];
|
||||
Eigen::Matrix<Scalarm,4,4> SelMatrix;
|
||||
Scalarm SelViewport[4];
|
||||
|
||||
Eigen::Matrix<Scalarm,4,4> SelMatrix;
|
||||
Scalarm SelViewport[4];
|
||||
|
||||
signals:
|
||||
void setDecorator(QString, bool);
|
||||
|
||||
|
||||
@ -31,9 +31,9 @@
|
||||
class AOGLWidget;
|
||||
class AmbientOcclusionPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
// Attributes
|
||||
protected:
|
||||
|
||||
@ -31,8 +31,8 @@
|
||||
class FilterCameraPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum { FP_SET_MESH_CAMERA,
|
||||
|
||||
@ -29,9 +29,9 @@
|
||||
|
||||
class CleanFilter : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
/* naming convention :
|
||||
|
||||
@ -30,9 +30,9 @@
|
||||
|
||||
class FilterColorProc : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum { CP_FILLING,
|
||||
|
||||
@ -27,9 +27,9 @@
|
||||
|
||||
class FilterCreate : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {
|
||||
|
||||
@ -38,9 +38,9 @@ Added the new sample filter plugin that removes border faces
|
||||
|
||||
class FilterCreateIso : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
/* naming convention :
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
|
||||
class FilterCSG : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
enum {
|
||||
CSG_OPERATION_INTERSECTION = 0,
|
||||
|
||||
@ -38,9 +38,9 @@ using namespace vcg;
|
||||
|
||||
class FilterDirt : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
protected:
|
||||
double x,y,z,nx,ny,nz,r,g,b,q,rad;
|
||||
//double x0,y0,z0,x1,y1,z1,x2,y2,z2,nx0,ny0,nz0,nx1,ny1,nz1,nx2,ny2,nz2,r0,g0,b0,r1,g1,b1,r2,g2,b2,q0,q1,q2;
|
||||
|
||||
@ -33,9 +33,9 @@
|
||||
|
||||
class FilterFractal : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
FilterFractal();
|
||||
|
||||
@ -28,9 +28,9 @@
|
||||
|
||||
class GlobalRegistrationPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum { FP_GLOBAL_REGISTRATION } ;
|
||||
|
||||
@ -37,9 +37,9 @@ class VisibleSet;
|
||||
|
||||
class FilterImgPatchParamPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES( FilterPluginInterface )
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES( FilterPluginInterface )
|
||||
|
||||
enum
|
||||
{
|
||||
|
||||
@ -33,9 +33,9 @@
|
||||
|
||||
class FilterIsoParametrization : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {ISOP_PARAM,
|
||||
|
||||
@ -30,9 +30,9 @@
|
||||
|
||||
class FilterLayerPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
class ExtraMeshFilterPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
enum RefPlane { REF_CENTER,REF_MIN,REF_ORIG};
|
||||
|
||||
|
||||
@ -28,9 +28,9 @@
|
||||
|
||||
class PlyMCPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {
|
||||
|
||||
@ -33,9 +33,9 @@ History
|
||||
|
||||
class QhullPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -57,9 +57,9 @@ public:
|
||||
|
||||
class QualityMapperFilter : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
private:
|
||||
Frange _meshMinMaxQuality;
|
||||
|
||||
@ -30,9 +30,9 @@
|
||||
|
||||
class ExtraSampleDynPlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum { FP_VERTEX_COLOR_NOISE } ;
|
||||
|
||||
@ -27,9 +27,9 @@
|
||||
|
||||
class FilterDocSampling : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {
|
||||
|
||||
@ -30,10 +30,10 @@
|
||||
#include <common/plugins/interfaces/filter_plugin_interface.h>
|
||||
#include <meshlabplugins/io_x3d/io_x3d.h>
|
||||
|
||||
class FilterSSynth : public QObject,public IOMeshPluginInterface, public FilterPluginInterface{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface IOMeshPluginInterface)
|
||||
class FilterSSynth : public QObject, public IOMeshPluginInterface, public FilterPluginInterface{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface IOMeshPluginInterface)
|
||||
public:
|
||||
enum {CR_SSYNTH} ;
|
||||
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
|
||||
class FilterTexturePlugin : public QObject, public FilterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(FILTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(FilterPluginInterface)
|
||||
|
||||
public:
|
||||
enum {
|
||||
|
||||
@ -31,9 +31,9 @@
|
||||
|
||||
class ExtraMeshIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
class BaseMeshIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -152,9 +152,9 @@ namespace io {
|
||||
|
||||
class BreMeshIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
public:
|
||||
|
||||
|
||||
@ -49,9 +49,9 @@
|
||||
|
||||
class ColladaIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
public:
|
||||
//std::map<MeshModel*,typename vcg::tri::io::InfoDAE*> _mp;
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
|
||||
class IOMPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -31,9 +31,9 @@
|
||||
|
||||
class ExpeIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -29,9 +29,9 @@
|
||||
|
||||
class PDBIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
|
||||
class TriIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -30,9 +30,9 @@
|
||||
|
||||
class TxtIOPlugin : public QObject, public IOMeshPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IOMeshPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -29,8 +29,8 @@
|
||||
class IORasterBasePlugin : public QObject, public IORasterPluginInterface
|
||||
{
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IORASTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IORasterPluginInterface)
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(IORASTER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(IORasterPluginInterface)
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -36,9 +36,9 @@
|
||||
#include "texture2D.h"
|
||||
|
||||
class RadianceScalingRendererPlugin : public QObject, public RenderPluginInterface {
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
MESHLAB_PLUGIN_IID_EXPORTER(RENDER_PLUGIN_INTERFACE_IID)
|
||||
Q_INTERFACES(RenderPluginInterface)
|
||||
Q_INTERFACES(RenderPluginInterface)
|
||||
|
||||
bool _supported;
|
||||
QList<QAction *> _actionList;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user