23 void makeCircle(visualization_msgs::InteractiveMarkerControl &control,
26 std_msgs::ColorRGBA color
29 visualization_msgs::Marker marker;
31 marker.pose.orientation = control.orientation;
32 marker.type = visualization_msgs::Marker::TRIANGLE_LIST;
33 marker.scale.x = radius;
34 marker.scale.y = radius;
35 marker.scale.z = radius;
39 std::vector<geometry_msgs::Point> circle1, circle2;
41 geometry_msgs::Point v1, v2;
43 for (
int i = 0; i < steps; i++)
45 float a = float(i) / float(steps) * M_PI * 2.0;
50 v2.y = (1 + width) * v1.y;
51 v2.z = (1 + width) * v1.z;
53 circle1.push_back(v1);
54 circle2.push_back(v2);
57 for (
int i = 0; i < steps; i++)
60 int i2 = (i + 1) % steps;
62 marker.points.clear();
63 marker.points.push_back(circle1[i1]);
64 marker.points.push_back(circle2[i1]);
65 marker.points.push_back(circle1[i2]);
66 marker.points.push_back(circle2[i1]);
67 marker.points.push_back(circle2[i2]);
68 marker.points.push_back(circle1[i2]);
70 control.markers.push_back(marker);
void makeCircle(visualization_msgs::InteractiveMarkerControl &control, float radius, float width, std_msgs::ColorRGBA color)
Makes circle from markers and assigns it to specified control.
INLINE Rall1d< T, V, S > cos(const Rall1d< T, V, S > &arg)
INLINE Rall1d< T, V, S > sin(const Rall1d< T, V, S > &arg)