src/smp/planners/base_incremental.h

Go to the documentation of this file.
00001 
00010 #ifndef _SMP_PLANNER_INCREMENTAL_H_
00011 #define _SMP_PLANNER_INCREMENTAL_H_
00012 
00013 #include <smp/planners/base.h>
00014 
00015 
00016 namespace smp {
00017 
00019 
00027     template< class typeparams >
00028     class planner_incremental : public planner< typeparams > {
00029 
00030 
00031         typedef typename typeparams::state state_t;
00032 
00033         typedef vertex<typeparams> vertex_t;
00034         typedef planner<typeparams> planner_t;
00035 
00036         typedef trajectory<typeparams> trajectory_t;
00037 
00038         typedef sampler_base<typeparams> sampler_t;
00039         typedef distance_evaluator_base<typeparams> distance_evaluator_t;
00040         typedef extender_base<typeparams> extender_t;
00041         typedef collision_checker_base<typeparams> collision_checker_t;
00042         typedef model_checker_base<typeparams> model_checker_t;
00043 
00044     public:
00045 
00047 
00052         vertex_t *root_vertex;
00053     
00054         planner_incremental ();
00055         ~planner_incremental ();
00056         
00068         planner_incremental (sampler_t &sampler_in, distance_evaluator_t &distance_evaluator_in, extender_t &extender_in, 
00069                              collision_checker_t &collision_checker_in, model_checker_t &model_checker_in);
00070 
00071 
00085         int initialize (state_t *initial_state_in = 0);
00086 
00087 
00096         vertex_t* get_root_vertex() {return root_vertex;}
00097 
00106         virtual int iteration () = 0;
00107     };
00108 
00109 
00110 }
00111 
00112 #endif