diff --git a/src/meshlab/filterparameter.cpp b/src/meshlab/filterparameter.cpp index 3b956f466..102a3ed43 100644 --- a/src/meshlab/filterparameter.cpp +++ b/src/meshlab/filterparameter.cpp @@ -123,7 +123,6 @@ void FilterParameterSet::addString (QString name, QString defaultVal, QStrin QString FilterParameterSet::getString(QString name) { assert(0); - } void FilterParameterSet::setString(QString name, QString newVal) { @@ -135,14 +134,38 @@ void FilterParameterSet::setString(QString name, QString newVal) Matrix44f FilterParameterSet::getMatrix44(QString name) { + FilterParameter &p=findParameter(name); + + assert(p.fieldType==FilterParameter::PARMATRIX); + assert(p.fieldVal.type()==QVariant::List); + + Matrix44f matrix; + QList matrixVals = p.fieldVal.toList(); + assert(matrixVals.size()==16); + for(int i=0;i<16;++i) + matrix.V()[i]=matrixVals[i].toDouble(); + return matrix; + } void FilterParameterSet::addMatrix44 (QString name, Matrix44f defaultVal, QString desc, QString tooltip) { + FilterParameter p(name,desc,tooltip); + + QList matrixVals; + for(int i=0;i<16;++i) + matrixVals.append(defaultVal.V()[i]); + p.fieldVal=matrixVals; + p.fieldType=FilterParameter::PARMATRIX; + paramList.push_back(p); } + + void FilterParameterSet::setMatrix44(QString name, Matrix44f newVal) { + assert(0); } + //-------------------------------------- void FilterParameterSet::addAbsPerc (QString name, float defaultVal, float minVal, float maxVal, QString desc, QString tooltip)