$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-remote_lab/doc_stacks/2013-03-03_11-54-58.406785/remote_lab/interactive_marker_client/msg/InteractiveMarkerUpdateWeb.msg */ 00002 #ifndef INTERACTIVE_MARKER_CLIENT_MESSAGE_INTERACTIVEMARKERUPDATEWEB_H 00003 #define INTERACTIVE_MARKER_CLIENT_MESSAGE_INTERACTIVEMARKERUPDATEWEB_H 00004 #include <string> 00005 #include <vector> 00006 #include <map> 00007 #include <ostream> 00008 #include "ros/serialization.h" 00009 #include "ros/builtin_message_traits.h" 00010 #include "ros/message_operations.h" 00011 #include "ros/time.h" 00012 00013 #include "ros/macros.h" 00014 00015 #include "ros/assert.h" 00016 00017 #include "visualization_msgs/InteractiveMarker.h" 00018 #include "visualization_msgs/InteractiveMarkerPose.h" 00019 00020 namespace interactive_marker_client 00021 { 00022 template <class ContainerAllocator> 00023 struct InteractiveMarkerUpdateWeb_ { 00024 typedef InteractiveMarkerUpdateWeb_<ContainerAllocator> Type; 00025 00026 InteractiveMarkerUpdateWeb_() 00027 : server_id() 00028 , seq_num(0) 00029 , type(0) 00030 , markers() 00031 , poses() 00032 , erases() 00033 { 00034 } 00035 00036 InteractiveMarkerUpdateWeb_(const ContainerAllocator& _alloc) 00037 : server_id(_alloc) 00038 , seq_num(0) 00039 , type(0) 00040 , markers(_alloc) 00041 , poses(_alloc) 00042 , erases(_alloc) 00043 { 00044 } 00045 00046 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _server_id_type; 00047 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > server_id; 00048 00049 typedef uint64_t _seq_num_type; 00050 uint64_t seq_num; 00051 00052 typedef uint8_t _type_type; 00053 uint8_t type; 00054 00055 typedef std::vector< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> >::other > _markers_type; 00056 std::vector< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> >::other > markers; 00057 00058 typedef std::vector< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> >::other > _poses_type; 00059 std::vector< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> >::other > poses; 00060 00061 typedef std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > _erases_type; 00062 std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > erases; 00063 00064 enum { KEEP_ALIVE = 0 }; 00065 enum { UPDATE = 1 }; 00066 enum { INIT = 2 }; 00067 00068 ROS_DEPRECATED uint32_t get_markers_size() const { return (uint32_t)markers.size(); } 00069 ROS_DEPRECATED void set_markers_size(uint32_t size) { markers.resize((size_t)size); } 00070 ROS_DEPRECATED void get_markers_vec(std::vector< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> >::other > & vec) const { vec = this->markers; } 00071 ROS_DEPRECATED void set_markers_vec(const std::vector< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> >::other > & vec) { this->markers = vec; } 00072 ROS_DEPRECATED uint32_t get_poses_size() const { return (uint32_t)poses.size(); } 00073 ROS_DEPRECATED void set_poses_size(uint32_t size) { poses.resize((size_t)size); } 00074 ROS_DEPRECATED void get_poses_vec(std::vector< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> >::other > & vec) const { vec = this->poses; } 00075 ROS_DEPRECATED void set_poses_vec(const std::vector< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> >::other > & vec) { this->poses = vec; } 00076 ROS_DEPRECATED uint32_t get_erases_size() const { return (uint32_t)erases.size(); } 00077 ROS_DEPRECATED void set_erases_size(uint32_t size) { erases.resize((size_t)size); } 00078 ROS_DEPRECATED void get_erases_vec(std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) const { vec = this->erases; } 00079 ROS_DEPRECATED void set_erases_vec(const std::vector<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > , typename ContainerAllocator::template rebind<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::other > & vec) { this->erases = vec; } 00080 private: 00081 static const char* __s_getDataType_() { return "interactive_marker_client/InteractiveMarkerUpdateWeb"; } 00082 public: 00083 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00084 00085 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00086 00087 private: 00088 static const char* __s_getMD5Sum_() { return "013c4168234093a459ba5d484dfe5cd2"; } 00089 public: 00090 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00091 00092 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00093 00094 private: 00095 static const char* __s_getMessageDefinition_() { return "# Identifying string. Must be unique in the topic namespace\n\ 00096 # that this server works on.\n\ 00097 string server_id\n\ 00098 \n\ 00099 # Sequence number.\n\ 00100 # The client will use this to detect if it has missed an update.\n\ 00101 uint64 seq_num\n\ 00102 \n\ 00103 # Type holds the purpose of this message. It must be one of UPDATE or KEEP_ALIVE.\n\ 00104 # UPDATE: Incremental update to previous state. \n\ 00105 # The sequence number must be 1 higher than for\n\ 00106 # the previous update.\n\ 00107 # KEEP_ALIVE: Indicates the that the server is still living.\n\ 00108 # The sequence number does not increase.\n\ 00109 # No payload data should be filled out (markers, poses, or erases).\n\ 00110 uint8 KEEP_ALIVE = 0 \n\ 00111 uint8 UPDATE = 1 \n\ 00112 uint8 INIT = 2\n\ 00113 \n\ 00114 uint8 type\n\ 00115 \n\ 00116 #Note: No guarantees on the order of processing.\n\ 00117 # Contents must be kept consistent by sender.\n\ 00118 \n\ 00119 #Markers to be added or updated\n\ 00120 visualization_msgs/InteractiveMarker[] markers\n\ 00121 \n\ 00122 #Poses of markers that should be moved\n\ 00123 visualization_msgs/InteractiveMarkerPose[] poses\n\ 00124 \n\ 00125 #Names of markers to be erased\n\ 00126 string[] erases\n\ 00127 \n\ 00128 \n\ 00129 ================================================================================\n\ 00130 MSG: visualization_msgs/InteractiveMarker\n\ 00131 # Time/frame info.\n\ 00132 # If header.time is set to 0, the marker will be retransformed into\n\ 00133 # its frame on each timestep. You will receive the pose feedback\n\ 00134 # in the same frame.\n\ 00135 # Otherwise, you might receive feedback in a different frame.\n\ 00136 # For rviz, this will be the current 'fixed frame' set by the user.\n\ 00137 Header header\n\ 00138 \n\ 00139 # Initial pose. Also, defines the pivot point for rotations.\n\ 00140 geometry_msgs/Pose pose\n\ 00141 \n\ 00142 # Identifying string. Must be globally unique in\n\ 00143 # the topic that this message is sent through.\n\ 00144 string name\n\ 00145 \n\ 00146 # Short description (< 40 characters).\n\ 00147 string description\n\ 00148 \n\ 00149 # Scale to be used for default controls (default=1).\n\ 00150 float32 scale\n\ 00151 \n\ 00152 # All menu and submenu entries associated with this marker.\n\ 00153 MenuEntry[] menu_entries\n\ 00154 \n\ 00155 # List of controls displayed for this marker.\n\ 00156 InteractiveMarkerControl[] controls\n\ 00157 \n\ 00158 ================================================================================\n\ 00159 MSG: std_msgs/Header\n\ 00160 # Standard metadata for higher-level stamped data types.\n\ 00161 # This is generally used to communicate timestamped data \n\ 00162 # in a particular coordinate frame.\n\ 00163 # \n\ 00164 # sequence ID: consecutively increasing ID \n\ 00165 uint32 seq\n\ 00166 #Two-integer timestamp that is expressed as:\n\ 00167 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00168 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00169 # time-handling sugar is provided by the client library\n\ 00170 time stamp\n\ 00171 #Frame this data is associated with\n\ 00172 # 0: no frame\n\ 00173 # 1: global frame\n\ 00174 string frame_id\n\ 00175 \n\ 00176 ================================================================================\n\ 00177 MSG: geometry_msgs/Pose\n\ 00178 # A representation of pose in free space, composed of postion and orientation. \n\ 00179 Point position\n\ 00180 Quaternion orientation\n\ 00181 \n\ 00182 ================================================================================\n\ 00183 MSG: geometry_msgs/Point\n\ 00184 # This contains the position of a point in free space\n\ 00185 float64 x\n\ 00186 float64 y\n\ 00187 float64 z\n\ 00188 \n\ 00189 ================================================================================\n\ 00190 MSG: geometry_msgs/Quaternion\n\ 00191 # This represents an orientation in free space in quaternion form.\n\ 00192 \n\ 00193 float64 x\n\ 00194 float64 y\n\ 00195 float64 z\n\ 00196 float64 w\n\ 00197 \n\ 00198 ================================================================================\n\ 00199 MSG: visualization_msgs/MenuEntry\n\ 00200 # MenuEntry message.\n\ 00201 \n\ 00202 # Each InteractiveMarker message has an array of MenuEntry messages.\n\ 00203 # A collection of MenuEntries together describe a\n\ 00204 # menu/submenu/subsubmenu/etc tree, though they are stored in a flat\n\ 00205 # array. The tree structure is represented by giving each menu entry\n\ 00206 # an ID number and a \"parent_id\" field. Top-level entries are the\n\ 00207 # ones with parent_id = 0. Menu entries are ordered within their\n\ 00208 # level the same way they are ordered in the containing array. Parent\n\ 00209 # entries must appear before their children.\n\ 00210 \n\ 00211 # Example:\n\ 00212 # - id = 3\n\ 00213 # parent_id = 0\n\ 00214 # title = \"fun\"\n\ 00215 # - id = 2\n\ 00216 # parent_id = 0\n\ 00217 # title = \"robot\"\n\ 00218 # - id = 4\n\ 00219 # parent_id = 2\n\ 00220 # title = \"pr2\"\n\ 00221 # - id = 5\n\ 00222 # parent_id = 2\n\ 00223 # title = \"turtle\"\n\ 00224 #\n\ 00225 # Gives a menu tree like this:\n\ 00226 # - fun\n\ 00227 # - robot\n\ 00228 # - pr2\n\ 00229 # - turtle\n\ 00230 \n\ 00231 # ID is a number for each menu entry. Must be unique within the\n\ 00232 # control, and should never be 0.\n\ 00233 uint32 id\n\ 00234 \n\ 00235 # ID of the parent of this menu entry, if it is a submenu. If this\n\ 00236 # menu entry is a top-level entry, set parent_id to 0.\n\ 00237 uint32 parent_id\n\ 00238 \n\ 00239 # menu / entry title\n\ 00240 string title\n\ 00241 \n\ 00242 # Arguments to command indicated by command_type (below)\n\ 00243 string command\n\ 00244 \n\ 00245 # Command_type stores the type of response desired when this menu\n\ 00246 # entry is clicked.\n\ 00247 # FEEDBACK: send an InteractiveMarkerFeedback message with menu_entry_id set to this entry's id.\n\ 00248 # ROSRUN: execute \"rosrun\" with arguments given in the command field (above).\n\ 00249 # ROSLAUNCH: execute \"roslaunch\" with arguments given in the command field (above).\n\ 00250 uint8 FEEDBACK=0\n\ 00251 uint8 ROSRUN=1\n\ 00252 uint8 ROSLAUNCH=2\n\ 00253 uint8 command_type\n\ 00254 \n\ 00255 ================================================================================\n\ 00256 MSG: visualization_msgs/InteractiveMarkerControl\n\ 00257 # Represents a control that is to be displayed together with an interactive marker\n\ 00258 \n\ 00259 # Identifying string for this control.\n\ 00260 # You need to assign a unique value to this to receive feedback from the GUI\n\ 00261 # on what actions the user performs on this control (e.g. a button click).\n\ 00262 string name\n\ 00263 \n\ 00264 \n\ 00265 # Defines the local coordinate frame (relative to the pose of the parent\n\ 00266 # interactive marker) in which is being rotated and translated.\n\ 00267 # Default: Identity\n\ 00268 geometry_msgs/Quaternion orientation\n\ 00269 \n\ 00270 \n\ 00271 # Orientation mode: controls how orientation changes.\n\ 00272 # INHERIT: Follow orientation of interactive marker\n\ 00273 # FIXED: Keep orientation fixed at initial state\n\ 00274 # VIEW_FACING: Align y-z plane with screen (x: forward, y:left, z:up).\n\ 00275 uint8 INHERIT = 0 \n\ 00276 uint8 FIXED = 1\n\ 00277 uint8 VIEW_FACING = 2\n\ 00278 \n\ 00279 uint8 orientation_mode\n\ 00280 \n\ 00281 # Interaction mode for this control\n\ 00282 # \n\ 00283 # NONE: This control is only meant for visualization; no context menu.\n\ 00284 # MENU: Like NONE, but right-click menu is active.\n\ 00285 # BUTTON: Element can be left-clicked.\n\ 00286 # MOVE_AXIS: Translate along local x-axis.\n\ 00287 # MOVE_PLANE: Translate in local y-z plane.\n\ 00288 # ROTATE_AXIS: Rotate around local x-axis.\n\ 00289 # MOVE_ROTATE: Combines MOVE_PLANE and ROTATE_AXIS.\n\ 00290 uint8 NONE = 0 \n\ 00291 uint8 MENU = 1\n\ 00292 uint8 BUTTON = 2\n\ 00293 uint8 MOVE_AXIS = 3 \n\ 00294 uint8 MOVE_PLANE = 4\n\ 00295 uint8 ROTATE_AXIS = 5\n\ 00296 uint8 MOVE_ROTATE = 6\n\ 00297 \n\ 00298 uint8 interaction_mode\n\ 00299 \n\ 00300 \n\ 00301 # If true, the contained markers will also be visible\n\ 00302 # when the gui is not in interactive mode.\n\ 00303 bool always_visible\n\ 00304 \n\ 00305 \n\ 00306 # Markers to be displayed as custom visual representation.\n\ 00307 # Leave this empty to use the default control handles.\n\ 00308 #\n\ 00309 # Note: \n\ 00310 # - The markers can be defined in an arbitrary coordinate frame,\n\ 00311 # but will be transformed into the local frame of the interactive marker.\n\ 00312 # - If the header of a marker is empty, its pose will be interpreted as \n\ 00313 # relative to the pose of the parent interactive marker.\n\ 00314 Marker[] markers\n\ 00315 \n\ 00316 \n\ 00317 # In VIEW_FACING mode, set this to true if you don't want the markers\n\ 00318 # to be aligned with the camera view point. The markers will show up\n\ 00319 # as in INHERIT mode.\n\ 00320 bool independent_marker_orientation\n\ 00321 \n\ 00322 \n\ 00323 # Short description (< 40 characters) of what this control does,\n\ 00324 # e.g. \"Move the robot\". \n\ 00325 # Default: A generic description based on the interaction mode\n\ 00326 string description\n\ 00327 \n\ 00328 ================================================================================\n\ 00329 MSG: visualization_msgs/Marker\n\ 00330 # See http://www.ros.org/wiki/rviz/DisplayTypes/Marker and http://www.ros.org/wiki/rviz/Tutorials/Markers%3A%20Basic%20Shapes for more information on using this message with rviz\n\ 00331 \n\ 00332 uint8 ARROW=0\n\ 00333 uint8 CUBE=1\n\ 00334 uint8 SPHERE=2\n\ 00335 uint8 CYLINDER=3\n\ 00336 uint8 LINE_STRIP=4\n\ 00337 uint8 LINE_LIST=5\n\ 00338 uint8 CUBE_LIST=6\n\ 00339 uint8 SPHERE_LIST=7\n\ 00340 uint8 POINTS=8\n\ 00341 uint8 TEXT_VIEW_FACING=9\n\ 00342 uint8 MESH_RESOURCE=10\n\ 00343 uint8 TRIANGLE_LIST=11\n\ 00344 \n\ 00345 uint8 ADD=0\n\ 00346 uint8 MODIFY=0\n\ 00347 uint8 DELETE=2\n\ 00348 \n\ 00349 Header header # header for time/frame information\n\ 00350 string ns # Namespace to place this object in... used in conjunction with id to create a unique name for the object\n\ 00351 int32 id # object ID useful in conjunction with the namespace for manipulating and deleting the object later\n\ 00352 int32 type # Type of object\n\ 00353 int32 action # 0 add/modify an object, 1 (deprecated), 2 deletes an object\n\ 00354 geometry_msgs/Pose pose # Pose of the object\n\ 00355 geometry_msgs/Vector3 scale # Scale of the object 1,1,1 means default (usually 1 meter square)\n\ 00356 std_msgs/ColorRGBA color # Color [0.0-1.0]\n\ 00357 duration lifetime # How long the object should last before being automatically deleted. 0 means forever\n\ 00358 bool frame_locked # If this marker should be frame-locked, i.e. retransformed into its frame every timestep\n\ 00359 \n\ 00360 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\ 00361 geometry_msgs/Point[] points\n\ 00362 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\ 00363 #number of colors must either be 0 or equal to the number of points\n\ 00364 #NOTE: alpha is not yet used\n\ 00365 std_msgs/ColorRGBA[] colors\n\ 00366 \n\ 00367 # NOTE: only used for text markers\n\ 00368 string text\n\ 00369 \n\ 00370 # NOTE: only used for MESH_RESOURCE markers\n\ 00371 string mesh_resource\n\ 00372 bool mesh_use_embedded_materials\n\ 00373 \n\ 00374 ================================================================================\n\ 00375 MSG: geometry_msgs/Vector3\n\ 00376 # This represents a vector in free space. \n\ 00377 \n\ 00378 float64 x\n\ 00379 float64 y\n\ 00380 float64 z\n\ 00381 ================================================================================\n\ 00382 MSG: std_msgs/ColorRGBA\n\ 00383 float32 r\n\ 00384 float32 g\n\ 00385 float32 b\n\ 00386 float32 a\n\ 00387 \n\ 00388 ================================================================================\n\ 00389 MSG: visualization_msgs/InteractiveMarkerPose\n\ 00390 # Time/frame info.\n\ 00391 Header header\n\ 00392 \n\ 00393 # Initial pose. Also, defines the pivot point for rotations.\n\ 00394 geometry_msgs/Pose pose\n\ 00395 \n\ 00396 # Identifying string. Must be globally unique in\n\ 00397 # the topic that this message is sent through.\n\ 00398 string name\n\ 00399 \n\ 00400 "; } 00401 public: 00402 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00403 00404 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00405 00406 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00407 { 00408 ros::serialization::OStream stream(write_ptr, 1000000000); 00409 ros::serialization::serialize(stream, server_id); 00410 ros::serialization::serialize(stream, seq_num); 00411 ros::serialization::serialize(stream, type); 00412 ros::serialization::serialize(stream, markers); 00413 ros::serialization::serialize(stream, poses); 00414 ros::serialization::serialize(stream, erases); 00415 return stream.getData(); 00416 } 00417 00418 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00419 { 00420 ros::serialization::IStream stream(read_ptr, 1000000000); 00421 ros::serialization::deserialize(stream, server_id); 00422 ros::serialization::deserialize(stream, seq_num); 00423 ros::serialization::deserialize(stream, type); 00424 ros::serialization::deserialize(stream, markers); 00425 ros::serialization::deserialize(stream, poses); 00426 ros::serialization::deserialize(stream, erases); 00427 return stream.getData(); 00428 } 00429 00430 ROS_DEPRECATED virtual uint32_t serializationLength() const 00431 { 00432 uint32_t size = 0; 00433 size += ros::serialization::serializationLength(server_id); 00434 size += ros::serialization::serializationLength(seq_num); 00435 size += ros::serialization::serializationLength(type); 00436 size += ros::serialization::serializationLength(markers); 00437 size += ros::serialization::serializationLength(poses); 00438 size += ros::serialization::serializationLength(erases); 00439 return size; 00440 } 00441 00442 typedef boost::shared_ptr< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > Ptr; 00443 typedef boost::shared_ptr< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> const> ConstPtr; 00444 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00445 }; // struct InteractiveMarkerUpdateWeb 00446 typedef ::interactive_marker_client::InteractiveMarkerUpdateWeb_<std::allocator<void> > InteractiveMarkerUpdateWeb; 00447 00448 typedef boost::shared_ptr< ::interactive_marker_client::InteractiveMarkerUpdateWeb> InteractiveMarkerUpdateWebPtr; 00449 typedef boost::shared_ptr< ::interactive_marker_client::InteractiveMarkerUpdateWeb const> InteractiveMarkerUpdateWebConstPtr; 00450 00451 00452 template<typename ContainerAllocator> 00453 std::ostream& operator<<(std::ostream& s, const ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> & v) 00454 { 00455 ros::message_operations::Printer< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> >::stream(s, "", v); 00456 return s;} 00457 00458 } // namespace interactive_marker_client 00459 00460 namespace ros 00461 { 00462 namespace message_traits 00463 { 00464 template<class ContainerAllocator> struct IsMessage< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > : public TrueType {}; 00465 template<class ContainerAllocator> struct IsMessage< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> const> : public TrueType {}; 00466 template<class ContainerAllocator> 00467 struct MD5Sum< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > { 00468 static const char* value() 00469 { 00470 return "013c4168234093a459ba5d484dfe5cd2"; 00471 } 00472 00473 static const char* value(const ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> &) { return value(); } 00474 static const uint64_t static_value1 = 0x013c4168234093a4ULL; 00475 static const uint64_t static_value2 = 0x59ba5d484dfe5cd2ULL; 00476 }; 00477 00478 template<class ContainerAllocator> 00479 struct DataType< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > { 00480 static const char* value() 00481 { 00482 return "interactive_marker_client/InteractiveMarkerUpdateWeb"; 00483 } 00484 00485 static const char* value(const ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> &) { return value(); } 00486 }; 00487 00488 template<class ContainerAllocator> 00489 struct Definition< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > { 00490 static const char* value() 00491 { 00492 return "# Identifying string. Must be unique in the topic namespace\n\ 00493 # that this server works on.\n\ 00494 string server_id\n\ 00495 \n\ 00496 # Sequence number.\n\ 00497 # The client will use this to detect if it has missed an update.\n\ 00498 uint64 seq_num\n\ 00499 \n\ 00500 # Type holds the purpose of this message. It must be one of UPDATE or KEEP_ALIVE.\n\ 00501 # UPDATE: Incremental update to previous state. \n\ 00502 # The sequence number must be 1 higher than for\n\ 00503 # the previous update.\n\ 00504 # KEEP_ALIVE: Indicates the that the server is still living.\n\ 00505 # The sequence number does not increase.\n\ 00506 # No payload data should be filled out (markers, poses, or erases).\n\ 00507 uint8 KEEP_ALIVE = 0 \n\ 00508 uint8 UPDATE = 1 \n\ 00509 uint8 INIT = 2\n\ 00510 \n\ 00511 uint8 type\n\ 00512 \n\ 00513 #Note: No guarantees on the order of processing.\n\ 00514 # Contents must be kept consistent by sender.\n\ 00515 \n\ 00516 #Markers to be added or updated\n\ 00517 visualization_msgs/InteractiveMarker[] markers\n\ 00518 \n\ 00519 #Poses of markers that should be moved\n\ 00520 visualization_msgs/InteractiveMarkerPose[] poses\n\ 00521 \n\ 00522 #Names of markers to be erased\n\ 00523 string[] erases\n\ 00524 \n\ 00525 \n\ 00526 ================================================================================\n\ 00527 MSG: visualization_msgs/InteractiveMarker\n\ 00528 # Time/frame info.\n\ 00529 # If header.time is set to 0, the marker will be retransformed into\n\ 00530 # its frame on each timestep. You will receive the pose feedback\n\ 00531 # in the same frame.\n\ 00532 # Otherwise, you might receive feedback in a different frame.\n\ 00533 # For rviz, this will be the current 'fixed frame' set by the user.\n\ 00534 Header header\n\ 00535 \n\ 00536 # Initial pose. Also, defines the pivot point for rotations.\n\ 00537 geometry_msgs/Pose pose\n\ 00538 \n\ 00539 # Identifying string. Must be globally unique in\n\ 00540 # the topic that this message is sent through.\n\ 00541 string name\n\ 00542 \n\ 00543 # Short description (< 40 characters).\n\ 00544 string description\n\ 00545 \n\ 00546 # Scale to be used for default controls (default=1).\n\ 00547 float32 scale\n\ 00548 \n\ 00549 # All menu and submenu entries associated with this marker.\n\ 00550 MenuEntry[] menu_entries\n\ 00551 \n\ 00552 # List of controls displayed for this marker.\n\ 00553 InteractiveMarkerControl[] controls\n\ 00554 \n\ 00555 ================================================================================\n\ 00556 MSG: std_msgs/Header\n\ 00557 # Standard metadata for higher-level stamped data types.\n\ 00558 # This is generally used to communicate timestamped data \n\ 00559 # in a particular coordinate frame.\n\ 00560 # \n\ 00561 # sequence ID: consecutively increasing ID \n\ 00562 uint32 seq\n\ 00563 #Two-integer timestamp that is expressed as:\n\ 00564 # * stamp.secs: seconds (stamp_secs) since epoch\n\ 00565 # * stamp.nsecs: nanoseconds since stamp_secs\n\ 00566 # time-handling sugar is provided by the client library\n\ 00567 time stamp\n\ 00568 #Frame this data is associated with\n\ 00569 # 0: no frame\n\ 00570 # 1: global frame\n\ 00571 string frame_id\n\ 00572 \n\ 00573 ================================================================================\n\ 00574 MSG: geometry_msgs/Pose\n\ 00575 # A representation of pose in free space, composed of postion and orientation. \n\ 00576 Point position\n\ 00577 Quaternion orientation\n\ 00578 \n\ 00579 ================================================================================\n\ 00580 MSG: geometry_msgs/Point\n\ 00581 # This contains the position of a point in free space\n\ 00582 float64 x\n\ 00583 float64 y\n\ 00584 float64 z\n\ 00585 \n\ 00586 ================================================================================\n\ 00587 MSG: geometry_msgs/Quaternion\n\ 00588 # This represents an orientation in free space in quaternion form.\n\ 00589 \n\ 00590 float64 x\n\ 00591 float64 y\n\ 00592 float64 z\n\ 00593 float64 w\n\ 00594 \n\ 00595 ================================================================================\n\ 00596 MSG: visualization_msgs/MenuEntry\n\ 00597 # MenuEntry message.\n\ 00598 \n\ 00599 # Each InteractiveMarker message has an array of MenuEntry messages.\n\ 00600 # A collection of MenuEntries together describe a\n\ 00601 # menu/submenu/subsubmenu/etc tree, though they are stored in a flat\n\ 00602 # array. The tree structure is represented by giving each menu entry\n\ 00603 # an ID number and a \"parent_id\" field. Top-level entries are the\n\ 00604 # ones with parent_id = 0. Menu entries are ordered within their\n\ 00605 # level the same way they are ordered in the containing array. Parent\n\ 00606 # entries must appear before their children.\n\ 00607 \n\ 00608 # Example:\n\ 00609 # - id = 3\n\ 00610 # parent_id = 0\n\ 00611 # title = \"fun\"\n\ 00612 # - id = 2\n\ 00613 # parent_id = 0\n\ 00614 # title = \"robot\"\n\ 00615 # - id = 4\n\ 00616 # parent_id = 2\n\ 00617 # title = \"pr2\"\n\ 00618 # - id = 5\n\ 00619 # parent_id = 2\n\ 00620 # title = \"turtle\"\n\ 00621 #\n\ 00622 # Gives a menu tree like this:\n\ 00623 # - fun\n\ 00624 # - robot\n\ 00625 # - pr2\n\ 00626 # - turtle\n\ 00627 \n\ 00628 # ID is a number for each menu entry. Must be unique within the\n\ 00629 # control, and should never be 0.\n\ 00630 uint32 id\n\ 00631 \n\ 00632 # ID of the parent of this menu entry, if it is a submenu. If this\n\ 00633 # menu entry is a top-level entry, set parent_id to 0.\n\ 00634 uint32 parent_id\n\ 00635 \n\ 00636 # menu / entry title\n\ 00637 string title\n\ 00638 \n\ 00639 # Arguments to command indicated by command_type (below)\n\ 00640 string command\n\ 00641 \n\ 00642 # Command_type stores the type of response desired when this menu\n\ 00643 # entry is clicked.\n\ 00644 # FEEDBACK: send an InteractiveMarkerFeedback message with menu_entry_id set to this entry's id.\n\ 00645 # ROSRUN: execute \"rosrun\" with arguments given in the command field (above).\n\ 00646 # ROSLAUNCH: execute \"roslaunch\" with arguments given in the command field (above).\n\ 00647 uint8 FEEDBACK=0\n\ 00648 uint8 ROSRUN=1\n\ 00649 uint8 ROSLAUNCH=2\n\ 00650 uint8 command_type\n\ 00651 \n\ 00652 ================================================================================\n\ 00653 MSG: visualization_msgs/InteractiveMarkerControl\n\ 00654 # Represents a control that is to be displayed together with an interactive marker\n\ 00655 \n\ 00656 # Identifying string for this control.\n\ 00657 # You need to assign a unique value to this to receive feedback from the GUI\n\ 00658 # on what actions the user performs on this control (e.g. a button click).\n\ 00659 string name\n\ 00660 \n\ 00661 \n\ 00662 # Defines the local coordinate frame (relative to the pose of the parent\n\ 00663 # interactive marker) in which is being rotated and translated.\n\ 00664 # Default: Identity\n\ 00665 geometry_msgs/Quaternion orientation\n\ 00666 \n\ 00667 \n\ 00668 # Orientation mode: controls how orientation changes.\n\ 00669 # INHERIT: Follow orientation of interactive marker\n\ 00670 # FIXED: Keep orientation fixed at initial state\n\ 00671 # VIEW_FACING: Align y-z plane with screen (x: forward, y:left, z:up).\n\ 00672 uint8 INHERIT = 0 \n\ 00673 uint8 FIXED = 1\n\ 00674 uint8 VIEW_FACING = 2\n\ 00675 \n\ 00676 uint8 orientation_mode\n\ 00677 \n\ 00678 # Interaction mode for this control\n\ 00679 # \n\ 00680 # NONE: This control is only meant for visualization; no context menu.\n\ 00681 # MENU: Like NONE, but right-click menu is active.\n\ 00682 # BUTTON: Element can be left-clicked.\n\ 00683 # MOVE_AXIS: Translate along local x-axis.\n\ 00684 # MOVE_PLANE: Translate in local y-z plane.\n\ 00685 # ROTATE_AXIS: Rotate around local x-axis.\n\ 00686 # MOVE_ROTATE: Combines MOVE_PLANE and ROTATE_AXIS.\n\ 00687 uint8 NONE = 0 \n\ 00688 uint8 MENU = 1\n\ 00689 uint8 BUTTON = 2\n\ 00690 uint8 MOVE_AXIS = 3 \n\ 00691 uint8 MOVE_PLANE = 4\n\ 00692 uint8 ROTATE_AXIS = 5\n\ 00693 uint8 MOVE_ROTATE = 6\n\ 00694 \n\ 00695 uint8 interaction_mode\n\ 00696 \n\ 00697 \n\ 00698 # If true, the contained markers will also be visible\n\ 00699 # when the gui is not in interactive mode.\n\ 00700 bool always_visible\n\ 00701 \n\ 00702 \n\ 00703 # Markers to be displayed as custom visual representation.\n\ 00704 # Leave this empty to use the default control handles.\n\ 00705 #\n\ 00706 # Note: \n\ 00707 # - The markers can be defined in an arbitrary coordinate frame,\n\ 00708 # but will be transformed into the local frame of the interactive marker.\n\ 00709 # - If the header of a marker is empty, its pose will be interpreted as \n\ 00710 # relative to the pose of the parent interactive marker.\n\ 00711 Marker[] markers\n\ 00712 \n\ 00713 \n\ 00714 # In VIEW_FACING mode, set this to true if you don't want the markers\n\ 00715 # to be aligned with the camera view point. The markers will show up\n\ 00716 # as in INHERIT mode.\n\ 00717 bool independent_marker_orientation\n\ 00718 \n\ 00719 \n\ 00720 # Short description (< 40 characters) of what this control does,\n\ 00721 # e.g. \"Move the robot\". \n\ 00722 # Default: A generic description based on the interaction mode\n\ 00723 string description\n\ 00724 \n\ 00725 ================================================================================\n\ 00726 MSG: visualization_msgs/Marker\n\ 00727 # See http://www.ros.org/wiki/rviz/DisplayTypes/Marker and http://www.ros.org/wiki/rviz/Tutorials/Markers%3A%20Basic%20Shapes for more information on using this message with rviz\n\ 00728 \n\ 00729 uint8 ARROW=0\n\ 00730 uint8 CUBE=1\n\ 00731 uint8 SPHERE=2\n\ 00732 uint8 CYLINDER=3\n\ 00733 uint8 LINE_STRIP=4\n\ 00734 uint8 LINE_LIST=5\n\ 00735 uint8 CUBE_LIST=6\n\ 00736 uint8 SPHERE_LIST=7\n\ 00737 uint8 POINTS=8\n\ 00738 uint8 TEXT_VIEW_FACING=9\n\ 00739 uint8 MESH_RESOURCE=10\n\ 00740 uint8 TRIANGLE_LIST=11\n\ 00741 \n\ 00742 uint8 ADD=0\n\ 00743 uint8 MODIFY=0\n\ 00744 uint8 DELETE=2\n\ 00745 \n\ 00746 Header header # header for time/frame information\n\ 00747 string ns # Namespace to place this object in... used in conjunction with id to create a unique name for the object\n\ 00748 int32 id # object ID useful in conjunction with the namespace for manipulating and deleting the object later\n\ 00749 int32 type # Type of object\n\ 00750 int32 action # 0 add/modify an object, 1 (deprecated), 2 deletes an object\n\ 00751 geometry_msgs/Pose pose # Pose of the object\n\ 00752 geometry_msgs/Vector3 scale # Scale of the object 1,1,1 means default (usually 1 meter square)\n\ 00753 std_msgs/ColorRGBA color # Color [0.0-1.0]\n\ 00754 duration lifetime # How long the object should last before being automatically deleted. 0 means forever\n\ 00755 bool frame_locked # If this marker should be frame-locked, i.e. retransformed into its frame every timestep\n\ 00756 \n\ 00757 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\ 00758 geometry_msgs/Point[] points\n\ 00759 #Only used if the type specified has some use for them (eg. POINTS, LINE_STRIP, ...)\n\ 00760 #number of colors must either be 0 or equal to the number of points\n\ 00761 #NOTE: alpha is not yet used\n\ 00762 std_msgs/ColorRGBA[] colors\n\ 00763 \n\ 00764 # NOTE: only used for text markers\n\ 00765 string text\n\ 00766 \n\ 00767 # NOTE: only used for MESH_RESOURCE markers\n\ 00768 string mesh_resource\n\ 00769 bool mesh_use_embedded_materials\n\ 00770 \n\ 00771 ================================================================================\n\ 00772 MSG: geometry_msgs/Vector3\n\ 00773 # This represents a vector in free space. \n\ 00774 \n\ 00775 float64 x\n\ 00776 float64 y\n\ 00777 float64 z\n\ 00778 ================================================================================\n\ 00779 MSG: std_msgs/ColorRGBA\n\ 00780 float32 r\n\ 00781 float32 g\n\ 00782 float32 b\n\ 00783 float32 a\n\ 00784 \n\ 00785 ================================================================================\n\ 00786 MSG: visualization_msgs/InteractiveMarkerPose\n\ 00787 # Time/frame info.\n\ 00788 Header header\n\ 00789 \n\ 00790 # Initial pose. Also, defines the pivot point for rotations.\n\ 00791 geometry_msgs/Pose pose\n\ 00792 \n\ 00793 # Identifying string. Must be globally unique in\n\ 00794 # the topic that this message is sent through.\n\ 00795 string name\n\ 00796 \n\ 00797 "; 00798 } 00799 00800 static const char* value(const ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> &) { return value(); } 00801 }; 00802 00803 } // namespace message_traits 00804 } // namespace ros 00805 00806 namespace ros 00807 { 00808 namespace serialization 00809 { 00810 00811 template<class ContainerAllocator> struct Serializer< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > 00812 { 00813 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00814 { 00815 stream.next(m.server_id); 00816 stream.next(m.seq_num); 00817 stream.next(m.type); 00818 stream.next(m.markers); 00819 stream.next(m.poses); 00820 stream.next(m.erases); 00821 } 00822 00823 ROS_DECLARE_ALLINONE_SERIALIZER; 00824 }; // struct InteractiveMarkerUpdateWeb_ 00825 } // namespace serialization 00826 } // namespace ros 00827 00828 namespace ros 00829 { 00830 namespace message_operations 00831 { 00832 00833 template<class ContainerAllocator> 00834 struct Printer< ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> > 00835 { 00836 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::interactive_marker_client::InteractiveMarkerUpdateWeb_<ContainerAllocator> & v) 00837 { 00838 s << indent << "server_id: "; 00839 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.server_id); 00840 s << indent << "seq_num: "; 00841 Printer<uint64_t>::stream(s, indent + " ", v.seq_num); 00842 s << indent << "type: "; 00843 Printer<uint8_t>::stream(s, indent + " ", v.type); 00844 s << indent << "markers[]" << std::endl; 00845 for (size_t i = 0; i < v.markers.size(); ++i) 00846 { 00847 s << indent << " markers[" << i << "]: "; 00848 s << std::endl; 00849 s << indent; 00850 Printer< ::visualization_msgs::InteractiveMarker_<ContainerAllocator> >::stream(s, indent + " ", v.markers[i]); 00851 } 00852 s << indent << "poses[]" << std::endl; 00853 for (size_t i = 0; i < v.poses.size(); ++i) 00854 { 00855 s << indent << " poses[" << i << "]: "; 00856 s << std::endl; 00857 s << indent; 00858 Printer< ::visualization_msgs::InteractiveMarkerPose_<ContainerAllocator> >::stream(s, indent + " ", v.poses[i]); 00859 } 00860 s << indent << "erases[]" << std::endl; 00861 for (size_t i = 0; i < v.erases.size(); ++i) 00862 { 00863 s << indent << " erases[" << i << "]: "; 00864 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.erases[i]); 00865 } 00866 } 00867 }; 00868 00869 00870 } // namespace message_operations 00871 } // namespace ros 00872 00873 #endif // INTERACTIVE_MARKER_CLIENT_MESSAGE_INTERACTIVEMARKERUPDATEWEB_H 00874