2020-11-25 12:30:01 +01:00

58 lines
3.1 KiB
C++

/****************************************************************************
* MeshLab o o *
* A versatile mesh processing toolbox o o *
* _ O _ *
* Copyright(C) 2005 \/)\/ *
* Visual Computing Lab /\/| *
* ISTI - Italian National Research Council | *
* \ *
* All rights reserved. *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt) *
* for more details. *
* *
****************************************************************************/
#ifndef BASEIOPLUGIN_H
#define BASEIOPLUGIN_H
#include <common/ml_document/mesh_model.h>
#include <common/interfaces/iomesh_plugin_interface.h>
class BaseMeshIOPlugin : public QObject, public IOMeshPluginInterface
{
Q_OBJECT
MESHLAB_PLUGIN_IID_EXPORTER(IOMESH_PLUGIN_INTERFACE_IID)
Q_INTERFACES(IOMeshPluginInterface)
public:
BaseMeshIOPlugin() : IOMeshPluginInterface() {}
QString pluginName() const;
QList<FileFormat> importFormats() const;
QList<FileFormat> exportFormats() const;
void GetExportMaskCapability(const QString& format, int &capability, int &defaultBits) const;
bool open(const QString &formatName, const QString &fileName, MeshModel &m, int& mask, const RichParameterList & par, vcg::CallBackPos *cb = 0, QWidget *parent = 0);
bool save(const QString &formatName, const QString &fileName, MeshModel &m, const int mask, const RichParameterList & par, vcg::CallBackPos *cb = 0, QWidget *parent = 0);
//void initOpenParameter(const QString &format, MeshModel &/*m*/, RichParameterSet & par);
//void applyOpenParameter(const QString &format, MeshModel &m, const RichParameterSet &par);
void initPreOpenParameter(const QString &formatName, const QString &filename, RichParameterList &parlst);
void initSaveParameter(const QString &format, MeshModel &/*m*/, RichParameterList & par);
private:
static QString stlUnifyParName() { return QString("MeshLab::IO::STL::UnifyVertices"); }
};
#endif