RobWorkProject  24.8.23-
MetricFactory Class Reference

Metric constructor functions. More...

#include <MetricFactory.hpp>

## Static Public Member Functions

template<class VectorType >
static Metric< VectorType >::Ptr makeEuclidean ()
Euclidean configuration metric. More...

template<class VectorType >
static Metric< VectorType >::Ptr makeWeightedEuclidean (const VectorType &weights)
Weighted Euclidean configuration metric. More...

template<class VectorType >
static Metric< VectorType >::Ptr makeInfinity ()
Infinity configuration metric. More...

template<class VectorType >
static Metric< VectorType >::Ptr makeWeightedInfinity (const VectorType &weights)
Weighted infinity configuration metric. More...

template<class VectorType >
static Metric< VectorType >::Ptr makeMahalanobis (const Eigen::Matrix< typename VectorType::value_type, Eigen::Dynamic, 1 > &omega)
Mahalanobis configuration metric. More...

template<class VectorType >
static Metric< VectorType >::Ptr makeManhattan ()
Manhattan configuration metric. More...

template<class VectorType >
static rw::core::Ptr< rw::math::Metric< VectorType > > makeWeightedManhattan (const VectorType &weights)
WeightedManhattan configuration metric. More...

template<class T >
static rw::core::Ptr< rw::math::Metric< rw::math::Rotation3D< T > > > makeRotation3DMetric ()
Metric computing distance between two rotations. More...

template<class T >
static rw::core::Ptr< rw::math::Metric< rw::math::Transform3D< T > > > makeTransform3DMetric (double linWeight, double angWeight)
Metric computing distance between two transformations. More...

## Detailed Description

Metric constructor functions.

The constructor functions are parameterized by a type of vector. Valid vector types include:

## ◆ makeEuclidean()

 static Metric::Ptr makeEuclidean ( )
inlinestatic

Euclidean configuration metric.

See class EuclideanMetric for details.

## ◆ makeInfinity()

 static Metric::Ptr makeInfinity ( )
inlinestatic

Infinity configuration metric.

See class InfinityMetric for details.

## ◆ makeMahalanobis()

 static Metric::Ptr makeMahalanobis ( const Eigen::Matrix< typename VectorType::value_type, Eigen::Dynamic, 1 > & omega )
inlinestatic

Mahalanobis configuration metric.

See class MahalanobisMetric for details.

## ◆ makeManhattan()

 static Metric::Ptr makeManhattan ( )
inlinestatic

Manhattan configuration metric.

See class ManhattanMetric for details.

## ◆ makeRotation3DMetric()

 static rw::core::Ptr > > makeRotation3DMetric ( )
inlinestatic

Metric computing distance between two rotations.

The metric is defined as the angle of the rw::math::EAA of the rotation.

## ◆ makeTransform3DMetric()

 static rw::core::Ptr > > makeTransform3DMetric ( double linWeight, double angWeight )
inlinestatic

Metric computing distance between two transformations.

The metric is defined as a weighted sum of the positional distance and the angle of the rw::math::EAA of the rotation.

Parameters
 linWeight [in] Positional weight. angWeight [in] Angular weight.

## ◆ makeWeightedEuclidean()

 static Metric::Ptr makeWeightedEuclidean ( const VectorType & weights )
inlinestatic

Weighted Euclidean configuration metric.

See class WeightedEuclideanMetric for details.

Parameters
 weights [in] Weights for the metric.
Returns
Weighted Euclidean metric.

## ◆ makeWeightedInfinity()

 static Metric::Ptr makeWeightedInfinity ( const VectorType & weights )
inlinestatic

Weighted infinity configuration metric.

See class WeightedInfinity for details.

Parameters
 weights [in] Weights for the metric.
Returns
Weighted infinity metric.

## ◆ makeWeightedManhattan()

 static rw::core::Ptr > makeWeightedManhattan ( const VectorType & weights )
inlinestatic

WeightedManhattan configuration metric.

See class WeightedManhattanMetric for details.

The documentation for this class was generated from the following file: