00001 /****************************************************************************** 00002 * \file 00003 * \brief State visualization for srs_assisted_arm_navigation 00004 * 00005 * $Id:$ 00006 * 00007 * Copyright (C) Brno University of Technology 00008 * 00009 * This file is part of software developed by dcgm-robotics@FIT group. 00010 * 00011 * Author: Zdenek Materna (imaterna@fit.vutbr.cz) 00012 * Supervised by: Michal Spanel (spanel@fit.vutbr.cz) 00013 * Date: 5/4/2012 00014 * 00015 * This file is free software: you can redistribute it and/or modify 00016 * it under the terms of the GNU Lesser General Public License as published by 00017 * the Free Software Foundation, either version 3 of the License, or 00018 * (at your option) any later version. 00019 * 00020 * This file is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00023 * GNU Lesser General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU Lesser General Public License 00026 * along with this file. If not, see <http://www.gnu.org/licenses/>. 00027 */ 00028 00029 #ifndef STATE_VIS_H_ 00030 #define STATE_VIS_H_ 00031 00032 00033 #include <ros/ros.h> 00034 #include "srs_assisted_arm_navigation_msgs/AssistedArmNavigationState.h" 00035 #include <visualization_msgs/Marker.h> 00036 #include <visualization_msgs/MarkerArray.h> 00037 00038 namespace srs_assisted_arm_navigation_ui { 00039 00040 class StateVis { 00041 00042 public: 00043 00044 StateVis(); 00045 ~StateVis(); 00046 00047 00048 protected: 00049 00050 void stateCallback(const srs_assisted_arm_navigation_msgs::AssistedArmNavigationState::ConstPtr& msg); 00051 00052 ros::Publisher marker_pub_; 00053 ros::Subscriber arm_nav_state_sub_; 00054 00055 //std::vector<visualization_msgs::Marker> markers_; 00056 visualization_msgs::Marker m_; 00057 visualization_msgs::Marker j_; 00058 00059 std_msgs::ColorRGBA color_def_; 00060 std_msgs::ColorRGBA color_err_coll_; // if in collision 00061 std_msgs::ColorRGBA color_err_out_; // if out of reach 00062 00063 private: 00064 00065 00066 }; 00067 00068 00069 } 00070 00071 #endif /* STATE_VIS_H_ */