rosruby_msgs 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/lib/actionlib_msgs/GoalID.rb +106 -0
  2. data/lib/actionlib_msgs/GoalStatus.rb +160 -0
  3. data/lib/actionlib_msgs/GoalStatusArray.rb +207 -0
  4. data/lib/actionlib_tutorials/AveragingAction.rb +322 -0
  5. data/lib/actionlib_tutorials/AveragingActionFeedback.rb +213 -0
  6. data/lib/actionlib_tutorials/AveragingActionGoal.rb +167 -0
  7. data/lib/actionlib_tutorials/AveragingActionResult.rb +209 -0
  8. data/lib/actionlib_tutorials/AveragingFeedback.rb +93 -0
  9. data/lib/actionlib_tutorials/AveragingGoal.rb +85 -0
  10. data/lib/actionlib_tutorials/AveragingResult.rb +87 -0
  11. data/lib/actionlib_tutorials/FibonacciAction.rb +334 -0
  12. data/lib/actionlib_tutorials/FibonacciActionFeedback.rb +216 -0
  13. data/lib/actionlib_tutorials/FibonacciActionGoal.rb +167 -0
  14. data/lib/actionlib_tutorials/FibonacciActionResult.rb +214 -0
  15. data/lib/actionlib_tutorials/FibonacciFeedback.rb +93 -0
  16. data/lib/actionlib_tutorials/FibonacciGoal.rb +85 -0
  17. data/lib/actionlib_tutorials/FibonacciResult.rb +91 -0
  18. data/lib/geometry_msgs/Point.rb +88 -0
  19. data/lib/geometry_msgs/Point32.rb +94 -0
  20. data/lib/geometry_msgs/PointStamped.rb +133 -0
  21. data/lib/geometry_msgs/Polygon.rb +112 -0
  22. data/lib/geometry_msgs/PolygonStamped.rb +159 -0
  23. data/lib/geometry_msgs/Pose.rb +110 -0
  24. data/lib/geometry_msgs/Pose2D.rb +88 -0
  25. data/lib/geometry_msgs/PoseArray.rb +174 -0
  26. data/lib/geometry_msgs/PoseStamped.rb +150 -0
  27. data/lib/geometry_msgs/PoseWithCovariance.rb +125 -0
  28. data/lib/geometry_msgs/PoseWithCovarianceStamped.rb +169 -0
  29. data/lib/geometry_msgs/Quaternion.rb +91 -0
  30. data/lib/geometry_msgs/QuaternionStamped.rb +136 -0
  31. data/lib/geometry_msgs/Transform.rb +111 -0
  32. data/lib/geometry_msgs/TransformStamped.rb +168 -0
  33. data/lib/geometry_msgs/Twist.rb +100 -0
  34. data/lib/geometry_msgs/TwistStamped.rb +140 -0
  35. data/lib/geometry_msgs/TwistWithCovariance.rb +115 -0
  36. data/lib/geometry_msgs/TwistWithCovarianceStamped.rb +158 -0
  37. data/lib/geometry_msgs/Vector3.rb +88 -0
  38. data/lib/geometry_msgs/Vector3Stamped.rb +133 -0
  39. data/lib/geometry_msgs/Wrench.rb +101 -0
  40. data/lib/geometry_msgs/WrenchStamped.rb +141 -0
  41. data/lib/nav_msgs/GetMap.rb +280 -0
  42. data/lib/nav_msgs/GetPlan.rb +406 -0
  43. data/lib/nav_msgs/GridCells.rb +153 -0
  44. data/lib/nav_msgs/MapMetaData.rb +130 -0
  45. data/lib/nav_msgs/OccupancyGrid.rb +187 -0
  46. data/lib/nav_msgs/Odometry.rb +223 -0
  47. data/lib/nav_msgs/Path.rb +205 -0
  48. data/lib/roscpp/Empty.rb +166 -0
  49. data/lib/roscpp/GetLoggers.rb +205 -0
  50. data/lib/roscpp/Logger.rb +98 -0
  51. data/lib/roscpp/SetLoggerLevel.rb +189 -0
  52. data/lib/roscpp_tutorials/TwoInts.rb +185 -0
  53. data/lib/rosgraph_msgs/Clock.rb +90 -0
  54. data/lib/rosgraph_msgs/Log.rb +210 -0
  55. data/lib/sensor_msgs/CameraInfo.rb +325 -0
  56. data/lib/sensor_msgs/ChannelFloat32.rb +122 -0
  57. data/lib/sensor_msgs/CompressedImage.rb +151 -0
  58. data/lib/sensor_msgs/Image.rb +179 -0
  59. data/lib/sensor_msgs/Imu.rb +193 -0
  60. data/lib/sensor_msgs/JointState.rb +195 -0
  61. data/lib/sensor_msgs/Joy.rb +141 -0
  62. data/lib/sensor_msgs/JoyFeedback.rb +104 -0
  63. data/lib/sensor_msgs/JoyFeedbackArray.rb +116 -0
  64. data/lib/sensor_msgs/LaserScan.rb +178 -0
  65. data/lib/sensor_msgs/NavSatFix.rb +215 -0
  66. data/lib/sensor_msgs/NavSatStatus.rb +115 -0
  67. data/lib/sensor_msgs/PointCloud.rb +222 -0
  68. data/lib/sensor_msgs/PointCloud2.rb +226 -0
  69. data/lib/sensor_msgs/PointField.rb +119 -0
  70. data/lib/sensor_msgs/Range.rb +157 -0
  71. data/lib/sensor_msgs/RegionOfInterest.rb +106 -0
  72. data/lib/sensor_msgs/SetCameraInfo.rb +437 -0
  73. data/lib/sensor_msgs/TimeReference.rb +140 -0
  74. data/lib/std_msgs/Bool.rb +83 -0
  75. data/lib/std_msgs/Byte.rb +83 -0
  76. data/lib/std_msgs/ByteMultiArray.rb +165 -0
  77. data/lib/std_msgs/Char.rb +82 -0
  78. data/lib/std_msgs/ColorRGBA.rb +89 -0
  79. data/lib/std_msgs/Duration.rb +87 -0
  80. data/lib/std_msgs/Empty.rb +75 -0
  81. data/lib/std_msgs/Float32.rb +82 -0
  82. data/lib/std_msgs/Float32MultiArray.rb +165 -0
  83. data/lib/std_msgs/Float64.rb +82 -0
  84. data/lib/std_msgs/Float64MultiArray.rb +165 -0
  85. data/lib/std_msgs/Header.rb +112 -0
  86. data/lib/std_msgs/Int16.rb +83 -0
  87. data/lib/std_msgs/Int16MultiArray.rb +165 -0
  88. data/lib/std_msgs/Int32.rb +82 -0
  89. data/lib/std_msgs/Int32MultiArray.rb +165 -0
  90. data/lib/std_msgs/Int64.rb +82 -0
  91. data/lib/std_msgs/Int64MultiArray.rb +165 -0
  92. data/lib/std_msgs/Int8.rb +83 -0
  93. data/lib/std_msgs/Int8MultiArray.rb +165 -0
  94. data/lib/std_msgs/MultiArrayDimension.rb +95 -0
  95. data/lib/std_msgs/MultiArrayLayout.rb +141 -0
  96. data/lib/std_msgs/String.rb +87 -0
  97. data/lib/std_msgs/Time.rb +87 -0
  98. data/lib/std_msgs/UInt16.rb +83 -0
  99. data/lib/std_msgs/UInt16MultiArray.rb +165 -0
  100. data/lib/std_msgs/UInt32.rb +81 -0
  101. data/lib/std_msgs/UInt32MultiArray.rb +165 -0
  102. data/lib/std_msgs/UInt64.rb +82 -0
  103. data/lib/std_msgs/UInt64MultiArray.rb +165 -0
  104. data/lib/std_msgs/UInt8.rb +83 -0
  105. data/lib/std_msgs/UInt8MultiArray.rb +168 -0
  106. data/lib/std_srvs/Empty.rb +166 -0
  107. data/lib/stereo_msgs/DisparityImage.rb +261 -0
  108. data/lib/tf/FrameGraph.rb +179 -0
  109. data/lib/tf/tfMessage.rb +202 -0
  110. data/lib/trajectory_msgs/JointTrajectory.rb +198 -0
  111. data/lib/trajectory_msgs/JointTrajectoryPoint.rb +125 -0
  112. data/lib/visualization_msgs/ImageMarker.rb +238 -0
  113. data/lib/visualization_msgs/InteractiveMarker.rb +651 -0
  114. data/lib/visualization_msgs/InteractiveMarkerControl.rb +469 -0
  115. data/lib/visualization_msgs/InteractiveMarkerFeedback.rb +235 -0
  116. data/lib/visualization_msgs/InteractiveMarkerInit.rb +707 -0
  117. data/lib/visualization_msgs/InteractiveMarkerPose.rb +166 -0
  118. data/lib/visualization_msgs/InteractiveMarkerUpdate.rb +825 -0
  119. data/lib/visualization_msgs/Marker.rb +318 -0
  120. data/lib/visualization_msgs/MarkerArray.rb +349 -0
  121. data/lib/visualization_msgs/MenuEntry.rb +168 -0
  122. metadata +123 -2
