$search
00001 /* Auto-generated by genmsg_cpp for file /home/rosbuild/hudson/workspace/doc-electric-arm_navigation/doc_stacks/2013-03-01_14-05-03.553953/arm_navigation/arm_navigation_msgs/msg/CollisionOperation.msg */ 00002 #ifndef ARM_NAVIGATION_MSGS_MESSAGE_COLLISIONOPERATION_H 00003 #define ARM_NAVIGATION_MSGS_MESSAGE_COLLISIONOPERATION_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 00018 namespace arm_navigation_msgs 00019 { 00020 template <class ContainerAllocator> 00021 struct CollisionOperation_ { 00022 typedef CollisionOperation_<ContainerAllocator> Type; 00023 00024 CollisionOperation_() 00025 : object1() 00026 , object2() 00027 , penetration_distance(0.0) 00028 , operation(0) 00029 { 00030 } 00031 00032 CollisionOperation_(const ContainerAllocator& _alloc) 00033 : object1(_alloc) 00034 , object2(_alloc) 00035 , penetration_distance(0.0) 00036 , operation(0) 00037 { 00038 } 00039 00040 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _object1_type; 00041 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > object1; 00042 00043 typedef std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > _object2_type; 00044 std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > object2; 00045 00046 typedef double _penetration_distance_type; 00047 double penetration_distance; 00048 00049 typedef int32_t _operation_type; 00050 int32_t operation; 00051 00052 static const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > COLLISION_SET_ALL; 00053 static const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > COLLISION_SET_OBJECTS; 00054 static const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > COLLISION_SET_ATTACHED_OBJECTS; 00055 enum { DISABLE = 0 }; 00056 enum { ENABLE = 1 }; 00057 00058 private: 00059 static const char* __s_getDataType_() { return "arm_navigation_msgs/CollisionOperation"; } 00060 public: 00061 ROS_DEPRECATED static const std::string __s_getDataType() { return __s_getDataType_(); } 00062 00063 ROS_DEPRECATED const std::string __getDataType() const { return __s_getDataType_(); } 00064 00065 private: 00066 static const char* __s_getMD5Sum_() { return "e0cf3073b26bd86266c918a0c779f8a2"; } 00067 public: 00068 ROS_DEPRECATED static const std::string __s_getMD5Sum() { return __s_getMD5Sum_(); } 00069 00070 ROS_DEPRECATED const std::string __getMD5Sum() const { return __s_getMD5Sum_(); } 00071 00072 private: 00073 static const char* __s_getMessageDefinition_() { return "# A definition of a collision operation\n\ 00074 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\ 00075 # between the gripper and all objects in the collision space\n\ 00076 \n\ 00077 string object1\n\ 00078 string object2\n\ 00079 string COLLISION_SET_ALL=\"all\"\n\ 00080 string COLLISION_SET_OBJECTS=\"objects\"\n\ 00081 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\ 00082 \n\ 00083 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\ 00084 float64 penetration_distance\n\ 00085 \n\ 00086 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\ 00087 int32 operation\n\ 00088 int32 DISABLE=0\n\ 00089 int32 ENABLE=1\n\ 00090 \n\ 00091 "; } 00092 public: 00093 ROS_DEPRECATED static const std::string __s_getMessageDefinition() { return __s_getMessageDefinition_(); } 00094 00095 ROS_DEPRECATED const std::string __getMessageDefinition() const { return __s_getMessageDefinition_(); } 00096 00097 ROS_DEPRECATED virtual uint8_t *serialize(uint8_t *write_ptr, uint32_t seq) const 00098 { 00099 ros::serialization::OStream stream(write_ptr, 1000000000); 00100 ros::serialization::serialize(stream, object1); 00101 ros::serialization::serialize(stream, object2); 00102 ros::serialization::serialize(stream, penetration_distance); 00103 ros::serialization::serialize(stream, operation); 00104 return stream.getData(); 00105 } 00106 00107 ROS_DEPRECATED virtual uint8_t *deserialize(uint8_t *read_ptr) 00108 { 00109 ros::serialization::IStream stream(read_ptr, 1000000000); 00110 ros::serialization::deserialize(stream, object1); 00111 ros::serialization::deserialize(stream, object2); 00112 ros::serialization::deserialize(stream, penetration_distance); 00113 ros::serialization::deserialize(stream, operation); 00114 return stream.getData(); 00115 } 00116 00117 ROS_DEPRECATED virtual uint32_t serializationLength() const 00118 { 00119 uint32_t size = 0; 00120 size += ros::serialization::serializationLength(object1); 00121 size += ros::serialization::serializationLength(object2); 00122 size += ros::serialization::serializationLength(penetration_distance); 00123 size += ros::serialization::serializationLength(operation); 00124 return size; 00125 } 00126 00127 typedef boost::shared_ptr< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > Ptr; 00128 typedef boost::shared_ptr< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> const> ConstPtr; 00129 boost::shared_ptr<std::map<std::string, std::string> > __connection_header; 00130 }; // struct CollisionOperation 00131 typedef ::arm_navigation_msgs::CollisionOperation_<std::allocator<void> > CollisionOperation; 00132 00133 typedef boost::shared_ptr< ::arm_navigation_msgs::CollisionOperation> CollisionOperationPtr; 00134 typedef boost::shared_ptr< ::arm_navigation_msgs::CollisionOperation const> CollisionOperationConstPtr; 00135 00136 template<typename ContainerAllocator> const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > CollisionOperation_<ContainerAllocator>::COLLISION_SET_ALL = "\"all\""; 00137 template<typename ContainerAllocator> const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > CollisionOperation_<ContainerAllocator>::COLLISION_SET_OBJECTS = "\"objects\""; 00138 template<typename ContainerAllocator> const std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > CollisionOperation_<ContainerAllocator>::COLLISION_SET_ATTACHED_OBJECTS = "\"attached\""; 00139 00140 template<typename ContainerAllocator> 00141 std::ostream& operator<<(std::ostream& s, const ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> & v) 00142 { 00143 ros::message_operations::Printer< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> >::stream(s, "", v); 00144 return s;} 00145 00146 } // namespace arm_navigation_msgs 00147 00148 namespace ros 00149 { 00150 namespace message_traits 00151 { 00152 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > : public TrueType {}; 00153 template<class ContainerAllocator> struct IsMessage< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> const> : public TrueType {}; 00154 template<class ContainerAllocator> 00155 struct MD5Sum< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > { 00156 static const char* value() 00157 { 00158 return "e0cf3073b26bd86266c918a0c779f8a2"; 00159 } 00160 00161 static const char* value(const ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> &) { return value(); } 00162 static const uint64_t static_value1 = 0xe0cf3073b26bd862ULL; 00163 static const uint64_t static_value2 = 0x66c918a0c779f8a2ULL; 00164 }; 00165 00166 template<class ContainerAllocator> 00167 struct DataType< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > { 00168 static const char* value() 00169 { 00170 return "arm_navigation_msgs/CollisionOperation"; 00171 } 00172 00173 static const char* value(const ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> &) { return value(); } 00174 }; 00175 00176 template<class ContainerAllocator> 00177 struct Definition< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > { 00178 static const char* value() 00179 { 00180 return "# A definition of a collision operation\n\ 00181 # E.g. (\"gripper\",COLLISION_SET_ALL,ENABLE) will enable collisions \n\ 00182 # between the gripper and all objects in the collision space\n\ 00183 \n\ 00184 string object1\n\ 00185 string object2\n\ 00186 string COLLISION_SET_ALL=\"all\"\n\ 00187 string COLLISION_SET_OBJECTS=\"objects\"\n\ 00188 string COLLISION_SET_ATTACHED_OBJECTS=\"attached\"\n\ 00189 \n\ 00190 # The penetration distance to which collisions are allowed. This is 0.0 by default.\n\ 00191 float64 penetration_distance\n\ 00192 \n\ 00193 # Flag that determines whether collisions will be enabled or disabled for the pair of objects specified above\n\ 00194 int32 operation\n\ 00195 int32 DISABLE=0\n\ 00196 int32 ENABLE=1\n\ 00197 \n\ 00198 "; 00199 } 00200 00201 static const char* value(const ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> &) { return value(); } 00202 }; 00203 00204 } // namespace message_traits 00205 } // namespace ros 00206 00207 namespace ros 00208 { 00209 namespace serialization 00210 { 00211 00212 template<class ContainerAllocator> struct Serializer< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > 00213 { 00214 template<typename Stream, typename T> inline static void allInOne(Stream& stream, T m) 00215 { 00216 stream.next(m.object1); 00217 stream.next(m.object2); 00218 stream.next(m.penetration_distance); 00219 stream.next(m.operation); 00220 } 00221 00222 ROS_DECLARE_ALLINONE_SERIALIZER; 00223 }; // struct CollisionOperation_ 00224 } // namespace serialization 00225 } // namespace ros 00226 00227 namespace ros 00228 { 00229 namespace message_operations 00230 { 00231 00232 template<class ContainerAllocator> 00233 struct Printer< ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> > 00234 { 00235 template<typename Stream> static void stream(Stream& s, const std::string& indent, const ::arm_navigation_msgs::CollisionOperation_<ContainerAllocator> & v) 00236 { 00237 s << indent << "object1: "; 00238 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.object1); 00239 s << indent << "object2: "; 00240 Printer<std::basic_string<char, std::char_traits<char>, typename ContainerAllocator::template rebind<char>::other > >::stream(s, indent + " ", v.object2); 00241 s << indent << "penetration_distance: "; 00242 Printer<double>::stream(s, indent + " ", v.penetration_distance); 00243 s << indent << "operation: "; 00244 Printer<int32_t>::stream(s, indent + " ", v.operation); 00245 } 00246 }; 00247 00248 00249 } // namespace message_operations 00250 } // namespace ros 00251 00252 #endif // ARM_NAVIGATION_MSGS_MESSAGE_COLLISIONOPERATION_H 00253