Class: Rclrb::Fields::TimeField
- Inherits:
-
Object
- Object
- Rclrb::Fields::TimeField
- Defined in:
- lib/rclrb/fields.rb
Defined Under Namespace
Classes: FFIType
Class Method Summary collapse
- .__fill_ros_message(ffi_struct, value) ⇒ Object
- .array_field ⇒ Object
- .create_from_dict(v) ⇒ Object
- .destroy_ros_message(data) ⇒ Object
- .ffi_size ⇒ Object
- .ffi_type ⇒ Object
- .field_name ⇒ Object
- .fill_ros_message(data, index, value) ⇒ Object
- .fill_ros_message_array(array_pointer, value) ⇒ Object
- .init_value ⇒ Object
- .is_atomic ⇒ Object
- .parse_ros_message(data) ⇒ Object
Class Method Details
.__fill_ros_message(ffi_struct, value) ⇒ Object
138 139 140 141 142 |
# File 'lib/rclrb/fields.rb', line 138 def TimeField.(ffi_struct, value) s, ns = value.to_sec_nsec ffi_struct[:sec] = s ffi_struct[:nsec] = ns end |
.array_field ⇒ Object
152 153 154 155 |
# File 'lib/rclrb/fields.rb', line 152 def TimeField.array_field() @@array_field = ArrayField.new(TimeField) unless defined?(@@array_field) return @@array_field end |
.create_from_dict(v) ⇒ Object
132 133 134 |
# File 'lib/rclrb/fields.rb', line 132 def TimeField.create_from_dict v return Time.from_sec_nsec v['sec'], v['nsec'] end |
.destroy_ros_message(data) ⇒ Object
150 151 |
# File 'lib/rclrb/fields.rb', line 150 def TimeField.(data) end |
.ffi_size ⇒ Object
159 160 161 |
# File 'lib/rclrb/fields.rb', line 159 def TimeField.ffi_size return FFIType.size end |
.ffi_type ⇒ Object
156 157 158 |
# File 'lib/rclrb/fields.rb', line 156 def TimeField.ffi_type return FFIType end |
.field_name ⇒ Object
129 130 131 |
# File 'lib/rclrb/fields.rb', line 129 def TimeField.field_name() return "Rclrb::Fields::TimeField" end |
.fill_ros_message(data, index, value) ⇒ Object
143 144 145 |
# File 'lib/rclrb/fields.rb', line 143 def TimeField.(data, index, value) TimeField.(data[index], value) end |
.fill_ros_message_array(array_pointer, value) ⇒ Object
146 147 148 |
# File 'lib/rclrb/fields.rb', line 146 def TimeField.(array_pointer, value) Fields.(array_pointer, value, TimeField.ffi_size) { |ptr, value| TimeField.(ffi_type.new(ptr), value) } end |
.init_value ⇒ Object
126 127 128 |
# File 'lib/rclrb/fields.rb', line 126 def TimeField.init_value() return "Rclrb::Time.new()" end |
.is_atomic ⇒ Object
162 163 164 |
# File 'lib/rclrb/fields.rb', line 162 def TimeField.is_atomic return false end |
.parse_ros_message(data) ⇒ Object
135 136 137 |
# File 'lib/rclrb/fields.rb', line 135 def TimeField.(data) return Time.from_sec_nsec data[:sec], data[:nsec] end |