Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
module Fox
class FXQuatd < FXVec4d
# Return an initialized FXQuatd instance.
def initialize; end
#
# Construct an FXQuatd instance from a rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3d]
# +angle+:: the rotation angle (in radians) [Float]
#
def initialize(axis, phi=0.0); end
#
# Construct an FXQuatd from components.
#
# ==== Parameters:
#
# +x+:: x [Float]
# +y+:: y [Float]
# +z+:: z [Float]
# +width+:: w [Float]
#
def initialize(x, y, z, w); end
# Construct an FXQuatd from an array of Floats.
def initialize(floats); end
#
# Construct from Euler angles yaw (z), pitch (y) and roll (x).
#
# ==== Parameters:
#
# +roll+:: roll angle in radians [Float]
# +pitch+:: pitch angle in radians [Float]
# +yaw+:: yaw angle in radians [Float]
#
def initialize(roll, pitch, yaw); end
# Construct quaternion from axes; _ex_, _ey_ and _ez_ are all FXVec3d
# instances.
def initialize(ex, ey, ez); end
# Adjust quaternion length; returns a reference to self.
def adjust!; end
#
# Set quaternion from rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3d]
# +angle+:: the rotation angle (in radians) [Float]
#
def setAxisAngle(axis, phi=0.0); end
#
# Return the rotation axis and angle for this quaternion, i.e.
#
# axis, angle = aQuaternion.getAxisAngle()
#
# where _axis_ is an FXVec3d instance and _angle_ is the angle
# of rotation in radians.
#
def getAxisAngle(); end
#
# Set quaternion from yaw (z), pitch (y) and roll (x).
#
# ==== Parameters:
#
# +roll+:: roll angle in radians [Float]
# +pitch+:: pitch angle in radians [Float]
# +yaw+:: yaw angle in radians [Float]
#
def setRollPitchYaw(roll, pitch, yaw); end
#
# Obtain roll, pitch and yaw angles (in radians) from quaternion, e.g.
#
# roll, pitch, yaw = aQuaternion.getRollPitchYaw()
#
def getRollPitchYaw(); end
# Set quaternion from axes; _ex_, _ey_ and _ez_ are all FXVec3d instances.
def setAxes(ex, ey, ez); end
# Get quaternion axes; returns a 3-element array of FXVec3d instances.
def getAxes(); end
# Obtain local x axis (an FXVec3d instance).
def getXAxis(); end
# Obtain local y axis (an FXVec3d instance).
def getYAxis(); end
# Obtain local z axis (an FXVec3d instance).
def getZAxis(); end
#
# Return the exponentiation of this quaternion (a new FXQuatd instance).
#
def exp; end
#
# Return the logarithm of this quaternion (a new FXQuatd instance).
#
def log; end
#
# Return the inverse of this quaternion (a new FXQuatd instance).
#
def invert; end
#
# Invert unit quaternion (returns a new FXQuatd instance).
#
def unitinvert; end
#
# Return the conjugate of this quaternion (a new FXQuatd instance).
#
def conj; end
#
# Return the product of this quaternion and _other_ (another FXQuatd instance).
#
def *(other); end
#
# Compute the rotation of a vector _vec_ by this quaternion; returns the
# rotated vector (a new FXVec3d instance).
#
# ==== Parameters:
#
# +vec+:: the vector to be rotated [FXVec3d]
#
def *(vec); end
#
# Construct a quaternion from arc a->b on unit sphere and return a reference
# to self.
#
# ==== Parameters:
#
# +a+:: [FXVec3d]
# +b+:: [FXVec3d]
#
def arc!(a, b); end
#
# Spherical lerp and return a reference to self.
#
# ==== Parameters:
#
# +u+:: [FXQuatd]
# +v+:: [FXQuatd]
# +f+:: [Float]
#
def lerp!(u, v, f); end
end
end