diff --git a/src/fgt/filter_fractal/filter_fractal.cpp b/src/fgt/filter_fractal/filter_fractal.cpp new file mode 100644 index 000000000..c52140656 --- /dev/null +++ b/src/fgt/filter_fractal/filter_fractal.cpp @@ -0,0 +1,117 @@ +/**************************************************************************** +* MeshLab o o * +* An extendible mesh processor o o * +* _ O _ * +* Copyright(C) 2005, 2006 \/)\/ * +* 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. * +* * +****************************************************************************/ + +#include +#include +#include "filter_fractal.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace vcg; + +FilterFractal::FilterFractal() +{ + typeList << CR_FRACTAL_TERRAIN; + FilterIDType tt; + foreach(tt , types()) + actionList << new QAction(filterName(tt), this); +} + +const QString FilterFractal::filterName(FilterIDType filterId) const +{ + switch (filterId) { + case CR_FRACTAL_TERRAIN: + return QString("Fractal terrain"); + break; + default: + assert(0); return QString("error"); + break; + } +} + +const QString FilterFractal::filterInfo(FilterIDType filterId) const +{ + switch (filterId) { + case CR_FRACTAL_TERRAIN: + return QString("Generates a fractal terrain"); + break; + default: + assert(0); return QString("error"); + break; + } +} + +const int FilterFractal::getRequirements(QAction*/*action*/) +{ + return MeshModel::MM_NONE; +} + +void FilterFractal::initParameterSet(QAction* filter,MeshModel &/*m*/, RichParameterSet & /*parent*/) +{ + return; +} + +bool FilterFractal::applyFilter(QAction* filter, MeshModel &/*m*/, RichParameterSet & /* par */, vcg::CallBackPos * /*cb*/) +{ + switch(ID(filter)) { + case CR_FRACTAL_TERRAIN: + return true; + break; + } + return false; +} + +bool FilterFractal::applyFilter(QAction* filter, MeshDocument &md, RichParameterSet & /*par*/, vcg::CallBackPos */*cb*/) +{ + return true; +} + +const MeshFilterInterface::FilterClass FilterFractal::getClass(QAction* filter) +{ + switch(ID(filter)) { + case CR_FRACTAL_TERRAIN: + return MeshFilterInterface::MeshCreation; + break; + default: assert(0); + return MeshFilterInterface::Generic; + } +} + +bool FilterFractal::autoDialog(QAction *) +{ + return true; +} + +Q_EXPORT_PLUGIN(FilterFractal) diff --git a/src/fgt/filter_fractal/filter_fractal.h b/src/fgt/filter_fractal/filter_fractal.h new file mode 100644 index 000000000..99961980f --- /dev/null +++ b/src/fgt/filter_fractal/filter_fractal.h @@ -0,0 +1,56 @@ +/**************************************************************************** +* MeshLab o o * +* A versatile mesh processing toolbox o o * +* _ O _ * +* Copyright(C) 2007 \/)\/ * +* 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 FILTERFRACTALPLUGIN_H +#define FILTERFRACTALPLUGIN_H + +#include +#include +#include + +#include +#include + +class FilterFractal : public QObject, public MeshFilterInterface +{ + Q_OBJECT + Q_INTERFACES(MeshFilterInterface) + + public: + enum {CR_FRACTAL_TERRAIN} ; + + FilterFractal(); + ~FilterFractal(){}; + + virtual const QString filterName(FilterIDType filter) const; + virtual const QString filterInfo(FilterIDType filter) const; + + virtual const int getRequirements(QAction *); + virtual bool autoDialog(QAction *); + virtual void initParameterSet(QAction *,MeshModel &/*m*/, RichParameterSet & /*parent*/); + virtual bool applyFilter(QAction * /*filter*/, MeshModel &/*m*/, RichParameterSet & /* par */, vcg::CallBackPos * /*cb*/); + virtual bool applyFilter(QAction* filter, MeshDocument &md, RichParameterSet & par, vcg::CallBackPos *cb); + virtual const FilterClass getClass(QAction *); +}; + +#endif diff --git a/src/fgt/filter_fractal/filter_fractal.pro b/src/fgt/filter_fractal/filter_fractal.pro index 5331a002a..b253dee45 100644 --- a/src/fgt/filter_fractal/filter_fractal.pro +++ b/src/fgt/filter_fractal/filter_fractal.pro @@ -1,10 +1,10 @@ include (../../shared.pri) -HEADERS = filter_dirt.h -SOURCES = filter_dirt.cpp \ +HEADERS = filter_fractal.h +SOURCES = filter_fractal.cpp \ ../../meshlab/filterparameter.cpp\ - $$GLEWCODE -TARGET = filter_dirt + $$GLEWCODE +TARGET = filter_fractal TEMPLATE = lib QT += opengl -CONFIG += plugin \ No newline at end of file +CONFIG += plugin