@@ -0,0 +1,115 @@
1
+ # autogenerated by genmsg_ruby from NavSatStatus.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+
5
+ module Sensor_msgs
6
+
7
+ class NavSatStatus <::ROS::Message
8
+ def self.md5sum
9
+ "331cdbddfa4bc96ffc3b9ad98900a54c"
10
+ end
11
+
12
+ def self.type
13
+ "sensor_msgs/NavSatStatus"
14
+ end
15
+
16
+ def has_header?
17
+ false
18
+ end
19
+
20
+ def message_definition
21
+ "# Navigation Satellite fix status for any Global Navigation Satellite System
22
+
23
+ # Whether to output an augmented fix is determined by both the fix
24
+ # type and the last time differential corrections were received. A
25
+ # fix is valid when status >= STATUS_FIX.
26
+
27
+ int8 STATUS_NO_FIX = -1 # unable to fix position
28
+ int8 STATUS_FIX = 0 # unaugmented fix
29
+ int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation
30
+ int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation
31
+
32
+ int8 status
33
+
34
+ # Bits defining which Global Navigation Satellite System signals were
35
+ # used by the receiver.
36
+
37
+ uint16 SERVICE_GPS = 1
38
+ uint16 SERVICE_GLONASS = 2
39
+ uint16 SERVICE_COMPASS = 4 # includes BeiDou.
40
+ uint16 SERVICE_GALILEO = 8
41
+
42
+ uint16 service
43
+
44
+ "
45
+ end
46
+ # Pseudo-constants
47
+ STATUS_NO_FIX = -1
48
+ STATUS_FIX = 0
49
+ STATUS_SBAS_FIX = 1
50
+ STATUS_GBAS_FIX = 2
51
+ SERVICE_GPS = 1
52
+ SERVICE_GLONASS = 2
53
+ SERVICE_COMPASS = 4
54
+ SERVICE_GALILEO = 8
55
+
56
+ attr_accessor :status, :service
57
+
58
+ @@struct_cS = ::ROS::Struct.new("cS")
59
+
60
+ @@struct_L = ::ROS::Struct.new("L")
61
+ @@slot_types = ['int8','uint16']
62
+
63
+ def initialize
64
+ # Constructor. Any message fields that are implicitly/explicitly
65
+ # set to None will be assigned a default value. The recommend
66
+ # use is keyword arguments as this is more robust to future message
67
+ # changes. You cannot mix in-order arguments and keyword arguments.
68
+ #
69
+ # The available fields are:
70
+ # status,service
71
+ #
72
+ # @param args: complete set of field values, in .msg order
73
+ # @param kwds: use keyword arguments corresponding to message field names
74
+ # to set specific fields.
75
+ #
76
+
77
+ # message fields cannot be None, assign default values for those that are
78
+ @status = 0
79
+ @service = 0
80
+ end
81
+
82
+ def _get_types
83
+ # internal API method
84
+ return @slot_types
85
+ end
86
+
87
+ def serialize(buff)
88
+ # serialize message into buffer
89
+ # @param buff: buffer
90
+ # @type buff: StringIO
91
+ begin
92
+ buff.write(@@struct_cS.pack(@status, @service))
93
+ rescue => exception
94
+ raise "some erro in serialize: #{exception}"
95
+
96
+ end
97
+ end
98
+
99
+ def deserialize(str)
100
+ # unpack serialized message in str into this message instance
101
+ # @param str: byte array of serialized message
102
+ # @type str: str
103
+
104
+ begin
105
+ end_point = 0
106
+ start = end_point
107
+ end_point += ROS::Struct::calc_size('cS')
108
+ (@status, @service,) = @@struct_cS.unpack(str[start..(end_point-1)])
109
+ return self
110
+ rescue => exception
111
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
112
+ end
113
+ end
114
+ end # end of class
115
+ end # end of module
@@ -0,0 +1,222 @@
1
+ # autogenerated by genmsg_ruby from PointCloud.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+ require "std_msgs/Header"
5
+ require "sensor_msgs/ChannelFloat32"
6
+ require "geometry_msgs/Point32"
7
+
8
+ module Sensor_msgs
9
+
10
+ class PointCloud <::ROS::Message
11
+ def self.md5sum
12
+ "d8e9c3f5afbdd8a130fd1d2763945fca"
13
+ end
14
+
15
+ def self.type
16
+ "sensor_msgs/PointCloud"
17
+ end
18
+
19
+ def has_header?
20
+ true
21
+ end
22
+
23
+ def message_definition
24
+ "# This message holds a collection of 3d points, plus optional additional
25
+ # information about each point.
26
+
27
+ # Time of sensor data acquisition, coordinate frame ID.
28
+ Header header
29
+
30
+ # Array of 3d points. Each Point32 should be interpreted as a 3d point
31
+ # in the frame given in the header.
32
+ geometry_msgs/Point32[] points
33
+
34
+ # Each channel should have the same number of elements as points array,
35
+ # and the data in each channel should correspond 1:1 with each point.
36
+ # Channel names in common practice are listed in ChannelFloat32.msg.
37
+ ChannelFloat32[] channels
38
+
39
+ ================================================================================
40
+ MSG: std_msgs/Header
41
+ # Standard metadata for higher-level stamped data types.
42
+ # This is generally used to communicate timestamped data
43
+ # in a particular coordinate frame.
44
+ #
45
+ # sequence ID: consecutively increasing ID
46
+ uint32 seq
47
+ #Two-integer timestamp that is expressed as:
48
+ # * stamp.secs: seconds (stamp_secs) since epoch
49
+ # * stamp.nsecs: nanoseconds since stamp_secs
50
+ # time-handling sugar is provided by the client library
51
+ time stamp
52
+ #Frame this data is associated with
53
+ # 0: no frame
54
+ # 1: global frame
55
+ string frame_id
56
+
57
+ ================================================================================
58
+ MSG: geometry_msgs/Point32
59
+ # This contains the position of a point in free space(with 32 bits of precision).
60
+ # It is recommeded to use Point wherever possible instead of Point32.
61
+ #
62
+ # This recommendation is to promote interoperability.
63
+ #
64
+ # This message is designed to take up less space when sending
65
+ # lots of points at once, as in the case of a PointCloud.
66
+
67
+ float32 x
68
+ float32 y
69
+ float32 z
70
+ ================================================================================
71
+ MSG: sensor_msgs/ChannelFloat32
72
+ # This message is used by the PointCloud message to hold optional data
73
+ # associated with each point in the cloud. The length of the values
74
+ # array should be the same as the length of the points array in the
75
+ # PointCloud, and each value should be associated with the corresponding
76
+ # point.
77
+
78
+ # Channel names in existing practice include:
79
+ # \"u\", \"v\" - row and column (respectively) in the left stereo image.
80
+ # This is opposite to usual conventions but remains for
81
+ # historical reasons. The newer PointCloud2 message has no
82
+ # such problem.
83
+ # \"rgb\" - For point clouds produced by color stereo cameras. uint8
84
+ # (R,G,B) values packed into the least significant 24 bits,
85
+ # in order.
86
+ # \"intensity\" - laser or pixel intensity.
87
+ # \"distance\"
88
+
89
+ # The channel name should give semantics of the channel (e.g.
90
+ # \"intensity\" instead of \"value\").
91
+ string name
92
+
93
+ # The values array should be 1-1 with the elements of the associated
94
+ # PointCloud.
95
+ float32[] values
96
+
97
+ "
98
+ end
99
+ attr_accessor :header, :points, :channels
100
+
101
+ @@struct_L3 = ::ROS::Struct.new("L3")
102
+ @@struct_f3 = ::ROS::Struct.new("f3")
103
+
104
+ @@struct_L = ::ROS::Struct.new("L")
105
+ @@slot_types = ['Header','geometry_msgs/Point32[]','sensor_msgs/ChannelFloat32[]']
106
+
107
+ def initialize
108
+ # Constructor. Any message fields that are implicitly/explicitly
109
+ # set to None will be assigned a default value. The recommend
110
+ # use is keyword arguments as this is more robust to future message
111
+ # changes. You cannot mix in-order arguments and keyword arguments.
112
+ #
113
+ # The available fields are:
114
+ # header,points,channels
115
+ #
116
+ # @param args: complete set of field values, in .msg order
117
+ # @param kwds: use keyword arguments corresponding to message field names
118
+ # to set specific fields.
119
+ #
120
+
121
+ # message fields cannot be None, assign default values for those that are
122
+ @header = Std_msgs::Header.new
123
+ @points = []
124
+ @channels = []
125
+ end
126
+
127
+ def _get_types
128
+ # internal API method
129
+ return @slot_types
130
+ end
131
+
132
+ def serialize(buff)
133
+ # serialize message into buffer
134
+ # @param buff: buffer
135
+ # @type buff: StringIO
136
+ begin
137
+ buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
138
+ _x = @header.frame_id
139
+ length = _x.length
140
+ buff.write([length, _x].pack("La#{length}"))
141
+ length = @points.length
142
+ buff.write(@@struct_L.pack(length))
143
+ for val1 in @points
144
+ _x = val1
145
+ buff.write(@@struct_f3.pack(_x.x, _x.y, _x.z))
146
+ end
147
+ length = @channels.length
148
+ buff.write(@@struct_L.pack(length))
149
+ for val1 in @channels
150
+ _x = val1.name
151
+ length = _x.length
152
+ buff.write([length, _x].pack("La#{length}"))
153
+ length = val1.values.length
154
+ buff.write(@@struct_L.pack(length))
155
+ pattern = "f#{length}"
156
+ buff.write(*val1.values.pack(pattern))
157
+ end
158
+ rescue => exception
159
+ raise "some erro in serialize: #{exception}"
160
+
161
+ end
162
+ end
163
+
164
+ def deserialize(str)
165
+ # unpack serialized message in str into this message instance
166
+ # @param str: byte array of serialized message
167
+ # @type str: str
168
+
169
+ begin
170
+ if @header == nil
171
+ @header = Std_msgs::Header.new
172
+ end
173
+ end_point = 0
174
+ start = end_point
175
+ end_point += ROS::Struct::calc_size('L3')
176
+ (@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
177
+ start = end_point
178
+ end_point += 4
179
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
180
+ start = end_point
181
+ end_point += length
182
+ @header.frame_id = str[start..(end_point-1)]
183
+ start = end_point
184
+ end_point += 4
185
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
186
+ @points = []
187
+ length.times do
188
+ val1 = Geometry_msgs::Point32.new
189
+ _x = val1
190
+ start = end_point
191
+ end_point += ROS::Struct::calc_size('f3')
192
+ (_x.x, _x.y, _x.z,) = @@struct_f3.unpack(str[start..(end_point-1)])
193
+ @points.push(val1)
194
+ end
195
+ start = end_point
196
+ end_point += 4
197
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
198
+ @channels = []
199
+ length.times do
200
+ val1 = Sensor_msgs::ChannelFloat32.new
201
+ start = end_point
202
+ end_point += 4
203
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
204
+ start = end_point
205
+ end_point += length
206
+ val1.name = str[start..(end_point-1)]
207
+ start = end_point
208
+ end_point += 4
209
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
210
+ pattern = "f#{length}"
211
+ start = end_point
212
+ end_point += ROS::Struct::calc_size("#{pattern}")
213
+ val1.values = str[start..(end_point-1)].unpack(pattern)
214
+ @channels.push(val1)
215
+ end
216
+ return self
217
+ rescue => exception
218
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
219
+ end
220
+ end
221
+ end # end of class
222
+ end # end of module
@@ -0,0 +1,226 @@
1
+ # autogenerated by genmsg_ruby from PointCloud2.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+ require "std_msgs/Header"
5
+ require "sensor_msgs/PointField"
6
+
7
+ module Sensor_msgs
8
+
9
+ class PointCloud2 <::ROS::Message
10
+ def self.md5sum
11
+ "1158d486dd51d683ce2f1be655c3c181"
12
+ end
13
+
14
+ def self.type
15
+ "sensor_msgs/PointCloud2"
16
+ end
17
+
18
+ def has_header?
19
+ true
20
+ end
21
+
22
+ def message_definition
23
+ "# This message holds a collection of N-dimensional points, which may
24
+ # contain additional information such as normals, intensity, etc. The
25
+ # point data is stored as a binary blob, its layout described by the
26
+ # contents of the \"fields\" array.
27
+
28
+ # The point cloud data may be organized 2d (image-like) or 1d
29
+ # (unordered). Point clouds organized as 2d images may be produced by
30
+ # camera depth sensors such as stereo or time-of-flight.
31
+
32
+ # Time of sensor data acquisition, and the coordinate frame ID (for 3d
33
+ # points).
34
+ Header header
35
+
36
+ # 2D structure of the point cloud. If the cloud is unordered, height is
37
+ # 1 and width is the length of the point cloud.
38
+ uint32 height
39
+ uint32 width
40
+
41
+ # Describes the channels and their layout in the binary data blob.
42
+ PointField[] fields
43
+
44
+ bool is_bigendian # Is this data bigendian?
45
+ uint32 point_step # Length of a point in bytes
46
+ uint32 row_step # Length of a row in bytes
47
+ uint8[] data # Actual point data, size is (row_step*height)
48
+
49
+ bool is_dense # True if there are no invalid points
50
+
51
+ ================================================================================
52
+ MSG: std_msgs/Header
53
+ # Standard metadata for higher-level stamped data types.
54
+ # This is generally used to communicate timestamped data
55
+ # in a particular coordinate frame.
56
+ #
57
+ # sequence ID: consecutively increasing ID
58
+ uint32 seq
59
+ #Two-integer timestamp that is expressed as:
60
+ # * stamp.secs: seconds (stamp_secs) since epoch
61
+ # * stamp.nsecs: nanoseconds since stamp_secs
62
+ # time-handling sugar is provided by the client library
63
+ time stamp
64
+ #Frame this data is associated with
65
+ # 0: no frame
66
+ # 1: global frame
67
+ string frame_id
68
+
69
+ ================================================================================
70
+ MSG: sensor_msgs/PointField
71
+ # This message holds the description of one point entry in the
72
+ # PointCloud2 message format.
73
+ uint8 INT8 = 1
74
+ uint8 UINT8 = 2
75
+ uint8 INT16 = 3
76
+ uint8 UINT16 = 4
77
+ uint8 INT32 = 5
78
+ uint8 UINT32 = 6
79
+ uint8 FLOAT32 = 7
80
+ uint8 FLOAT64 = 8
81
+
82
+ string name # Name of field
83
+ uint32 offset # Offset from start of point struct
84
+ uint8 datatype # Datatype enumeration, see above
85
+ uint32 count # How many elements in the field
86
+
87
+ "
88
+ end
89
+ attr_accessor :header, :height, :width, :fields, :is_bigendian, :point_step, :row_step, :data, :is_dense
90
+
91
+ @@struct_LCL = ::ROS::Struct.new("LCL")
92
+ @@struct_L3 = ::ROS::Struct.new("L3")
93
+ @@struct_C = ::ROS::Struct.new("C")
94
+ @@struct_L2 = ::ROS::Struct.new("L2")
95
+ @@struct_CL2 = ::ROS::Struct.new("CL2")
96
+
97
+ @@struct_L = ::ROS::Struct.new("L")
98
+ @@slot_types = ['Header','uint32','uint32','sensor_msgs/PointField[]','bool','uint32','uint32','uint8[]','bool']
99
+
100
+ def initialize
101
+ # Constructor. Any message fields that are implicitly/explicitly
102
+ # set to None will be assigned a default value. The recommend
103
+ # use is keyword arguments as this is more robust to future message
104
+ # changes. You cannot mix in-order arguments and keyword arguments.
105
+ #
106
+ # The available fields are:
107
+ # header,height,width,fields,is_bigendian,point_step,row_step,data,is_dense
108
+ #
109
+ # @param args: complete set of field values, in .msg order
110
+ # @param kwds: use keyword arguments corresponding to message field names
111
+ # to set specific fields.
112
+ #
113
+
114
+ # message fields cannot be None, assign default values for those that are
115
+ @header = Std_msgs::Header.new
116
+ @height = 0
117
+ @width = 0
118
+ @fields = []
119
+ @is_bigendian = false
120
+ @point_step = 0
121
+ @row_step = 0
122
+ @data = ''
123
+ @is_dense = false
124
+ end
125
+
126
+ def _get_types
127
+ # internal API method
128
+ return @slot_types
129
+ end
130
+
131
+ def serialize(buff)
132
+ # serialize message into buffer
133
+ # @param buff: buffer
134
+ # @type buff: StringIO
135
+ begin
136
+ buff.write(@@struct_L3.pack(@header.seq, @header.stamp.secs, @header.stamp.nsecs))
137
+ _x = @header.frame_id
138
+ length = _x.length
139
+ buff.write([length, _x].pack("La#{length}"))
140
+ buff.write(@@struct_L2.pack(@height, @width))
141
+ length = @fields.length
142
+ buff.write(@@struct_L.pack(length))
143
+ for val1 in @fields
144
+ _x = val1.name
145
+ length = _x.length
146
+ buff.write([length, _x].pack("La#{length}"))
147
+ _x = val1
148
+ buff.write(@@struct_LCL.pack(_x.offset, _x.datatype, _x.count))
149
+ end
150
+ buff.write(@@struct_CL2.pack(@is_bigendian, @point_step, @row_step))
151
+ _x = @data
152
+ length = _x.length
153
+ # - if encoded as a list instead, serialize as bytes instead of string
154
+ if type(_x) in [list, tuple]
155
+ buff.write([length, *_x].pack("La#{length}"))
156
+ else
157
+ buff.write([length, _x].pack("La#{length}"))
158
+ end
159
+ buff.write(@@struct_C.pack(@is_dense))
160
+ rescue => exception
161
+ raise "some erro in serialize: #{exception}"
162
+
163
+ end
164
+ end
165
+
166
+ def deserialize(str)
167
+ # unpack serialized message in str into this message instance
168
+ # @param str: byte array of serialized message
169
+ # @type str: str
170
+
171
+ begin
172
+ if @header == nil
173
+ @header = Std_msgs::Header.new
174
+ end
175
+ end_point = 0
176
+ start = end_point
177
+ end_point += ROS::Struct::calc_size('L3')
178
+ (@header.seq, @header.stamp.secs, @header.stamp.nsecs,) = @@struct_L3.unpack(str[start..(end_point-1)])
179
+ start = end_point
180
+ end_point += 4
181
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
182
+ start = end_point
183
+ end_point += length
184
+ @header.frame_id = str[start..(end_point-1)]
185
+ start = end_point
186
+ end_point += ROS::Struct::calc_size('L2')
187
+ (@height, @width,) = @@struct_L2.unpack(str[start..(end_point-1)])
188
+ start = end_point
189
+ end_point += 4
190
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
191
+ @fields = []
192
+ length.times do
193
+ val1 = Sensor_msgs::PointField.new
194
+ start = end_point
195
+ end_point += 4
196
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
197
+ start = end_point
198
+ end_point += length
199
+ val1.name = str[start..(end_point-1)]
200
+ _x = val1
201
+ start = end_point
202
+ end_point += ROS::Struct::calc_size('LCL')
203
+ (_x.offset, _x.datatype, _x.count,) = @@struct_LCL.unpack(str[start..(end_point-1)])
204
+ @fields.push(val1)
205
+ end
206
+ start = end_point
207
+ end_point += ROS::Struct::calc_size('CL2')
208
+ (@is_bigendian, @point_step, @row_step,) = @@struct_CL2.unpack(str[start..(end_point-1)])
209
+ @is_bigendian = bool(@is_bigendian)
210
+ start = end_point
211
+ end_point += 4
212
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
213
+ start = end_point
214
+ end_point += length
215
+ @data = str[start..(end_point-1)]
216
+ start = end_point
217
+ end_point += ROS::Struct::calc_size('C')
218
+ (@is_dense,) = @@struct_C.unpack(str[start..(end_point-1)])
219
+ @is_dense = bool(@is_dense)
220
+ return self
221
+ rescue => exception
222
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
223
+ end
224
+ end
225
+ end # end of class
226
+ end # end of module
@@ -0,0 +1,119 @@
1
+ # autogenerated by genmsg_ruby from PointField.msg. Do not edit.
2
+ require 'ros/message'
3
+
4
+
5
+ module Sensor_msgs
6
+
7
+ class PointField <::ROS::Message
8
+ def self.md5sum
9
+ "268eacb2962780ceac86cbd17e328150"
10
+ end
11
+
12
+ def self.type
13
+ "sensor_msgs/PointField"
14
+ end
15
+
16
+ def has_header?
17
+ false
18
+ end
19
+
20
+ def message_definition
21
+ "# This message holds the description of one point entry in the
22
+ # PointCloud2 message format.
23
+ uint8 INT8 = 1
24
+ uint8 UINT8 = 2
25
+ uint8 INT16 = 3
26
+ uint8 UINT16 = 4
27
+ uint8 INT32 = 5
28
+ uint8 UINT32 = 6
29
+ uint8 FLOAT32 = 7
30
+ uint8 FLOAT64 = 8
31
+
32
+ string name # Name of field
33
+ uint32 offset # Offset from start of point struct
34
+ uint8 datatype # Datatype enumeration, see above
35
+ uint32 count # How many elements in the field
36
+
37
+ "
38
+ end
39
+ # Pseudo-constants
40
+ INT8 = 1
41
+ UINT8 = 2
42
+ INT16 = 3
43
+ UINT16 = 4
44
+ INT32 = 5
45
+ UINT32 = 6
46
+ FLOAT32 = 7
47
+ FLOAT64 = 8
48
+
49
+ attr_accessor :name, :offset, :datatype, :count
50
+
51
+ @@struct_LCL = ::ROS::Struct.new("LCL")
52
+
53
+ @@struct_L = ::ROS::Struct.new("L")
54
+ @@slot_types = ['string','uint32','uint8','uint32']
55
+
56
+ def initialize
57
+ # Constructor. Any message fields that are implicitly/explicitly
58
+ # set to None will be assigned a default value. The recommend
59
+ # use is keyword arguments as this is more robust to future message
60
+ # changes. You cannot mix in-order arguments and keyword arguments.
61
+ #
62
+ # The available fields are:
63
+ # name,offset,datatype,count
64
+ #
65
+ # @param args: complete set of field values, in .msg order
66
+ # @param kwds: use keyword arguments corresponding to message field names
67
+ # to set specific fields.
68
+ #
69
+
70
+ # message fields cannot be None, assign default values for those that are
71
+ @name = ''
72
+ @offset = 0
73
+ @datatype = 0
74
+ @count = 0
75
+ end
76
+
77
+ def _get_types
78
+ # internal API method
79
+ return @slot_types
80
+ end
81
+
82
+ def serialize(buff)
83
+ # serialize message into buffer
84
+ # @param buff: buffer
85
+ # @type buff: StringIO
86
+ begin
87
+ _x = @name
88
+ length = _x.length
89
+ buff.write([length, _x].pack("La#{length}"))
90
+ buff.write(@@struct_LCL.pack(@offset, @datatype, @count))
91
+ rescue => exception
92
+ raise "some erro in serialize: #{exception}"
93
+
94
+ end
95
+ end
96
+
97
+ def deserialize(str)
98
+ # unpack serialized message in str into this message instance
99
+ # @param str: byte array of serialized message
100
+ # @type str: str
101
+
102
+ begin
103
+ end_point = 0
104
+ start = end_point
105
+ end_point += 4
106
+ (length,) = @@struct_L.unpack(str[start..(end_point-1)])
107
+ start = end_point
108
+ end_point += length
109
+ @name = str[start..(end_point-1)]
110
+ start = end_point
111
+ end_point += ROS::Struct::calc_size('LCL')
112
+ (@offset, @datatype, @count,) = @@struct_LCL.unpack(str[start..(end_point-1)])
113
+ return self
114
+ rescue => exception
115
+ raise "message DeserializationError: #{exception}" #most likely buffer underfill
116
+ end
117
+ end
118
+ end # end of class
119
+ end # end of module