5 #ifndef SENSOR_MSGS_MESSAGE_JOINTSTATE_H 6 #define SENSOR_MSGS_MESSAGE_JOINTSTATE_H 22 template <
class ContainerAllocator>
48 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 >
_name_type;
51 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >
_position_type;
54 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >
_velocity_type;
57 typedef std::vector<double, typename ContainerAllocator::template rebind<double>::other >
_effort_type;
68 typedef ::sensor_msgs::JointState_<std::allocator<void> >
JointState;
77 template<
typename ContainerAllocator>
78 std::ostream& operator<<(std::ostream& s, const ::sensor_msgs::JointState_<ContainerAllocator> &
v)
88 namespace message_traits
101 template <
class ContainerAllocator>
106 template <
class ContainerAllocator>
111 template <
class ContainerAllocator>
116 template <
class ContainerAllocator>
121 template <
class ContainerAllocator>
126 template <
class ContainerAllocator>
132 template<
class ContainerAllocator>
137 return "3066dcd76a6cfaef579bd0f34173e9fd";
140 static const char*
value(const ::sensor_msgs::JointState_<ContainerAllocator>&) {
return value(); }
141 static const uint64_t static_value1 = 0x3066dcd76a6cfaefULL;
142 static const uint64_t static_value2 = 0x579bd0f34173e9fdULL;
145 template<
class ContainerAllocator>
150 return "sensor_msgs/JointState";
153 static const char*
value(const ::sensor_msgs::JointState_<ContainerAllocator>&) {
return value(); }
156 template<
class ContainerAllocator>
161 return "# This is a message that holds data to describe the state of a set of torque controlled joints. \n\ 163 # The state of each joint (revolute or prismatic) is defined by:\n\ 164 # * the position of the joint (rad or m),\n\ 165 # * the velocity of the joint (rad/s or m/s) and \n\ 166 # * the effort that is applied in the joint (Nm or N).\n\ 168 # Each joint is uniquely identified by its name\n\ 169 # The header specifies the time at which the joint states were recorded. All the joint states\n\ 170 # in one message have to be recorded at the same time.\n\ 172 # This message consists of a multiple arrays, one for each part of the joint state. \n\ 173 # The goal is to make each of the fields optional. When e.g. your joints have no\n\ 174 # effort associated with them, you can leave the effort array empty. \n\ 176 # All arrays in this message should have the same size, or be empty.\n\ 177 # This is the only way to uniquely associate the joint name with the correct\n\ 184 float64[] position\n\ 185 float64[] velocity\n\ 188 ================================================================================\n\ 189 MSG: std_msgs/Header\n\ 190 # Standard metadata for higher-level stamped data types.\n\ 191 # This is generally used to communicate timestamped data \n\ 192 # in a particular coordinate frame.\n\ 194 # sequence ID: consecutively increasing ID \n\ 196 #Two-integer timestamp that is expressed as:\n\ 197 # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')\n\ 198 # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')\n\ 199 # time-handling sugar is provided by the client library\n\ 201 #Frame this data is associated with\n\ 208 static const char*
value(const ::sensor_msgs::JointState_<ContainerAllocator>&) {
return value(); }
216 namespace serialization
223 stream.next(m.header);
225 stream.next(m.position);
226 stream.next(m.velocity);
227 stream.next(m.effort);
238 namespace message_operations
241 template<
class ContainerAllocator>
244 template<
typename Stream>
static void stream(Stream&
s,
const std::string& indent, const ::sensor_msgs::JointState_<ContainerAllocator>&
v)
246 s << indent <<
"header: ";
249 s << indent <<
"name[]" << std::endl;
250 for (
size_t i = 0;
i < v.name.size(); ++
i)
252 s << indent <<
" name[" <<
i <<
"]: ";
255 s << indent <<
"position[]" << std::endl;
256 for (
size_t i = 0;
i < v.position.size(); ++
i)
258 s << indent <<
" position[" <<
i <<
"]: ";
261 s << indent <<
"velocity[]" << std::endl;
262 for (
size_t i = 0;
i < v.velocity.size(); ++
i)
264 s << indent <<
" velocity[" <<
i <<
"]: ";
267 s << indent <<
"effort[]" << std::endl;
268 for (
size_t i = 0;
i < v.effort.size(); ++
i)
270 s << indent <<
" effort[" <<
i <<
"]: ";
279 #endif // SENSOR_MSGS_MESSAGE_JOINTSTATE_H
typedef void(APIENTRY *GLDEBUGPROC)(GLenum source
boost::shared_ptr< ::sensor_msgs::JointState_< ContainerAllocator > > Ptr
GLuint const GLchar * name
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
std::vector< double, typename ContainerAllocator::template rebind< double >::other > _effort_type
JointState_< ContainerAllocator > Type
::sensor_msgs::JointState_< std::allocator< void > > JointState
Specialize to provide the md5sum for a message.
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 > _name_type
Base type for compile-type true/false tests. Compatible with Boost.MPL. classes inheriting from this ...
GLsizei const GLchar *const * string
boost::shared_ptr< ::sensor_msgs::JointState > JointStatePtr
Specialize to provide the datatype for a message.
A fixed-size datatype is one whose size is constant, i.e. it has no variable-length arrays or strings...
static const char * value(const ::sensor_msgs::JointState_< ContainerAllocator > &)
::std_msgs::Header_< ContainerAllocator > _header_type
Stream base-class, provides common functionality for IStream and OStream.
Tools for manipulating sensor_msgs.
boost::shared_ptr< ::sensor_msgs::JointState_< ContainerAllocator > const > ConstPtr
#define ROS_DECLARE_ALLINONE_SERIALIZER
Declare your serializer to use an allInOne member instead of requiring 3 different serialization func...
unsigned __int64 uint64_t
Specialize to provide the definition for a message.
std::vector< double, typename ContainerAllocator::template rebind< double >::other > _position_type
JointState_(const ContainerAllocator &_alloc)
static const char * value(const ::sensor_msgs::JointState_< ContainerAllocator > &)
static void allInOne(Stream &stream, T m)
boost::shared_ptr< ::sensor_msgs::JointState const > JointStateConstPtr
static void stream(Stream &s, const std::string &indent, const ::sensor_msgs::JointState_< ContainerAllocator > &v)
static const char * value()
Templated serialization class. Default implementation provides backwards compatibility with old messa...
std::vector< double, typename ContainerAllocator::template rebind< double >::other > _velocity_type
static const char * value()
static const char * value()
static const char * value(const ::sensor_msgs::JointState_< ContainerAllocator > &)