Go to the documentation of this file.00001
00002 #include <ros/ros.h>
00003 #include <visualization_msgs/Marker.h>
00004
00005 int main( int argc, char** argv )
00006 {
00007 ros::init(argc, argv, "basic_shapes");
00008 ros::NodeHandle n;
00009 ros::Rate r(1);
00010 ros::Publisher marker_pub = n.advertise<visualization_msgs::Marker>("visualization_marker", 1);
00011
00012
00013 uint32_t shape = visualization_msgs::Marker::SPHERE;
00014
00015 ROS_INFO("Publishing markers");
00016
00017 double x = 0;
00018 double y = 0;
00019 double z = 0;
00020
00021 if (argc > 1) {
00022 x = atof(argv[1]);
00023 y = atof(argv[2]);
00024 z = atof(argv[3]);
00025 }
00026
00027 while (ros::ok())
00028 {
00029 visualization_msgs::Marker marker;
00030
00031 marker.header.frame_id = "/r_gripper_r_finger_tip_link";
00032 marker.header.stamp = ros::Time::now();
00033
00034
00035
00036 marker.ns = "basic_shapes";
00037 marker.id = 0;
00038
00039
00040 marker.type = shape;
00041
00042
00043 marker.action = visualization_msgs::Marker::ADD;
00044
00045
00046 marker.pose.position.x = x;
00047 marker.pose.position.y = y;
00048 marker.pose.position.z = z;
00049 marker.pose.orientation.x = 0.0;
00050 marker.pose.orientation.y = 0.0;
00051 marker.pose.orientation.z = 0.0;
00052 marker.pose.orientation.w = 1.0;
00053
00054
00055 marker.scale.x = 0.001;
00056 marker.scale.y = 0.001;
00057 marker.scale.z = 0.001;
00058
00059
00060 marker.color.r = 1.0f;
00061 marker.color.g = 0.0f;
00062 marker.color.b = 0.0f;
00063 marker.color.a = 1.0;
00064
00065 marker.lifetime = ros::Duration();
00066
00067
00068 marker_pub.publish(marker);
00069
00070
00071 if (0)
00072 switch (shape)
00073 {
00074 case visualization_msgs::Marker::CUBE:
00075 shape = visualization_msgs::Marker::SPHERE;
00076 break;
00077 case visualization_msgs::Marker::SPHERE:
00078 shape = visualization_msgs::Marker::ARROW;
00079 break;
00080 case visualization_msgs::Marker::ARROW:
00081 shape = visualization_msgs::Marker::CYLINDER;
00082 break;
00083 case visualization_msgs::Marker::CYLINDER:
00084 shape = visualization_msgs::Marker::CUBE;
00085 break;
00086 }
00087
00088 r.sleep();
00089 }
00090 }