libmove3d-planners
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros Groups Pages
TrajEval.h
1 #ifndef TRAJEVAL_H
2 #define TRAJEVAL_H
3 
4 #include <boost/function.hpp>
5 #include "API/Trajectory/trajectory.hpp"
6 #include "Logging/Logger.h"
7 
8 
9 class TrajEval
10 {
11  MOVE3D_STATIC_LOGGER;
12 public:
13  TrajEval();
14  double evaluate(API::Trajectory & traj);
15 
16  static double maximum(API::Trajectory &t, std::vector<boost::function<double(API::Trajectory&)> > &funcs);
17  static double sum(API::Trajectory &t, std::vector<boost::function<double(API::Trajectory&)> > &funcs);
18  static double alpha(API::Trajectory &t,double a,boost::function<double(API::Trajectory &)> &f);
19 
21  static boost::function<double(API::Trajectory&)> getTrajFunction(std::string name);
22  static double traj_cost(API::Trajectory &t, std::string &fx_name);
23 
24  static double example(API::Trajectory &t);
25  static void run_example();
26 
27 
28 private:
29  std::vector<boost::function<double(API::Trajectory&)> > _min_operands_f, _max_operands_f, _sum_operands_f;
30 
31 };
32 
33 #endif // TRAJEVAL_H
This file implements macros to help with the logging, in a way similar to ROS, using log4cxx...
Definition: TrajEval.h:9
Definition: trajectory.hpp:40
static boost::function< double(API::Trajectory &)> getTrajFunction(std::string name)
see example
Definition: TrajEval.cpp:33