Commit 9e0ebdd31257d7c9f05572d94ab6cd225436d6f9
Merge pull request #118 from biometrics/decouple_variantlist
Decouple variantlist
Showing
5 changed files
with
28 additions
and
36 deletions
openbr/core/qtutils.cpp
| @@ -399,33 +399,31 @@ void showFile(const QString &file) | @@ -399,33 +399,31 @@ void showFile(const QString &file) | ||
| 399 | 399 | ||
| 400 | QString toString(const QVariant &variant) | 400 | QString toString(const QVariant &variant) |
| 401 | { | 401 | { |
| 402 | - if (variant.canConvert(QVariant::String)) | ||
| 403 | - return variant.toString(); | ||
| 404 | - else if(variant.canConvert(QVariant::PointF)) { | ||
| 405 | - QPointF pt = qvariant_cast<QPointF>(variant); | ||
| 406 | - return QString("(%1,%2)").arg(QString::number(pt.x()), | ||
| 407 | - QString::number(pt.y())); | ||
| 408 | - } | ||
| 409 | - else if (variant.canConvert(QVariant::RectF)) { | 402 | + if (variant.canConvert(QVariant::List)) return toString(qvariant_cast<QVariantList>(variant)); |
| 403 | + else if (variant.canConvert(QVariant::String)) return variant.toString(); | ||
| 404 | + else if (variant.canConvert(QVariant::PointF)) { | ||
| 405 | + QPointF point = qvariant_cast<QPointF>(variant); | ||
| 406 | + return QString("(%1,%2)").arg(QString::number(point.x()),QString::number(point.y())); | ||
| 407 | + } else if (variant.canConvert(QVariant::RectF)) { | ||
| 410 | QRectF rect = qvariant_cast<QRectF>(variant); | 408 | QRectF rect = qvariant_cast<QRectF>(variant); |
| 411 | return QString("(%1,%2,%3,%4)").arg(QString::number(rect.x()), | 409 | return QString("(%1,%2,%3,%4)").arg(QString::number(rect.x()), |
| 412 | QString::number(rect.y()), | 410 | QString::number(rect.y()), |
| 413 | QString::number(rect.width()), | 411 | QString::number(rect.width()), |
| 414 | QString::number(rect.height())); | 412 | QString::number(rect.height())); |
| 415 | } | 413 | } |
| 416 | - else if (variant.canConvert(QVariant::List)) { | ||
| 417 | - QString ret = QString("["); | ||
| 418 | - bool first = true; | ||
| 419 | - foreach (const QVariant &i, variant.toList()) { | ||
| 420 | - if (!first) | ||
| 421 | - ret += ","; | ||
| 422 | - else | ||
| 423 | - first = false; | ||
| 424 | - ret += toString(i); | ||
| 425 | - } | ||
| 426 | - ret += "]"; | ||
| 427 | - return ret; | ||
| 428 | - } | 414 | + |
| 415 | + return QString(); | ||
| 416 | +} | ||
| 417 | + | ||
| 418 | +QString toString(const QVariantList &variantList) | ||
| 419 | +{ | ||
| 420 | + QStringList variants; | ||
| 421 | + | ||
| 422 | + foreach(const QVariant &variant, variantList) | ||
| 423 | + variants.append(toString(variant)); | ||
| 424 | + | ||
| 425 | + if (!variants.isEmpty()) return "[" + variants.join(", ") + "]"; | ||
| 426 | + | ||
| 429 | return QString(); | 427 | return QString(); |
| 430 | } | 428 | } |
| 431 | 429 |
openbr/core/qtutils.h
| @@ -73,6 +73,7 @@ namespace QtUtils | @@ -73,6 +73,7 @@ namespace QtUtils | ||
| 73 | 73 | ||
| 74 | /**** Variant Utilities ****/ | 74 | /**** Variant Utilities ****/ |
| 75 | QString toString(const QVariant &variant); | 75 | QString toString(const QVariant &variant); |
| 76 | + QString toString(const QVariantList &variantList); | ||
| 76 | 77 | ||
| 77 | template <typename T> | 78 | template <typename T> |
| 78 | QVariantList toVariantList(const QList<T> &list) | 79 | QVariantList toVariantList(const QList<T> &list) |
openbr/openbr_plugin.cpp
| @@ -58,16 +58,7 @@ QString File::flat() const | @@ -58,16 +58,7 @@ QString File::flat() const | ||
| 58 | foreach (const QString &key, keys) { | 58 | foreach (const QString &key, keys) { |
| 59 | const QVariant value = this->value(key); | 59 | const QVariant value = this->value(key); |
| 60 | if (value.isNull()) values.append(key); | 60 | if (value.isNull()) values.append(key); |
| 61 | - else { | ||
| 62 | - if (QString(value.typeName()) == "QVariantList") { | ||
| 63 | - QStringList variants; | ||
| 64 | - foreach(const QVariant &variant, qvariant_cast<QVariantList>(value)) { | ||
| 65 | - variants.append(QtUtils::toString(variant)); | ||
| 66 | - } | ||
| 67 | - if (!variants.isEmpty()) values.append(key + "=[" + variants.join(", ") + "]"); | ||
| 68 | - } | ||
| 69 | - else values.append(key + "=" + QtUtils::toString(value)); | ||
| 70 | - } | 61 | + else values.append(key + "=" + QtUtils::toString(value)); |
| 71 | } | 62 | } |
| 72 | 63 | ||
| 73 | QString flat = name; | 64 | QString flat = name; |
openbr/plugins/stasm4.cpp
| @@ -133,12 +133,14 @@ class StasmTransform : public UntrainableTransform | @@ -133,12 +133,14 @@ class StasmTransform : public UntrainableTransform | ||
| 133 | if (!foundFace) { | 133 | if (!foundFace) { |
| 134 | qWarning("No face found in %s.", qPrintable(src.file.fileName())); | 134 | qWarning("No face found in %s.", qPrintable(src.file.fileName())); |
| 135 | } else { | 135 | } else { |
| 136 | + QList<QPointF> points; | ||
| 136 | for (int i = 0; i < nLandmarks; i++) { | 137 | for (int i = 0; i < nLandmarks; i++) { |
| 137 | QPointF point(landmarks[2 * i], landmarks[2 * i + 1]); | 138 | QPointF point(landmarks[2 * i], landmarks[2 * i + 1]); |
| 138 | - dst.file.appendPoint(point); | ||
| 139 | - if (i == 38) dst.file.set("StasmRightEye",point); | ||
| 140 | - else if (i == 39) dst.file.set("StasmLeftEye", point); | 139 | + points.append(point); |
| 141 | } | 140 | } |
| 141 | + dst.file.set("StasmRightEye", points[38]); | ||
| 142 | + dst.file.set("StasmLeftEye", points[39]); | ||
| 143 | + dst.file.appendPoints(points); | ||
| 142 | } | 144 | } |
| 143 | } | 145 | } |
| 144 | }; | 146 | }; |
openbr/plugins/template.cpp
| @@ -9,7 +9,7 @@ namespace br | @@ -9,7 +9,7 @@ namespace br | ||
| 9 | * \brief Retains only the values for the keys listed, to reduce template size | 9 | * \brief Retains only the values for the keys listed, to reduce template size |
| 10 | * \author Scott Klum \cite sklum | 10 | * \author Scott Klum \cite sklum |
| 11 | */ | 11 | */ |
| 12 | -class RetainTransform : public UntrainableTransform | 12 | +class KeepMetadataTransform : public UntrainableTransform |
| 13 | { | 13 | { |
| 14 | Q_OBJECT | 14 | Q_OBJECT |
| 15 | Q_PROPERTY(QStringList keys READ get_keys WRITE set_keys RESET reset_keys STORED false) | 15 | Q_PROPERTY(QStringList keys READ get_keys WRITE set_keys RESET reset_keys STORED false) |
| @@ -24,7 +24,7 @@ class RetainTransform : public UntrainableTransform | @@ -24,7 +24,7 @@ class RetainTransform : public UntrainableTransform | ||
| 24 | } | 24 | } |
| 25 | }; | 25 | }; |
| 26 | 26 | ||
| 27 | -BR_REGISTER(Transform, RetainTransform) | 27 | +BR_REGISTER(Transform, KeepMetadataTransform) |
| 28 | 28 | ||
| 29 | /*! | 29 | /*! |
| 30 | * \ingroup transforms | 30 | * \ingroup transforms |