Go to the documentation of this file.00001 #ifndef __TRANSFORMABLE_TORUS_H__
00002 #define __TRANSFORMABLE_TORUS_H__
00003
00004
00005 #include <ros/ros.h>
00006 #include <visualization_msgs/Marker.h>
00007 #include <jsk_interactive_marker/transformable_object.h>
00008
00009 namespace jsk_interactive_marker
00010 {
00011 class TransformableTorus: public TransformableObject
00012 {
00013 public:
00014 TransformableTorus( float radius, float small_radius, int u_div, int v_div, float r, float g, float b, float a, std::string frame, std::string name, std::string description);
00015
00016 visualization_msgs::Marker getVisualizationMsgMarker();
00017 void setRGBA( float r , float g, float b, float a){torus_r_=r;torus_g_=g;torus_b_=b;torus_a_=a;};
00018
00019 bool setRadius(std_msgs::Float32 r){torus_radius_=r.data;return true;};
00020 bool setSmallRadius(std_msgs::Float32 sr){torus_small_radius_=sr.data;return true;};
00021
00022 std::vector<geometry_msgs::Point > calcurateTriangleMesh();
00023
00024 float getInteractiveMarkerScale(){return (torus_radius_+torus_small_radius_+1);};
00025
00026 float torus_radius_;
00027 float torus_small_radius_;
00028 float torus_r_;
00029 float torus_g_;
00030 float torus_b_;
00031 float torus_a_;
00032
00033 int u_division_num_;
00034 int v_division_num_;
00035 };
00036 };
00037
00038 #endif