1 #ifndef __TRANSFORMABLE_INTERACTIVE_SERVER_H__
2 #define __TRANSFORMABLE_INTERACTIVE_SERVER_H__
9 #include <std_msgs/Float32.h>
10 #include <std_msgs/String.h>
11 #include <std_srvs/Empty.h>
12 #include <geometry_msgs/PoseStamped.h>
14 #include <jsk_rviz_plugins/OverlayText.h>
18 #include <dynamic_reconfigure/server.h>
19 #include <jsk_interactive_marker/InteractiveSettingConfig.h>
20 #include <jsk_interactive_marker/GetTransformableMarkerPose.h>
21 #include <jsk_interactive_marker/SetTransformableMarkerPose.h>
22 #include <jsk_interactive_marker/GetTransformableMarkerColor.h>
23 #include <jsk_interactive_marker/SetTransformableMarkerColor.h>
24 #include <jsk_interactive_marker/GetTransformableMarkerFocus.h>
25 #include <jsk_interactive_marker/SetTransformableMarkerFocus.h>
26 #include <jsk_interactive_marker/GetMarkerDimensions.h>
27 #include <jsk_interactive_marker/SetMarkerDimensions.h>
28 #include <jsk_interactive_marker/GetType.h>
29 #include <jsk_interactive_marker/GetTransformableMarkerExistence.h>
30 #include <jsk_interactive_marker/MarkerDimensions.h>
31 #include <jsk_interactive_marker/PoseStampedWithName.h>
42 void processFeedback(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback );
43 void setRadius(std_msgs::Float32
msg);
44 void setSmallRadius(std_msgs::Float32
msg);
45 void setX(std_msgs::Float32
msg);
46 void setY(std_msgs::Float32
msg);
47 void setZ(std_msgs::Float32
msg);
49 void setPose(
const geometry_msgs::PoseStampedConstPtr &msg_ptr ,
bool for_interactive_control=
false);
50 void addPose(geometry_msgs::Pose
msg);
51 void addPoseRelative(geometry_msgs::Pose
msg);
53 void setControlRelativePose(geometry_msgs::Pose
msg);
55 void setColor(std_msgs::ColorRGBA
msg);
63 void eraseObject(std::string name);
64 void eraseAllObject();
65 void eraseFocusObject();
68 void focusTextPublish();
69 void focusPosePublish();
70 void focusObjectMarkerNamePublish();
71 void focusInteractiveManipulatorDisplay();
73 void enableInteractiveManipulatorDisplay(
const visualization_msgs::InteractiveMarkerFeedbackConstPtr &feedback,
78 bool getPoseService(jsk_interactive_marker::GetTransformableMarkerPose::Request &req,jsk_interactive_marker::GetTransformableMarkerPose::Response &res,
bool for_interactive_control);
79 bool setPoseService(jsk_interactive_marker::SetTransformableMarkerPose::Request &req,jsk_interactive_marker::SetTransformableMarkerPose::Response &res,
bool for_interactive_control);
80 bool getColorService(jsk_interactive_marker::GetTransformableMarkerColor::Request &req,jsk_interactive_marker::GetTransformableMarkerColor::Response &res);
81 bool setColorService(jsk_interactive_marker::SetTransformableMarkerColor::Request &req,jsk_interactive_marker::SetTransformableMarkerColor::Response &res);
82 bool getFocusService(jsk_interactive_marker::GetTransformableMarkerFocus::Request &req,jsk_interactive_marker::GetTransformableMarkerFocus::Response &res);
83 bool setFocusService(jsk_interactive_marker::SetTransformableMarkerFocus::Request &req,jsk_interactive_marker::SetTransformableMarkerFocus::Response &res);
84 bool getTypeService(jsk_interactive_marker::GetType::Request &req,jsk_interactive_marker::GetType::Response &res);
85 bool getExistenceService(jsk_interactive_marker::GetTransformableMarkerExistence::Request &req,jsk_interactive_marker::GetTransformableMarkerExistence::Response &res);
86 bool setDimensionsService(jsk_interactive_marker::SetMarkerDimensions::Request &req,jsk_interactive_marker::SetMarkerDimensions::Response &res);
87 bool getDimensionsService(jsk_interactive_marker::GetMarkerDimensions::Request &req,jsk_interactive_marker::GetMarkerDimensions::Response &res);
88 bool hideService(std_srvs::Empty::Request& req,
89 std_srvs::Empty::Response& res);
90 bool showService(std_srvs::Empty::Request& req,
91 std_srvs::Empty::Response& res);
92 void publishMarkerDimensions();
94 bool requestMarkerOperateService(jsk_rviz_plugins::RequestMarkerOperate::Request &req,jsk_rviz_plugins::RequestMarkerOperate::Response &res);
95 virtual void configCallback(InteractiveSettingConfig &
config, uint32_t level);
99 bool setPoseWithTfTransformation(
TransformableObject* tobject, geometry_msgs::PoseStamped pose_stamped,
bool for_interactive_control=
false);
138 std::shared_ptr <dynamic_reconfigure::Server<InteractiveSettingConfig> >
config_srv_;
151 jsk_interactive_marker::InteractiveSettingConfig
config_;