00001 00008 #ifndef _SMP_COST_EVALUATOR_TIME_H_ 00009 #define _SMP_COST_EVALUATOR_TIME_H_ 00010 00011 #include <smp/components/cost_evaluators/base.h> 00012 00013 00014 namespace smp { 00015 00017 00023 template< class typeparams > 00024 class cost_evaluator_time : public cost_evaluator_base<typeparams> { 00025 00026 00027 typedef typename typeparams::state state_t; 00028 typedef typename typeparams::input input_t; 00029 typedef typename typeparams::vertex_data vertex_data_t; 00030 typedef typename typeparams::edge_data edge_data_t; 00031 00032 typedef vertex<typeparams> vertex_t; 00033 typedef edge<typeparams> edge_t; 00034 00035 typedef trajectory<typeparams> trajectory_t; 00036 00037 00038 public: 00039 00040 int ce_update_vertex_cost (vertex_t *vertex_in); 00041 00042 int ce_update_edge_cost (edge_t *edge_in); 00043 00044 double evaluate_cost_trajectory (state_t *state_initial_in, 00045 trajectory_t *trajectory_in, 00046 state_t *state_final_in = 0); 00047 00048 }; 00049 00050 00051 } 00052 00053 #endif