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 Optimizer;
00011   class PathPlanner;
00012 
00016   typedef Optimizer* (*OptimizerNewFunc)(PathPlanner* planner);
00017 
00021   typedef void (*OptimizerDeleteFunc)(Optimizer* optimizer);
00022 
00023   template <class _New>
00024   Optimizer* OptimizerCreate(PathPlanner* planner) {
00025     return new _New(planner);
00026   }
00027 
00028   template <class _Delete>
00029   void OptimizerDelete(Optimizer* optimizer) {
00030     delete optimizer;
00031   }
00032 
00038   class Optimizer {
00039   public:
00044     Optimizer(PathPlanner* planner) : planner_(planner) {}
00045 
00049     virtual ~Optimizer() {}
00050 
00056     virtual std::vector<Configuration> optimize(const std::vector<Configuration> &path)=0;
00057   protected:
00058     PathPlanner *planner_;
00059   };
00060 };
00061 
00062 #endif


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Sun Apr 2 2017 03:43:56