From 446ca00dab194a772f5f8aff5a761ceefef14d75 Mon Sep 17 00:00:00 2001 From: 133470 Date: Tue, 29 Jan 2019 15:50:09 +1100 Subject: [PATCH] - added a meshmodel default destructor --- src/common/meshmodel.h | 5 ++++- src/common/scriptinterface.cpp | 26 ++++++++++++++++++++++++++ src/common/scriptinterface.h | 2 ++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/common/meshmodel.h b/src/common/meshmodel.h index 1f855319a..0f573b724 100644 --- a/src/common/meshmodel.h +++ b/src/common/meshmodel.h @@ -130,7 +130,10 @@ public: MeshModel(MeshDocument *parent, QString fullFileName, QString labelName); MeshModel(MeshModel* cp); - + ~MeshModel() + { + } + MeshDocument *parent; CMeshO cm; diff --git a/src/common/scriptinterface.cpp b/src/common/scriptinterface.cpp index 47956b452..41c71a2c0 100644 --- a/src/common/scriptinterface.cpp +++ b/src/common/scriptinterface.cpp @@ -635,6 +635,20 @@ float EnvWrap::evalFloat(const QString& nm) return float(); } +MESHLAB_SCALAR EnvWrap::evalReal(const QString& nm) +{ + try + { + double result = evalDouble(nm); + return (MESHLAB_SCALAR)result; + } + catch (ExpressionHasNotThisTypeException& /*exc*/) + { + throw ExpressionHasNotThisTypeException("Real", nm); + } + return MESHLAB_SCALAR(); +} + int EnvWrap::evalInt(const QString& nm) { try @@ -661,6 +675,18 @@ vcg::Point3f EnvWrap::evalVec3(const QString& nm) return vcg::Point3f(); } +vcg::Point3 EnvWrap::evalVec3Real(const QString& nm) +{ + QScriptValue result = evalExp(nm); + QVariant resVar = result.toVariant(); + QVariantList resList = resVar.toList(); + if (resList.size() == 3) + return vcg::Point3(resList[0].toReal(), resList[1].toReal(), resList[2].toReal()); + else + throw ExpressionHasNotThisTypeException("Vec3", nm); + return vcg::Point3(); +} + int EnvWrap::evalEnum(const QString& nm) { return evalInt(nm); diff --git a/src/common/scriptinterface.h b/src/common/scriptinterface.h index 12c3c16d2..fe7a61f39 100644 --- a/src/common/scriptinterface.h +++ b/src/common/scriptinterface.h @@ -250,8 +250,10 @@ public: bool evalBool(const QString& nm); double evalDouble(const QString& nm); float evalFloat( const QString& nm ); + MESHLAB_SCALAR evalReal(const QString& nm); int evalInt( const QString& nm ); vcg::Point3f evalVec3(const QString& nm); + vcg::Point3 evalVec3Real(const QString& nm); QColor evalColor(const QString& nm); /*QString getExpType(const QString& nm);*/ QString evalString(const QString& nm);