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
165
166
167
168
169
170
171
172
173
module Fox
class FXQuatf < FXVec4f
# Return an initialized FXQuatf instance.
def initialize; end
#
# Construct an FXQuatf instance from a rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3f]
# +angle+:: the rotation angle (in radians) [Float]
#
def initialize(axis, phi=0.0); 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
#
# ==== Parameters:
#
# +ex+:: x-axis [FXVec3f]
# +ey+:: y-axis [FXVec3f]
# +ez+:: z-axis [FXVec3f]
#
def initialize(ex, ey, ez); end
#
# Construct quaternion from 3x3 matrix (where _mat_ is an FXMat3f instance).
#
def initialize(mat); end
#
# Construct an FXQuatf from components.
#
# ==== Parameters:
#
# +x+:: x [Float]
# +y+:: y [Float]
# +z+:: z [Float]
# +width+:: w [Float]
#
def initialize(x, y, z, w); end
# Adjust quaternion length; returns a reference to self.
def adjust!; end
#
# Set quaternion from rotation axis and angle.
#
# ==== Parameters:
#
# +axis+:: the rotation axis [FXVec3f]
# +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 FXVec3f 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 (where _ex_, _ey_ and _ez_ are FXVec3f instances).
def setAxes(ex, ey, ez); end
# Get quaternion axes as a 3-element array of FXVec3f instances.
def getAxes(); end
# Return the local x-axis as an FXVec3f instance.
def getXAxis(); end
# Return the local y-axis as an FXVec3f instance.
def getYAxis(); end
# Return the local z-axis as an FXVec3f instance.
def getZAxis(); end
#
# Return the exponentiation of this quaternion (a new FXQuatf instance).
#
def exp; end
#
# Return the logarithm of this quaternion (a new FXQuatf instance).
#
def log; end
#
# Return the inverse of this quaternion (a new FXQuatf instance).
#
def invert; end
#
# Invert unit quaternion (returns a new FXQuatf instance).
#
def unitinvert; end
#
# Return the conjugate of this quaternion (a new FXQuatf instance).
#
def conj; end
#
# Return the product of this quaternion and _other_ (another FXQuatf instance).
#
def *(other); end
#
# Compute the rotation of a vector _vec_ by this quaternion; returns the
# rotated vector (a new FXVec3f instance).
#
# ==== Parameters:
#
# +vec+:: the vector to be rotated [FXVec3f]
#
def *(vec); end
#
# Construct a quaternion from arc a->b on unit sphere and
# return reference to self.
#
# ==== Parameters:
#
# +a+:: [FXVec3f]
# +b+:: [FXVec3f]
#
def arc!(a, b); end
#
# Spherical lerp, return reference to self.
#
# ==== Parameters:
#
# +u+:: [FXQuatf]
# +v+:: [FXQuatf]
# +f+:: [Float]
#
def lerp!(u, v, f); end
end
end