Optimizer.h
Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 #ifndef __OPTIMIZER_H
00004 #define __OPTIMIZER_H
00005 
00006 #include <vector>
00007 #include "Configuration.h"
00008 
00009 namespace PathEngine {
00010   class PathPlanner;
00011 
00017   class Optimizer {
00018   public:
00023     Optimizer(PathPlanner* planner) : planner_(planner) {}
00024 
00028     virtual ~Optimizer() {}
00029 
00035     virtual std::vector<Configuration> optimize(const std::vector<Configuration> &path)=0;
00036   protected:
00037     PathPlanner *planner_;
00038   };
00039 
00043   typedef Optimizer* (*OptimizerNewFunc)(PathPlanner* planner);
00044 
00048   typedef void (*OptimizerDeleteFunc)(Optimizer* optimizer);
00049 
00050   template <class _New>
00051   Optimizer* OptimizerCreate(PathPlanner* planner) {
00052     return new _New(planner);
00053   }
00054 
00055   template <class _Delete>
00056   void OptimizerDelete(Optimizer* optimizer) {
00057     delete optimizer;
00058   }
00059 };
00060 
00061 #endif


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:18