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.
- data/lib/actionlib_msgs/GoalID.rb +106 -0
- data/lib/actionlib_msgs/GoalStatus.rb +160 -0
- data/lib/actionlib_msgs/GoalStatusArray.rb +207 -0
- data/lib/actionlib_tutorials/AveragingAction.rb +322 -0
- data/lib/actionlib_tutorials/AveragingActionFeedback.rb +213 -0
- data/lib/actionlib_tutorials/AveragingActionGoal.rb +167 -0
- data/lib/actionlib_tutorials/AveragingActionResult.rb +209 -0
- data/lib/actionlib_tutorials/AveragingFeedback.rb +93 -0
- data/lib/actionlib_tutorials/AveragingGoal.rb +85 -0
- data/lib/actionlib_tutorials/AveragingResult.rb +87 -0
- data/lib/actionlib_tutorials/FibonacciAction.rb +334 -0
- data/lib/actionlib_tutorials/FibonacciActionFeedback.rb +216 -0
- data/lib/actionlib_tutorials/FibonacciActionGoal.rb +167 -0
- data/lib/actionlib_tutorials/FibonacciActionResult.rb +214 -0
- data/lib/actionlib_tutorials/FibonacciFeedback.rb +93 -0
- data/lib/actionlib_tutorials/FibonacciGoal.rb +85 -0
- data/lib/actionlib_tutorials/FibonacciResult.rb +91 -0
- data/lib/geometry_msgs/Point.rb +88 -0
- data/lib/geometry_msgs/Point32.rb +94 -0
- data/lib/geometry_msgs/PointStamped.rb +133 -0
- data/lib/geometry_msgs/Polygon.rb +112 -0
- data/lib/geometry_msgs/PolygonStamped.rb +159 -0
- data/lib/geometry_msgs/Pose.rb +110 -0
- data/lib/geometry_msgs/Pose2D.rb +88 -0
- data/lib/geometry_msgs/PoseArray.rb +174 -0
- data/lib/geometry_msgs/PoseStamped.rb +150 -0
- data/lib/geometry_msgs/PoseWithCovariance.rb +125 -0
- data/lib/geometry_msgs/PoseWithCovarianceStamped.rb +169 -0
- data/lib/geometry_msgs/Quaternion.rb +91 -0
- data/lib/geometry_msgs/QuaternionStamped.rb +136 -0
- data/lib/geometry_msgs/Transform.rb +111 -0
- data/lib/geometry_msgs/TransformStamped.rb +168 -0
- data/lib/geometry_msgs/Twist.rb +100 -0
- data/lib/geometry_msgs/TwistStamped.rb +140 -0
- data/lib/geometry_msgs/TwistWithCovariance.rb +115 -0
- data/lib/geometry_msgs/TwistWithCovarianceStamped.rb +158 -0
- data/lib/geometry_msgs/Vector3.rb +88 -0
- data/lib/geometry_msgs/Vector3Stamped.rb +133 -0
- data/lib/geometry_msgs/Wrench.rb +101 -0
- data/lib/geometry_msgs/WrenchStamped.rb +141 -0
- data/lib/nav_msgs/GetMap.rb +280 -0
- data/lib/nav_msgs/GetPlan.rb +406 -0
- data/lib/nav_msgs/GridCells.rb +153 -0
- data/lib/nav_msgs/MapMetaData.rb +130 -0
- data/lib/nav_msgs/OccupancyGrid.rb +187 -0
- data/lib/nav_msgs/Odometry.rb +223 -0
- data/lib/nav_msgs/Path.rb +205 -0
- data/lib/roscpp/Empty.rb +166 -0
- data/lib/roscpp/GetLoggers.rb +205 -0
- data/lib/roscpp/Logger.rb +98 -0
- data/lib/roscpp/SetLoggerLevel.rb +189 -0
- data/lib/roscpp_tutorials/TwoInts.rb +185 -0
- data/lib/rosgraph_msgs/Clock.rb +90 -0
- data/lib/rosgraph_msgs/Log.rb +210 -0
- data/lib/sensor_msgs/CameraInfo.rb +325 -0
- data/lib/sensor_msgs/ChannelFloat32.rb +122 -0
- data/lib/sensor_msgs/CompressedImage.rb +151 -0
- data/lib/sensor_msgs/Image.rb +179 -0
- data/lib/sensor_msgs/Imu.rb +193 -0
- data/lib/sensor_msgs/JointState.rb +195 -0
- data/lib/sensor_msgs/Joy.rb +141 -0
- data/lib/sensor_msgs/JoyFeedback.rb +104 -0
- data/lib/sensor_msgs/JoyFeedbackArray.rb +116 -0
- data/lib/sensor_msgs/LaserScan.rb +178 -0
- data/lib/sensor_msgs/NavSatFix.rb +215 -0
- data/lib/sensor_msgs/NavSatStatus.rb +115 -0
- data/lib/sensor_msgs/PointCloud.rb +222 -0
- data/lib/sensor_msgs/PointCloud2.rb +226 -0
- data/lib/sensor_msgs/PointField.rb +119 -0
- data/lib/sensor_msgs/Range.rb +157 -0
- data/lib/sensor_msgs/RegionOfInterest.rb +106 -0
- data/lib/sensor_msgs/SetCameraInfo.rb +437 -0
- data/lib/sensor_msgs/TimeReference.rb +140 -0
- data/lib/std_msgs/Bool.rb +83 -0
- data/lib/std_msgs/Byte.rb +83 -0
- data/lib/std_msgs/ByteMultiArray.rb +165 -0
- data/lib/std_msgs/Char.rb +82 -0
- data/lib/std_msgs/ColorRGBA.rb +89 -0
- data/lib/std_msgs/Duration.rb +87 -0
- data/lib/std_msgs/Empty.rb +75 -0
- data/lib/std_msgs/Float32.rb +82 -0
- data/lib/std_msgs/Float32MultiArray.rb +165 -0
- data/lib/std_msgs/Float64.rb +82 -0
- data/lib/std_msgs/Float64MultiArray.rb +165 -0
- data/lib/std_msgs/Header.rb +112 -0
- data/lib/std_msgs/Int16.rb +83 -0
- data/lib/std_msgs/Int16MultiArray.rb +165 -0
- data/lib/std_msgs/Int32.rb +82 -0
- data/lib/std_msgs/Int32MultiArray.rb +165 -0
- data/lib/std_msgs/Int64.rb +82 -0
- data/lib/std_msgs/Int64MultiArray.rb +165 -0
- data/lib/std_msgs/Int8.rb +83 -0
- data/lib/std_msgs/Int8MultiArray.rb +165 -0
- data/lib/std_msgs/MultiArrayDimension.rb +95 -0
- data/lib/std_msgs/MultiArrayLayout.rb +141 -0
- data/lib/std_msgs/String.rb +87 -0
- data/lib/std_msgs/Time.rb +87 -0
- data/lib/std_msgs/UInt16.rb +83 -0
- data/lib/std_msgs/UInt16MultiArray.rb +165 -0
- data/lib/std_msgs/UInt32.rb +81 -0
- data/lib/std_msgs/UInt32MultiArray.rb +165 -0
- data/lib/std_msgs/UInt64.rb +82 -0
- data/lib/std_msgs/UInt64MultiArray.rb +165 -0
- data/lib/std_msgs/UInt8.rb +83 -0
- data/lib/std_msgs/UInt8MultiArray.rb +168 -0
- data/lib/std_srvs/Empty.rb +166 -0
- data/lib/stereo_msgs/DisparityImage.rb +261 -0
- data/lib/tf/FrameGraph.rb +179 -0
- data/lib/tf/tfMessage.rb +202 -0
- data/lib/trajectory_msgs/JointTrajectory.rb +198 -0
- data/lib/trajectory_msgs/JointTrajectoryPoint.rb +125 -0
- data/lib/visualization_msgs/ImageMarker.rb +238 -0
- data/lib/visualization_msgs/InteractiveMarker.rb +651 -0
- data/lib/visualization_msgs/InteractiveMarkerControl.rb +469 -0
- data/lib/visualization_msgs/InteractiveMarkerFeedback.rb +235 -0
- data/lib/visualization_msgs/InteractiveMarkerInit.rb +707 -0
- data/lib/visualization_msgs/InteractiveMarkerPose.rb +166 -0
- data/lib/visualization_msgs/InteractiveMarkerUpdate.rb +825 -0
- data/lib/visualization_msgs/Marker.rb +318 -0
- data/lib/visualization_msgs/MarkerArray.rb +349 -0
- data/lib/visualization_msgs/MenuEntry.rb +168 -0
- 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
|