Class: Rclrb::Fields::TimeField

Inherits:
Object
  • Object
show all
Defined in:
lib/rclrb/fields.rb

Defined Under Namespace

Classes: FFIType

Class Method Summary collapse

Class Method Details

.__fill_ros_message(ffi_struct, value) ⇒ Object



138
139
140
141
142
# File 'lib/rclrb/fields.rb', line 138

def TimeField.__fill_ros_message(ffi_struct, value)
  s, ns = value.to_sec_nsec
  ffi_struct[:sec] = s
  ffi_struct[:nsec] = ns
end

.array_fieldObject



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.destroy_ros_message(data)
end

.ffi_sizeObject



159
160
161
# File 'lib/rclrb/fields.rb', line 159

def TimeField.ffi_size
  return FFIType.size
end

.ffi_typeObject



156
157
158
# File 'lib/rclrb/fields.rb', line 156

def TimeField.ffi_type
  return FFIType
end

.field_nameObject



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.fill_ros_message(data, index, value)
  TimeField.__fill_ros_message(data[index], value)
end

.fill_ros_message_array(array_pointer, value) ⇒ Object



146
147
148
# File 'lib/rclrb/fields.rb', line 146

def TimeField.fill_ros_message_array(array_pointer, value)
  Fields.__generic_fill_ros_message_array(array_pointer, value, TimeField.ffi_size) { |ptr, value| TimeField.__fill_ros_message(ffi_type.new(ptr), value) }
end

.init_valueObject



126
127
128
# File 'lib/rclrb/fields.rb', line 126

def TimeField.init_value()
  return "Rclrb::Time.new()"
end

.is_atomicObject



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.parse_ros_message(data)
  return Time.from_sec_nsec data[:sec], data[:nsec]
end