Go to the documentation of this file.00001 #include <vigir_foot_pose_transformer/foot_pose_transformer_node.h>
00002
00003 namespace vigir_footstep_planning
00004 {
00005 FootPoseTransformerNode::FootPoseTransformerNode(ros::NodeHandle& nh)
00006 : foot_pose_transformer(nh)
00007 {
00008
00009 transform_foot_pose_srv = nh.advertiseService("transform_foot_pose", &FootPoseTransformerNode::transformFootPoseService, this);
00010 transform_feet_poses_srv = nh.advertiseService("transform_feet_poses", &FootPoseTransformerNode::transformFeetPosesService, this);
00011 transform_step_plan_srv = nh.advertiseService("transform_step_plan", &FootPoseTransformerNode::transformStepPlanService, this);
00012 }
00013
00014 FootPoseTransformerNode::~FootPoseTransformerNode()
00015 {
00016 }
00017
00018 bool FootPoseTransformerNode::transformFootPoseService(msgs::TransformFootPoseService::Request& req, msgs::TransformFootPoseService::Response& resp)
00019 {
00020 resp.foot = req.foot;
00021 resp.status = foot_pose_transformer.transform(resp.foot, req.target_frame.data);
00022 return true;
00023 }
00024
00025 bool FootPoseTransformerNode::transformFeetPosesService(msgs::TransformFeetPosesService::Request& req, msgs::TransformFeetPosesService::Response& resp)
00026 {
00027 resp.feet = req.feet;
00028 resp.status = foot_pose_transformer.transform(resp.feet, req.target_frame.data);
00029 return true;
00030 }
00031
00032 bool FootPoseTransformerNode::transformStepPlanService(msgs::TransformStepPlanService::Request& req, msgs::TransformStepPlanService::Response& resp)
00033 {
00034 resp.step_plan = req.step_plan;
00035 resp.status = foot_pose_transformer.transform(resp.step_plan, req.target_frame.data);
00036 return true;
00037 }
00038 }
00039
00040 int main (int argc, char **argv)
00041 {
00042 ros::init(argc, argv, "foot_pose_transformer_node");
00043 ros::NodeHandle nh;
00044 vigir_footstep_planning::FootPoseTransformerNode foot_pose_transformer_node(nh);
00045 ros::spin();
00046
00047 return 0;
00048 }