WorldState.h
Go to the documentation of this file.
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-groovy-simulator_gazebo/doc_stacks/2014-10-06_12-11-14.842894/simulator_gazebo/gazebo_msgs/msg/WorldState.msg */
00002 #ifndef GAZEBO_MSGS_MESSAGE_WORLDSTATE_H
00003 #define GAZEBO_MSGS_MESSAGE_WORLDSTATE_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 "std_msgs/Header.h"
00018 #include "geometry_msgs/Pose.h"
00019 #include "geometry_msgs/Twist.h"
00020 #include "geometry_msgs/Wrench.h"
00021 
00022 namespace gazebo_msgs
00023 {
00024 template <class ContainerAllocator>
00025 struct WorldState_ {
00026   typedef WorldState_<ContainerAllocator> Type;
00027 
00028   WorldState_()
00029   : header()
00030   , name()
00031   , pose()
00032   , twist()
00033   , wrench()
00034   {
00035   }
00036 
00037   WorldState_(const ContainerAllocator& _alloc)
00038   : header(_alloc)
00039   , name(_alloc)
00040   , pose(_alloc)
00041   , twist(_alloc)
00042   , wrench(_alloc)
00043   {
00044   }
00045 
00046   typedef  ::std_msgs::Header_<ContainerAllocator>  _header_type;
00047    ::std_msgs::Header_<ContainerAllocator>  header;
00048 
00049   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;
00050   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;
00051 
00052   typedef std::vector< ::geometry_msgs::Pose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Pose_<ContainerAllocator> >::other >  _pose_type;
00053   std::vector< ::geometry_msgs::Pose_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Pose_<ContainerAllocator> >::other >  pose;
00054 
00055   typedef std::vector< ::geometry_msgs::Twist_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Twist_<ContainerAllocator> >::other >  _twist_type;
00056   std::vector< ::geometry_msgs::Twist_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Twist_<ContainerAllocator> >::other >  twist;
00057 
00058   typedef std::vector< ::geometry_msgs::Wrench_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Wrench_<ContainerAllocator> >::other >  _wrench_type;
00059   std::vector< ::geometry_msgs::Wrench_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::geometry_msgs::Wrench_<ContainerAllocator> >::other >  wrench;
00060 
00061 
00062   typedef boost::shared_ptr< ::gazebo_msgs::WorldState_<ContainerAllocator> > Ptr;
00063   typedef boost::shared_ptr< ::gazebo_msgs::WorldState_<ContainerAllocator>  const> ConstPtr;
00064   boost::shared_ptr<std::map<std::string, std::string> > __connection_header;
00065 }; // struct WorldState
00066 typedef  ::gazebo_msgs::WorldState_<std::allocator<void> > WorldState;
00067 
00068 typedef boost::shared_ptr< ::gazebo_msgs::WorldState> WorldStatePtr;
00069 typedef boost::shared_ptr< ::gazebo_msgs::WorldState const> WorldStateConstPtr;
00070 
00071 
00072 template<typename ContainerAllocator>
00073 std::ostream& operator<<(std::ostream& s, const  ::gazebo_msgs::WorldState_<ContainerAllocator> & v)
00074 {
00075   ros::message_operations::Printer< ::gazebo_msgs::WorldState_<ContainerAllocator> >::stream(s, "", v);
00076   return s;}
00077 
00078 } // namespace gazebo_msgs
00079 
00080 namespace ros
00081 {
00082 namespace message_traits
00083 {
00084 template<class ContainerAllocator> struct IsMessage< ::gazebo_msgs::WorldState_<ContainerAllocator> > : public TrueType {};
00085 template<class ContainerAllocator> struct IsMessage< ::gazebo_msgs::WorldState_<ContainerAllocator>  const> : public TrueType {};
00086 template<class ContainerAllocator>
00087 struct MD5Sum< ::gazebo_msgs::WorldState_<ContainerAllocator> > {
00088   static const char* value() 
00089   {
00090     return "de1a9de3ab7ba97ac0e9ec01a4eb481e";
00091   }
00092 
00093   static const char* value(const  ::gazebo_msgs::WorldState_<ContainerAllocator> &) { return value(); } 
00094   static const uint64_t static_value1 = 0xde1a9de3ab7ba97aULL;
00095   static const uint64_t static_value2 = 0xc0e9ec01a4eb481eULL;
00096 };
00097 
00098 template<class ContainerAllocator>
00099 struct DataType< ::gazebo_msgs::WorldState_<ContainerAllocator> > {
00100   static const char* value() 
00101   {
00102     return "gazebo_msgs/WorldState";
00103   }
00104 
00105   static const char* value(const  ::gazebo_msgs::WorldState_<ContainerAllocator> &) { return value(); } 
00106 };
00107 
00108 template<class ContainerAllocator>
00109 struct Definition< ::gazebo_msgs::WorldState_<ContainerAllocator> > {
00110   static const char* value() 
00111   {
00112     return "# This is a message that holds data necessary to reconstruct a snapshot of the world\n\
00113 #\n\
00114 # = Approach to Message Passing =\n\
00115 # The state of the world is defined by either\n\
00116 #   1. Inertial Model pose, twist\n\
00117 #      * kinematic data - connectivity graph from Model to each Link\n\
00118 #      * joint angles\n\
00119 #      * joint velocities\n\
00120 #      * Applied forces - Body wrench\n\
00121 #        * relative transform from Body to each collision Geom\n\
00122 # Or\n\
00123 #   2. Inertial (absolute) Body pose, twist, wrench\n\
00124 #      * relative transform from Body to each collision Geom - constant, so not sent over wire\n\
00125 #      * back compute from canonical body info to get Model pose and twist.\n\
00126 #\n\
00127 # Chooing (2.) because it matches most physics engines out there\n\
00128 #   and is simpler.\n\
00129 #\n\
00130 # = Future =\n\
00131 # Consider impacts on using reduced coordinates / graph (parent/child links) approach\n\
00132 #   constraint and physics solvers.\n\
00133 #\n\
00134 # = Application =\n\
00135 # This message is used to do the following:\n\
00136 #   * reconstruct the world and objects for sensor generation\n\
00137 #   * stop / start simulation - need pose, twist, wrench of each body\n\
00138 #   * collision detection - need pose of each collision geometry.  velocity/acceleration if \n\
00139 #\n\
00140 # = Assumptions =\n\
00141 # Assuming that each (physics) processor node locally already has\n\
00142 #   * collision information - Trimesh for Geoms, etc\n\
00143 #   * relative transforms from Body to Geom - this is assumed to be fixed, do not send oved wire\n\
00144 #   * inertial information - does not vary in time\n\
00145 #   * visual information - does not vary in time\n\
00146 #\n\
00147 \n\
00148 Header header\n\
00149 \n\
00150 string[] name\n\
00151 geometry_msgs/Pose[] pose\n\
00152 geometry_msgs/Twist[] twist\n\
00153 geometry_msgs/Wrench[] wrench\n\
00154 \n\
00155 ================================================================================\n\
00156 MSG: std_msgs/Header\n\
00157 # Standard metadata for higher-level stamped data types.\n\
00158 # This is generally used to communicate timestamped data \n\
00159 # in a particular coordinate frame.\n\
00160 # \n\
00161 # sequence ID: consecutively increasing ID \n\
00162 uint32 seq\n\
00163 #Two-integer timestamp that is expressed as:\n\
00164 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00165 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00166 # time-handling sugar is provided by the client library\n\
00167 time stamp\n\
00168 #Frame this data is associated with\n\
00169 # 0: no frame\n\
00170 # 1: global frame\n\
00171 string frame_id\n\
00172 \n\
00173 ================================================================================\n\
00174 MSG: geometry_msgs/Pose\n\
00175 # A representation of pose in free space, composed of postion and orientation. \n\
00176 Point position\n\
00177 Quaternion orientation\n\
00178 \n\
00179 ================================================================================\n\
00180 MSG: geometry_msgs/Point\n\
00181 # This contains the position of a point in free space\n\
00182 float64 x\n\
00183 float64 y\n\
00184 float64 z\n\
00185 \n\
00186 ================================================================================\n\
00187 MSG: geometry_msgs/Quaternion\n\
00188 # This represents an orientation in free space in quaternion form.\n\
00189 \n\
00190 float64 x\n\
00191 float64 y\n\
00192 float64 z\n\
00193 float64 w\n\
00194 \n\
00195 ================================================================================\n\
00196 MSG: geometry_msgs/Twist\n\
00197 # This expresses velocity in free space broken into its linear and angular parts.\n\
00198 Vector3  linear\n\
00199 Vector3  angular\n\
00200 \n\
00201 ================================================================================\n\
00202 MSG: geometry_msgs/Vector3\n\
00203 # This represents a vector in free space. \n\
00204 \n\
00205 float64 x\n\
00206 float64 y\n\
00207 float64 z\n\
00208 ================================================================================\n\
00209 MSG: geometry_msgs/Wrench\n\
00210 # This represents force in free space, separated into\n\
00211 # its linear and angular parts.\n\
00212 Vector3  force\n\
00213 Vector3  torque\n\
00214 \n\
00215 ";
00216   }
00217 
00218   static const char* value(const  ::gazebo_msgs::WorldState_<ContainerAllocator> &) { return value(); } 
00219 };
00220 
00221 template<class ContainerAllocator> struct HasHeader< ::gazebo_msgs::WorldState_<ContainerAllocator> > : public TrueType {};
00222 template<class ContainerAllocator> struct HasHeader< const ::gazebo_msgs::WorldState_<ContainerAllocator> > : public TrueType {};
00223 } // namespace message_traits
00224 } // namespace ros
00225 
00226 namespace ros
00227 {
00228 namespace serialization
00229 {
00230 
00231 template<class ContainerAllocator> struct Serializer< ::gazebo_msgs::WorldState_<ContainerAllocator> >
00232 {
00233   template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00234   {
00235     stream.next(m.header);
00236     stream.next(m.name);
00237     stream.next(m.pose);
00238     stream.next(m.twist);
00239     stream.next(m.wrench);
00240   }
00241 
00242   ROS_DECLARE_ALLINONE_SERIALIZER;
00243 }; // struct WorldState_
00244 } // namespace serialization
00245 } // namespace ros
00246 
00247 namespace ros
00248 {
00249 namespace message_operations
00250 {
00251 
00252 template<class ContainerAllocator>
00253 struct Printer< ::gazebo_msgs::WorldState_<ContainerAllocator> >
00254 {
00255   template<typename Stream> static void stream(Stream& s, const std::string& indent, const  ::gazebo_msgs::WorldState_<ContainerAllocator> & v) 
00256   {
00257     s << indent << "header: ";
00258 s << std::endl;
00259     Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + "  ", v.header);
00260     s << indent << "name[]" << std::endl;
00261     for (size_t i = 0; i < v.name.size(); ++i)
00262     {
00263       s << indent << "  name[" << i << "]: ";
00264       Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + "  ", v.name[i]);
00265     }
00266     s << indent << "pose[]" << std::endl;
00267     for (size_t i = 0; i < v.pose.size(); ++i)
00268     {
00269       s << indent << "  pose[" << i << "]: ";
00270       s << std::endl;
00271       s << indent;
00272       Printer< ::geometry_msgs::Pose_<ContainerAllocator> >::stream(s, indent + "    ", v.pose[i]);
00273     }
00274     s << indent << "twist[]" << std::endl;
00275     for (size_t i = 0; i < v.twist.size(); ++i)
00276     {
00277       s << indent << "  twist[" << i << "]: ";
00278       s << std::endl;
00279       s << indent;
00280       Printer< ::geometry_msgs::Twist_<ContainerAllocator> >::stream(s, indent + "    ", v.twist[i]);
00281     }
00282     s << indent << "wrench[]" << std::endl;
00283     for (size_t i = 0; i < v.wrench.size(); ++i)
00284     {
00285       s << indent << "  wrench[" << i << "]: ";
00286       s << std::endl;
00287       s << indent;
00288       Printer< ::geometry_msgs::Wrench_<ContainerAllocator> >::stream(s, indent + "    ", v.wrench[i]);
00289     }
00290   }
00291 };
00292 
00293 
00294 } // namespace message_operations
00295 } // namespace ros
00296 
00297 #endif // GAZEBO_MSGS_MESSAGE_WORLDSTATE_H
00298 


gazebo_msgs
Author(s): John Hsu
autogenerated on Mon Oct 6 2014 12:14:34