removed crashes in the plugin. changed a message error.

This commit is contained in:
Guido Ranzuglia granzuglia 2012-03-21 07:49:34 +00:00
parent d2d3bbc195
commit 5e14f342a6
3 changed files with 12 additions and 10 deletions

View File

@ -195,7 +195,7 @@ public:
f = fl.back();
fl.pop_back();
if(!f->IsV())
if((f != NULL) && (!f->IsV()))
{
f->SetV();
if(vcg::IntersectionSphereTriangle<ScalarType, FaceType>

View File

@ -223,7 +223,7 @@ bool FilterFractal::applyFilter(QAction* filter, MeshDocument &md, RichParameter
CMeshO* samples = &(par.getMesh("samples_mesh")->cm);
if (samples->face.size() > 0) {
errorMessage = "The sample layer selected is not a sample layer.";
errorMessage = "The sample layer selected should be a points cloud.";
return false;
}
CMeshO* target = &(par.getMesh("target_mesh")->cm);
@ -295,6 +295,8 @@ int FilterFractal::postCondition(QAction *filter) const
switch(ID(filter))
{
case CR_FRACTAL_TERRAIN:
return MeshModel::MM_UNKNOWN;
break;
case FP_FRACTAL_MESH:
case FP_CRATERS:
return MeshModel::MM_VERTCOORD | MeshModel::MM_VERTNORMAL | MeshModel::MM_FACENORMAL | MeshModel::MM_VERTQUALITY | MeshModel::MM_FACEFLAG;

View File

@ -40,17 +40,17 @@ public:
FilterFractal();
~FilterFractal(){}
virtual QString filterName(FilterIDType filter) const;
virtual QString filterInfo(FilterIDType filter) const;
QString filterName(FilterIDType filter) const;
QString filterInfo(FilterIDType filter) const;
virtual int getRequirements(QAction *);
virtual void initParameterSet(QAction*, MeshModel&, RichParameterSet &){assert(0);}
virtual void initParameterSet(QAction *, MeshDocument &, RichParameterSet &);
int getRequirements(QAction *);
void initParameterSet(QAction*, MeshModel&, RichParameterSet &){assert(0);}
void initParameterSet(QAction *, MeshDocument &, RichParameterSet &);
virtual bool applyFilter (QAction* filter, MeshDocument &md, RichParameterSet & par, vcg::CallBackPos *cb);
bool applyFilter (QAction* filter, MeshDocument &md, RichParameterSet & par, vcg::CallBackPos *cb);
virtual int postCondition(QAction *action) const;
virtual FilterClass getClass(QAction *);
int postCondition(QAction *action) const;
FilterClass getClass(QAction *);
private:
void initParameterSetForFractalDisplacement (QAction *, MeshDocument &, RichParameterSet &);