00001
00002 #ifndef DYNAMIC_OBS_MSGS_MESSAGE_DYNAMICOBSTACLES_H
00003 #define DYNAMIC_OBS_MSGS_MESSAGE_DYNAMICOBSTACLES_H
00004 #include <string>
00005 #include <vector>
00006 #include <ostream>
00007 #include "ros/serialization.h"
00008 #include "ros/builtin_message_traits.h"
00009 #include "ros/message_operations.h"
00010 #include "ros/message.h"
00011 #include "ros/time.h"
00012
00013 #include "std_msgs/Header.h"
00014 #include "dynamic_obs_msgs/DynamicObstacle.h"
00015
00016 namespace dynamic_obs_msgs
00017 {
00018 template <class ContainerAllocator>
00019 struct DynamicObstacles_ : public ros::Message
00020 {
00021 typedef DynamicObstacles_<ContainerAllocator> Type;
00022
00023 DynamicObstacles_()
00024 : header()
00025 , dyn_obs()
00026 {
00027 }
00028
00029 DynamicObstacles_(const ContainerAllocator& _alloc)
00030 : header(_alloc)
00031 , dyn_obs(_alloc)
00032 {
00033 }
00034
00035 typedef ::std_msgs::Header_<ContainerAllocator> _header_type;
00036 ::std_msgs::Header_<ContainerAllocator> header;
00037
00038 typedef std::vector< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> >::other > _dyn_obs_type;
00039 std::vector< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> >::other > dyn_obs;
00040
00041
00042 ROS_DEPRECATED uint32_t get_dyn_obs_size() const { return (uint32_t)dyn_obs.size(); }
00043 ROS_DEPRECATED void set_dyn_obs_size(uint32_t size) { dyn_obs.resize((size_t)size); }
00044 ROS_DEPRECATED void get_dyn_obs_vec(std::vector< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> >::other > & vec) const { vec = this->dyn_obs; }
00045 ROS_DEPRECATED void set_dyn_obs_vec(const std::vector< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> , typename ContainerAllocator::template rebind< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> >::other > & vec) { this->dyn_obs = vec; }
00046 private:
00047 static const char* __s_getDataType_() { return "dynamic_obs_msgs/DynamicObstacles"; }
00048 public:
00049 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); }
00050
00051 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); }
00052
00053 private:
00054 static const char* __s_getMD5Sum_() { return "92b063c75c79b3baa03490e44c9c700b"; }
00055 public:
00056 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); }
00057
00058 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); }
00059
00060 private:
00061 static const char* __s_getMessageDefinition_() { return "#an array of dynamic obstacles\n\
00062 Header header\n\
00063 DynamicObstacle[] dyn_obs\n\
00064 \n\
00065 ================================================================================\n\
00066 MSG: std_msgs/Header\n\
00067 # Standard metadata for higher-level stamped data types.\n\
00068 # This is generally used to communicate timestamped data \n\
00069 # in a particular coordinate frame.\n\
00070 # \n\
00071 # sequence ID: consecutively increasing ID \n\
00072 uint32 seq\n\
00073 #Two-integer timestamp that is expressed as:\n\
00074 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00075 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00076 # time-handling sugar is provided by the client library\n\
00077 time stamp\n\
00078 #Frame this data is associated with\n\
00079 # 0: no frame\n\
00080 # 1: global frame\n\
00081 string frame_id\n\
00082 \n\
00083 ================================================================================\n\
00084 MSG: dynamic_obs_msgs/DynamicObstacle\n\
00085 #the radius of the dynamic obstacle\n\
00086 float64 radius\n\
00087 \n\
00088 #a list of possible trajectories it may follow (with probabilities summing to 1)\n\
00089 DynObsTrajectory[] trajectories\n\
00090 \n\
00091 ================================================================================\n\
00092 MSG: dynamic_obs_msgs/DynObsTrajectory\n\
00093 #a dynamic obstacle trajectory\n\
00094 \n\
00095 #the probability of the obstacle following this trajectory\n\
00096 float64 probability\n\
00097 \n\
00098 #whether this obstacle should be treated like a static obstacle at the end of its trajectory (true) \n\
00099 #or the obstacle is ignored after the end of its trajectory (false)\n\
00100 bool exists_after\n\
00101 \n\
00102 #the time parameterized path\n\
00103 geometry_msgs/PoseWithCovarianceStamped[] points\n\
00104 \n\
00105 ================================================================================\n\
00106 MSG: geometry_msgs/PoseWithCovarianceStamped\n\
00107 # This expresses an estimated pose with a reference coordinate frame and timestamp\n\
00108 \n\
00109 Header header\n\
00110 PoseWithCovariance pose\n\
00111 \n\
00112 ================================================================================\n\
00113 MSG: geometry_msgs/PoseWithCovariance\n\
00114 # This represents a pose in free space with uncertainty.\n\
00115 \n\
00116 Pose pose\n\
00117 \n\
00118 # Row-major representation of the 6x6 covariance matrix\n\
00119 # The orientation parameters use a fixed-axis representation.\n\
00120 # In order, the parameters are:\n\
00121 # (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n\
00122 float64[36] covariance\n\
00123 \n\
00124 ================================================================================\n\
00125 MSG: geometry_msgs/Pose\n\
00126 # A representation of pose in free space, composed of postion and orientation. \n\
00127 Point position\n\
00128 Quaternion orientation\n\
00129 \n\
00130 ================================================================================\n\
00131 MSG: geometry_msgs/Point\n\
00132 # This contains the position of a point in free space\n\
00133 float64 x\n\
00134 float64 y\n\
00135 float64 z\n\
00136 \n\
00137 ================================================================================\n\
00138 MSG: geometry_msgs/Quaternion\n\
00139 # This represents an orientation in free space in quaternion form.\n\
00140 \n\
00141 float64 x\n\
00142 float64 y\n\
00143 float64 z\n\
00144 float64 w\n\
00145 \n\
00146 "; }
00147 public:
00148 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); }
00149
00150 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); }
00151
00152 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const
00153 {
00154 ros::serialization::OStream stream(write_ptr, 1000000000);
00155 ros::serialization::serialize(stream, header);
00156 ros::serialization::serialize(stream, dyn_obs);
00157 return stream.getData();
00158 }
00159
00160 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr)
00161 {
00162 ros::serialization::IStream stream(read_ptr, 1000000000);
00163 ros::serialization::deserialize(stream, header);
00164 ros::serialization::deserialize(stream, dyn_obs);
00165 return stream.getData();
00166 }
00167
00168 ROS_DEPRECATED virtual uint32_t serializationLength() const
00169 {
00170 uint32_t size = 0;
00171 size += ros::serialization::serializationLength(header);
00172 size += ros::serialization::serializationLength(dyn_obs);
00173 return size;
00174 }
00175
00176 typedef boost::shared_ptr< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > Ptr;
00177 typedef boost::shared_ptr< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> const> ConstPtr;
00178 };
00179 typedef ::dynamic_obs_msgs::DynamicObstacles_<std::allocator<void> > DynamicObstacles;
00180
00181 typedef boost::shared_ptr< ::dynamic_obs_msgs::DynamicObstacles> DynamicObstaclesPtr;
00182 typedef boost::shared_ptr< ::dynamic_obs_msgs::DynamicObstacles const> DynamicObstaclesConstPtr;
00183
00184
00185 template<typename ContainerAllocator>
00186 std::ostream& operator<<(std::ostream& s, const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> & v)
00187 {
00188 ros::message_operations::Printer< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> >::stream(s, "", v);
00189 return s;}
00190
00191 }
00192
00193 namespace ros
00194 {
00195 namespace message_traits
00196 {
00197 template<class ContainerAllocator>
00198 struct MD5Sum< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > {
00199 static const char* value()
00200 {
00201 return "92b063c75c79b3baa03490e44c9c700b";
00202 }
00203
00204 static const char* value(const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> &) { return value(); }
00205 static const uint64_t static_value1 = 0x92b063c75c79b3baULL;
00206 static const uint64_t static_value2 = 0xa03490e44c9c700bULL;
00207 };
00208
00209 template<class ContainerAllocator>
00210 struct DataType< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > {
00211 static const char* value()
00212 {
00213 return "dynamic_obs_msgs/DynamicObstacles";
00214 }
00215
00216 static const char* value(const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> &) { return value(); }
00217 };
00218
00219 template<class ContainerAllocator>
00220 struct Definition< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > {
00221 static const char* value()
00222 {
00223 return "#an array of dynamic obstacles\n\
00224 Header header\n\
00225 DynamicObstacle[] dyn_obs\n\
00226 \n\
00227 ================================================================================\n\
00228 MSG: std_msgs/Header\n\
00229 # Standard metadata for higher-level stamped data types.\n\
00230 # This is generally used to communicate timestamped data \n\
00231 # in a particular coordinate frame.\n\
00232 # \n\
00233 # sequence ID: consecutively increasing ID \n\
00234 uint32 seq\n\
00235 #Two-integer timestamp that is expressed as:\n\
00236 # * stamp.secs: seconds (stamp_secs) since epoch\n\
00237 # * stamp.nsecs: nanoseconds since stamp_secs\n\
00238 # time-handling sugar is provided by the client library\n\
00239 time stamp\n\
00240 #Frame this data is associated with\n\
00241 # 0: no frame\n\
00242 # 1: global frame\n\
00243 string frame_id\n\
00244 \n\
00245 ================================================================================\n\
00246 MSG: dynamic_obs_msgs/DynamicObstacle\n\
00247 #the radius of the dynamic obstacle\n\
00248 float64 radius\n\
00249 \n\
00250 #a list of possible trajectories it may follow (with probabilities summing to 1)\n\
00251 DynObsTrajectory[] trajectories\n\
00252 \n\
00253 ================================================================================\n\
00254 MSG: dynamic_obs_msgs/DynObsTrajectory\n\
00255 #a dynamic obstacle trajectory\n\
00256 \n\
00257 #the probability of the obstacle following this trajectory\n\
00258 float64 probability\n\
00259 \n\
00260 #whether this obstacle should be treated like a static obstacle at the end of its trajectory (true) \n\
00261 #or the obstacle is ignored after the end of its trajectory (false)\n\
00262 bool exists_after\n\
00263 \n\
00264 #the time parameterized path\n\
00265 geometry_msgs/PoseWithCovarianceStamped[] points\n\
00266 \n\
00267 ================================================================================\n\
00268 MSG: geometry_msgs/PoseWithCovarianceStamped\n\
00269 # This expresses an estimated pose with a reference coordinate frame and timestamp\n\
00270 \n\
00271 Header header\n\
00272 PoseWithCovariance pose\n\
00273 \n\
00274 ================================================================================\n\
00275 MSG: geometry_msgs/PoseWithCovariance\n\
00276 # This represents a pose in free space with uncertainty.\n\
00277 \n\
00278 Pose pose\n\
00279 \n\
00280 # Row-major representation of the 6x6 covariance matrix\n\
00281 # The orientation parameters use a fixed-axis representation.\n\
00282 # In order, the parameters are:\n\
00283 # (x, y, z, rotation about X axis, rotation about Y axis, rotation about Z axis)\n\
00284 float64[36] covariance\n\
00285 \n\
00286 ================================================================================\n\
00287 MSG: geometry_msgs/Pose\n\
00288 # A representation of pose in free space, composed of postion and orientation. \n\
00289 Point position\n\
00290 Quaternion orientation\n\
00291 \n\
00292 ================================================================================\n\
00293 MSG: geometry_msgs/Point\n\
00294 # This contains the position of a point in free space\n\
00295 float64 x\n\
00296 float64 y\n\
00297 float64 z\n\
00298 \n\
00299 ================================================================================\n\
00300 MSG: geometry_msgs/Quaternion\n\
00301 # This represents an orientation in free space in quaternion form.\n\
00302 \n\
00303 float64 x\n\
00304 float64 y\n\
00305 float64 z\n\
00306 float64 w\n\
00307 \n\
00308 ";
00309 }
00310
00311 static const char* value(const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> &) { return value(); }
00312 };
00313
00314 template<class ContainerAllocator> struct HasHeader< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > : public TrueType {};
00315 template<class ContainerAllocator> struct HasHeader< const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> > : public TrueType {};
00316 }
00317 }
00318
00319 namespace ros
00320 {
00321 namespace serialization
00322 {
00323
00324 template<class ContainerAllocator> struct Serializer< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> >
00325 {
00326 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m)
00327 {
00328 stream.next(m.header);
00329 stream.next(m.dyn_obs);
00330 }
00331
00332 ROS_DECLARE_ALLINONE_SERIALIZER;
00333 };
00334 }
00335 }
00336
00337 namespace ros
00338 {
00339 namespace message_operations
00340 {
00341
00342 template<class ContainerAllocator>
00343 struct Printer< ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> >
00344 {
00345 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::dynamic_obs_msgs::DynamicObstacles_<ContainerAllocator> & v)
00346 {
00347 s << indent << "header: ";
00348 s << std::endl;
00349 Printer< ::std_msgs::Header_<ContainerAllocator> >::stream(s, indent + " ", v.header);
00350 s << indent << "dyn_obs[]" << std::endl;
00351 for (size_t i = 0; i < v.dyn_obs.size(); ++i)
00352 {
00353 s << indent << " dyn_obs[" << i << "]: ";
00354 s << std::endl;
00355 s << indent;
00356 Printer< ::dynamic_obs_msgs::DynamicObstacle_<ContainerAllocator> >::stream(s, indent + " ", v.dyn_obs[i]);
00357 }
00358 }
00359 };
00360
00361
00362 }
00363 }
00364
00365 #endif // DYNAMIC_OBS_MSGS_MESSAGE_DYNAMICOBSTACLES_H
00366