Module: UR::Serialize
- Defined in:
- lib/serialize.rb
Defined Under Namespace
Modules: ControlHeader, ControlVersion, Message, ReturnValue
Classes: DataConfig, DataObject
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.get_item_size(data_type) ⇒ Object
43
44
45
46
47
48
49
50
51
|
# File 'lib/serialize.rb', line 43
def self.get_item_size(data_type)
if data_type.start_with? 'VECTOR6'
6
elsif data_type.start_with? 'VECTOR3'
3
else
1
end
end
|
.unpack_field(data, offset, data_type) ⇒ Object
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
# File 'lib/serialize.rb', line 53
def self.unpack_field(data, offset, data_type)
size = self.get_item_size(data_type)
if data_type == 'VECTOR6D' or data_type == 'VECTOR3D'
data[offset...offset+size].map(&:to_f)
elsif data_type == 'VECTOR6UINT32'
data[offset...offset+size].map(&:to_i)
elsif data_type == 'DOUBLE'
data[offset].to_f
elsif data_type == 'UINT32' or data_type == 'UINT64'
data[offset].to_i
elsif data_type == 'VECTOR6INT32'
data[offset...offset+size].map(&:to_i)
elsif data_type == 'INT32' or data_type == 'UINT8'
data[offset].to_i
elsif data_type == 'BOOL'
data[offset].to_i > 0 ? true : false
else
raise TypeError.new('unpack_field: unknown data type: ' + data_type)
end
end
|
Instance Method Details
#[](item) ⇒ Object
73
74
75
|
# File 'lib/serialize.rb', line 73
def [](item)
@values[item]
end
|