1 /**************************************************************************** 2 * MeshLab o o * 3 * A versatile mesh processing toolbox o o * 4 * _ O _ * 5 * Copyright(C) 2007 \/)\/ * 6 * Visual Computing Lab /\/| * 7 * ISTI - Italian National Research Council | * 8 * \ * 9 * All rights reserved. * 10 * * 11 * This program is free software; you can redistribute it and/or modify * 12 * it under the terms of the GNU General Public License as published by * 13 * the Free Software Foundation; either version 2 of the License, or * 14 * (at your option) any later version. * 15 * * 16 * This program is distributed in the hope that it will be useful, * 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 19 * GNU General Public License (http://www.gnu.org/licenses/gpl.txt) * 20 * for more details. * 21 * * 22 ****************************************************************************/ 23 24 #ifndef FILTERISOPARAMPLUGIN_H 25 #define FILTERISOPARAMPLUGIN_H 26 27 #include <parametrizator.h> 28 #include <iso_parametrization.h> 29 #include <diamond_sampler.h> 30 #include <diam_parametrization.h> 31 #include <stat_remeshing.h> 32 #include <common/interfaces.h> 33 34 class FilterIsoParametrization : public QObject, public MeshFilterInterface 35 { 36 Q_OBJECT 37 MESHLAB_PLUGIN_IID_EXPORTER(MESH_FILTER_INTERFACE_IID) 38 Q_INTERFACES(MeshFilterInterface) 39 40 public: 41 enum {ISOP_PARAM, 42 ISOP_REMESHING, 43 ISOP_DIAMPARAM, 44 ISOP_TRANSFER 45 }; 46 47 FilterIsoParametrization(); 48 ~FilterIsoParametrization(); 49 50 virtual FilterClass getClass(QAction *); 51 virtual QString filterName(FilterIDType filter) const; 52 virtual QString filterInfo(FilterIDType filter) const; 53 54 virtual int getRequirements(QAction *); 55 56 virtual void initParameterSet(QAction *,MeshDocument&, RichParameterSet & /*parent*/); 57 virtual bool applyFilter(QAction *filter, MeshDocument&, RichParameterSet & /*parent*/, vcg::CallBackPos * cb); 58 int postCondition(QAction* filter) const; 59 void PrintStats(CMeshO *mesh); 60 FILTER_ARITY filterArity(QAction*) const; 61 62 }; 63 #endif 64