Go to the documentation of this file.
32 #ifndef INTERACTIVE_MARKER_SERVER
33 #define INTERACTIVE_MARKER_SERVER
35 #include <visualization_msgs/InteractiveMarkerUpdate.h>
36 #include <visualization_msgs/InteractiveMarkerFeedback.h>
39 #include <boost/scoped_ptr.hpp>
40 #include <boost/thread/thread.hpp>
41 #include <boost/thread/recursive_mutex.hpp>
46 #include <boost/function.hpp>
47 #include <boost/unordered_map.hpp>
73 InteractiveMarkerServer(
const std::string &topic_ns,
const std::string &server_id=
"",
bool spin_thread =
false );
84 void insert(
const visualization_msgs::InteractiveMarker &int_marker );
93 void insert(
const visualization_msgs::InteractiveMarker &int_marker,
104 bool setPose(
const std::string &name,
105 const geometry_msgs::Pose &pose,
106 const std_msgs::Header &header=std_msgs::Header() );
113 bool erase(
const std::string &name );
130 std::size_t
size()
const;
156 bool get( std::string name, visualization_msgs::InteractiveMarker &int_marker )
const;
161 std::vector<std::string>
getNames();
203 void publish( visualization_msgs::InteractiveMarkerUpdate &update );
209 void doSetPose( M_UpdateContext::iterator update_it,
210 const std::string &name,
211 const geometry_msgs::Pose &pose,
212 const std_msgs::Header &header );
ros::Subscriber feedback_sub_
INTERACTIVE_MARKERS_PUBLIC bool get(std::string name, visualization_msgs::InteractiveMarker &int_marker) const
INTERACTIVE_MARKERS_PUBLIC bool erase(const std::string &name)
boost::unordered_map< uint8_t, FeedbackCallback > feedback_cbs
boost::unordered_map< std::string, MarkerContext > M_MarkerContext
FeedbackCallback default_feedback_cb
visualization_msgs::InteractiveMarkerFeedbackConstPtr FeedbackConstPtr
visualization_msgs::InteractiveMarker int_marker
INTERACTIVE_MARKERS_PUBLIC std::vector< std::string > getNames()
#define INTERACTIVE_MARKERS_PUBLIC
M_MarkerContext marker_contexts_
void processFeedback(const FeedbackConstPtr &feedback)
INTERACTIVE_MARKERS_PUBLIC std::size_t size() const
static const uint8_t DEFAULT_FEEDBACK_CB
INTERACTIVE_MARKERS_PUBLIC ~InteractiveMarkerServer()
Destruction of the interface will lead to all managed markers being cleared.
boost::unordered_map< std::string, UpdateContext > M_UpdateContext
enum interactive_markers::InteractiveMarkerServer::UpdateContext::@0 update_type
ros::CallbackQueue callback_queue_
boost::unordered_map< uint8_t, FeedbackCallback > feedback_cbs
ros::Timer keep_alive_timer_
boost::function< void(const FeedbackConstPtr &) > FeedbackCallback
ros::NodeHandle node_handle_
INTERACTIVE_MARKERS_PUBLIC void insert(const visualization_msgs::InteractiveMarker &int_marker)
void publish(visualization_msgs::InteractiveMarkerUpdate &update)
INTERACTIVE_MARKERS_PUBLIC bool empty() const
INTERACTIVE_MARKERS_PUBLIC void applyChanges()
visualization_msgs::InteractiveMarker int_marker
boost::recursive_mutex mutex_
volatile bool need_to_terminate_
INTERACTIVE_MARKERS_PUBLIC bool setPose(const std::string &name, const geometry_msgs::Pose &pose, const std_msgs::Header &header=std_msgs::Header())
INTERACTIVE_MARKERS_PUBLIC InteractiveMarkerServer(const std::string &topic_ns, const std::string &server_id="", bool spin_thread=false)
INTERACTIVE_MARKERS_PUBLIC bool setCallback(const std::string &name, FeedbackCallback feedback_cb, uint8_t feedback_type=DEFAULT_FEEDBACK_CB)
FeedbackCallback default_feedback_cb
M_UpdateContext pending_updates_
std::string last_client_id
void doSetPose(M_UpdateContext::iterator update_it, const std::string &name, const geometry_msgs::Pose &pose, const std_msgs::Header &header)
INTERACTIVE_MARKERS_PUBLIC void clear()
boost::scoped_ptr< boost::thread > spin_thread_
ros::Publisher update_pub_
interactive_markers
Author(s): David Gossow, William Woodall
autogenerated on Fri Oct 27 2023 02:31:54