rosruby_msgs 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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