Aikido
CartesianProductWeighted.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_DISTANCE_CARTESIANPRODUCTWEIGHTED_HPP_
2 #define AIKIDO_DISTANCE_CARTESIANPRODUCTWEIGHTED_HPP_
3 
6 
7 namespace aikido {
8 namespace distance {
9 
15 {
16 public:
24  std::shared_ptr<const statespace::CartesianProduct> _space,
25  std::vector<DistanceMetricPtr> _metrics);
26 
35  std::shared_ptr<statespace::CartesianProduct> _space,
36  std::vector<std::pair<DistanceMetricPtr, double>> _metrics);
37 
38  // Documentation inherited
40 
46  double distance(
47  const statespace::StateSpace::State* _state1,
48  const statespace::StateSpace::State* _state2) const override;
49 
50 private:
51  std::shared_ptr<const statespace::CartesianProduct> mStateSpace;
52  std::vector<std::pair<DistanceMetricPtr, double>> mMetrics;
53 };
54 
55 } // namespace distance
56 } // namespace aikido
57 
58 #endif
aikido::distance::CartesianProductWeighted::distance
double distance(const statespace::StateSpace::State *_state1, const statespace::StateSpace::State *_state2) const override
Computes distance between two states as the weighted sum of distances between their matching subcompo...
aikido::distance::CartesianProductWeighted::getStateSpace
statespace::ConstStateSpacePtr getStateSpace() const override
Get the StateSpace associated with this metric.
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::distance::CartesianProductWeighted::mStateSpace
std::shared_ptr< const statespace::CartesianProduct > mStateSpace
Definition: CartesianProductWeighted.hpp:51
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::distance::CartesianProductWeighted
Implements a distance metric on a CartesianProduct.
Definition: CartesianProductWeighted.hpp:14
CartesianProduct.hpp
DistanceMetric.hpp
aikido::distance::DistanceMetric
Implements a distance metric defined on a StateSpace.
Definition: DistanceMetric.hpp:13
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
aikido::distance::CartesianProductWeighted::mMetrics
std::vector< std::pair< DistanceMetricPtr, double > > mMetrics
Definition: CartesianProductWeighted.hpp:52
aikido::distance::CartesianProductWeighted::CartesianProductWeighted
CartesianProductWeighted(std::shared_ptr< const statespace::CartesianProduct > _space, std::vector< DistanceMetricPtr > _metrics)
Constructor.