message: adding 3D combo metrics
diff: @@ -571,6 +571,69 @@ public:
  const double weight, DenseMatrix &A) const;
  };
  +/// 3D barrier Shape+Size (VS) metric (polyconvex).
  +class TMOP_Metric_328 : public TMOP_Combo_QualityMetric
  +{
  +protected:
  + mutable InvariantsEvaluator2D<double> ie;
  + double gamma;
  + TMOP_QualityMetric *sh_metric, *sz_metric;
  +
  +public:
  + TMOP_Metric_328(double gamma_) : gamma(gamma_),
  + sh_metric(new TMOP_Metric_301),
  + sz_metric(new TMOP_Metric_316)
  + {
  + // (1-gamma) mu_301 + gamma mu_316
  + AddQualityMetric(sh_metric, 1.-gamma_);
  + AddQualityMetric(sz_metric, gamma_);
  + }
  +
  + virtual ~TMOP_Metric_328() { delete sh_metric; delete sz_metric; }
  +};
  +
  +/// 3D barrier Shape+Size (VS) metric (polyconvex).
  +class TMOP_Metric_333 : public TMOP_Combo_QualityMetric
  +{
  +protected:
  + mutable InvariantsEvaluator2D<double> ie;
  + double gamma;
  + TMOP_QualityMetric *sh_metric, *sz_metric;
  +
  +public:
  + TMOP_Metric_333(double gamma_) : gamma(gamma_),
  + sh_metric(new TMOP_Metric_302),
  + sz_metric(new TMOP_Metric_316)
  + {
  + // (1-gamma) mu_302 + gamma mu_316
  + AddQualityMetric(sh_metric, 1.-gamma_);
  + AddQualityMetric(sz_metric, gamma_);
  + }
  +
  + virtual ~TMOP_Metric_333() { delete sh_metric; delete sz_metric; }
  +};
  +
  +/// 3D barrier Shape+Size (VS) metric (polyconvex).
  +class TMOP_Metric_334 : public TMOP_Combo_QualityMetric
  +{
  +protected:
  + mutable InvariantsEvaluator2D<double> ie;
  + double gamma;
  + TMOP_QualityMetric *sh_metric, *sz_metric;
  +
  +public:
  + TMOP_Metric_334(double gamma_) : gamma(gamma_),
  + sh_metric(new TMOP_Metric_303),
  + sz_metric(new TMOP_Metric_316)
  + {
  + // (1-gamma) mu_303 + gamma mu_316
  + AddQualityMetric(sh_metric, 1.-gamma_);
  + AddQualityMetric(sz_metric, gamma_);
  + }
  +
  + virtual ~TMOP_Metric_334() { delete sh_metric; delete sz_metric; }
  +};
  +
  /// Shifted barrier form of 3D metric 16 (volume, ideal barrier metric), 3D
  class TMOP_Metric_352 : public TMOP_QualityMetric
  {
  