mirror of
https://github.com/lucaspalomodevelop/meshlab.git
synced 2026-03-14 16:44:37 +00:00
Added Border selection filters
This commit is contained in:
parent
b98e6c9e03
commit
1969b6edec
@ -23,6 +23,9 @@
|
||||
/****************************************************************************
|
||||
History
|
||||
$Log$
|
||||
Revision 1.8 2007/02/08 15:59:46 cignoni
|
||||
Added Border selection filters
|
||||
|
||||
Revision 1.7 2006/11/29 00:59:20 cignoni
|
||||
Cleaned plugins interface; changed useless help class into a plain string
|
||||
|
||||
@ -66,6 +69,7 @@ const QString SelectionFilterPlugin::ST(FilterType filter)
|
||||
case FP_SELECT_DELETE : return QString("Delete Selected Faces");
|
||||
case FP_SELECT_ERODE : return QString("Erode Selection");
|
||||
case FP_SELECT_DILATE : return QString("Dilate Selection");
|
||||
case FP_SELECT_BORDER_FACES: return QString("Select Border Faces");
|
||||
}
|
||||
return QString("Unknown filter");
|
||||
}
|
||||
@ -78,6 +82,7 @@ SelectionFilterPlugin::SelectionFilterPlugin()
|
||||
FP_SELECT_DELETE <<
|
||||
FP_SELECT_ERODE <<
|
||||
FP_SELECT_DILATE <<
|
||||
FP_SELECT_BORDER_FACES <<
|
||||
FP_SELECT_INVERT;
|
||||
|
||||
FilterType tt;
|
||||
@ -119,10 +124,12 @@ bool SelectionFilterPlugin::applyFilter(QAction *action, MeshModel &m, FilterPar
|
||||
case FP_SELECT_INVERT : tri::UpdateSelection<CMeshO>::InvertFace(m.cm); break;
|
||||
case FP_SELECT_ERODE : tri::UpdateSelection<CMeshO>::VertexFromFaceStrict(m.cm);
|
||||
tri::UpdateSelection<CMeshO>::FaceFromVertexStrict(m.cm);
|
||||
break;
|
||||
break;
|
||||
case FP_SELECT_DILATE : tri::UpdateSelection<CMeshO>::VertexFromFaceLoose(m.cm);
|
||||
tri::UpdateSelection<CMeshO>::FaceFromVertexLoose(m.cm);
|
||||
break;
|
||||
case FP_SELECT_BORDER_FACES: tri::UpdateSelection<CMeshO>::FaceFromBorder(m.cm);
|
||||
break;
|
||||
|
||||
|
||||
default: assert(0);
|
||||
@ -139,6 +146,7 @@ bool SelectionFilterPlugin::applyFilter(QAction *action, MeshModel &m, FilterPar
|
||||
case FP_SELECT_INVERT : return tr("Invert the current set of selected faces");
|
||||
case FP_SELECT_NONE : return tr("Clear the current set of selected faces");
|
||||
case FP_SELECT_ALL : return tr("Select all the faces of the current mesh");
|
||||
case FP_SELECT_BORDER_FACES : return tr("Select all the faces on the boundary");
|
||||
}
|
||||
assert(0);
|
||||
return QString();
|
||||
@ -152,5 +160,12 @@ bool SelectionFilterPlugin::applyFilter(QAction *action, MeshModel &m, FilterPar
|
||||
ai.Author = ("Paolo Cignoni");
|
||||
return ai;
|
||||
}
|
||||
|
||||
|
||||
const int SelectionFilterPlugin::getRequirements(QAction *action)
|
||||
{
|
||||
switch(ID(action))
|
||||
{
|
||||
case FP_SELECT_BORDER_FACES: return MeshModel::MM_BORDERFLAG;
|
||||
}
|
||||
}
|
||||
Q_EXPORT_PLUGIN(SelectionFilterPlugin)
|
||||
|
||||
@ -22,6 +22,9 @@
|
||||
****************************************************************************/
|
||||
/* History
|
||||
$Log$
|
||||
Revision 1.5 2007/02/08 15:59:46 cignoni
|
||||
Added Border selection filters
|
||||
|
||||
Revision 1.4 2006/11/29 00:59:20 cignoni
|
||||
Cleaned plugins interface; changed useless help class into a plain string
|
||||
|
||||
@ -48,7 +51,7 @@ class SelectionFilterPlugin : public QObject, public MeshFilterInterface
|
||||
- FP -> Filter Plugin
|
||||
- name of the plugin separated by _
|
||||
*/
|
||||
enum { FP_SELECT_ALL, FP_SELECT_NONE, FP_SELECT_INVERT, FP_SELECT_DELETE, FP_SELECT_ERODE, FP_SELECT_DILATE} ;
|
||||
enum { FP_SELECT_ALL, FP_SELECT_NONE, FP_SELECT_INVERT, FP_SELECT_DELETE, FP_SELECT_ERODE, FP_SELECT_DILATE, FP_SELECT_BORDER_FACES} ;
|
||||
|
||||
SelectionFilterPlugin();
|
||||
~SelectionFilterPlugin();
|
||||
@ -58,7 +61,7 @@ class SelectionFilterPlugin : public QObject, public MeshFilterInterface
|
||||
virtual const QString ST(FilterType filter);
|
||||
virtual const FilterClass getClass(QAction *) {return MeshFilterInterface::Selection;};
|
||||
virtual bool getParameters(QAction *, QWidget *, MeshModel &m, FilterParameter &par){return true;};
|
||||
virtual const int getRequirements(QAction *){return 0;};
|
||||
virtual const int getRequirements(QAction *);
|
||||
virtual bool applyFilter(QAction *filter, MeshModel &m, FilterParameter & /*parent*/, vcg::CallBackPos * cb) ;
|
||||
|
||||
protected:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user