00001 #include <vigir_footstep_planning_plugins/plugin_aggregators/robot_model.h> 00002 00003 00004 00005 namespace vigir_footstep_planning 00006 { 00007 RobotModel::RobotModel() 00008 : ExtendedPluginAggregator<RobotModel, ReachabilityPlugin>("RobotModel") 00009 { 00010 } 00011 00012 bool RobotModel::isReachable(const State& current, const State& next) const 00013 { 00014 for (ReachabilityPlugin::Ptr plugin : getPlugins()) 00015 { 00016 if (plugin && !plugin->isReachable(current, next)) 00017 return false; 00018 } 00019 return true; 00020 } 00021 00022 bool RobotModel::isReachable(const State& left, const State& right, const State& swing) const 00023 { 00024 for (ReachabilityPlugin::Ptr plugin : getPlugins()) 00025 { 00026 if (plugin && !plugin->isReachable(left, right, swing)) 00027 return false; 00028 } 00029 return true; 00030 } 00031 }