Class: Geometry_msgs::Quaternion

Inherits:
ROS::Message
  • Object
show all
Defined in:
lib/geometry_msgs/Quaternion.rb

Constant Summary collapse

@@struct_d4 =
::ROS::Struct.new("d4")
@@struct_L =
::ROS::Struct.new("L")
@@slot_types =
['float64','float64','float64','float64']

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Quaternion

Constructor. You can set the default values using keyword operators.

Parameters:

  • args (Hash) (defaults to: {})

    keyword for initializing values

Options Hash (args):

  • :x (float64)

    initialize value

  • :y (float64)

    initialize value

  • :z (float64)

    initialize value

  • :w (float64)

    initialize value



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/geometry_msgs/Quaternion.rb', line 44

def initialize(args={})
  # message fields cannot be None, assign default values for those that are
  if args[:x]
    @x = args[:x]
  else
    @x = 0.0
  end
  if args[:y]
    @y = args[:y]
  else
    @y = 0.0
  end
  if args[:z]
    @z = args[:z]
  else
    @z = 0.0
  end
  if args[:w]
    @w = args[:w]
  else
    @w = 0.0
  end
end

Instance Attribute Details

#wObject

Returns the value of attribute w.



30
31
32
# File 'lib/geometry_msgs/Quaternion.rb', line 30

def w
  @w
end

#xObject

Returns the value of attribute x.



30
31
32
# File 'lib/geometry_msgs/Quaternion.rb', line 30

def x
  @x
end

#yObject

Returns the value of attribute y.



30
31
32
# File 'lib/geometry_msgs/Quaternion.rb', line 30

def y
  @y
end

#zObject

Returns the value of attribute z.



30
31
32
# File 'lib/geometry_msgs/Quaternion.rb', line 30

def z
  @z
end

Class Method Details

.md5sumObject



8
9
10
# File 'lib/geometry_msgs/Quaternion.rb', line 8

def self.md5sum
  "a779879fadf0160734f906b8c19c7004"
end

.typeObject



12
13
14
# File 'lib/geometry_msgs/Quaternion.rb', line 12

def self.type
  "geometry_msgs/Quaternion"
end

Instance Method Details

#_get_typesString

internal API method

Returns:

  • (String)

    Message type string.



70
71
72
# File 'lib/geometry_msgs/Quaternion.rb', line 70

def _get_types
  @slot_types
end

#deserialize(str) ⇒ Object

unpack serialized message in str into this message instance

@param [String] str: byte array of serialized message


87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/geometry_msgs/Quaternion.rb', line 87

def deserialize(str)

  begin
    end_point = 0
    start = end_point
    end_point += ROS::Struct::calc_size('d4')
    (@x, @y, @z, @w,) = @@struct_d4.unpack(str[start..(end_point-1)])
    return self
  rescue => exception
    raise "message DeserializationError: #{exception}" #most likely buffer underfill
  end
end

#has_header?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/geometry_msgs/Quaternion.rb', line 16

def has_header?
  false
end

#message_definitionObject



20
21
22
23
24
25
26
27
28
29
# File 'lib/geometry_msgs/Quaternion.rb', line 20

def message_definition
  "# This represents an orientation in free space in quaternion form.

float64 x
float64 y
float64 z
float64 w

"
end

#serialize(buff) ⇒ Object

serialize message into buffer

Parameters:

  • buff (IO)

    buffer



76
77
78
79
80
81
82
83
# File 'lib/geometry_msgs/Quaternion.rb', line 76

def serialize(buff)
  begin
    buff.write(@@struct_d4.pack(@x, @y, @z, @w))
  rescue => exception
    raise "some erro in serialize: #{exception}"

  end
end