1 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML
1.0 Strict//EN'
2 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'
>
3 <html xmlns='http://www.w3.org/
1999/xhtml' xml:lang='en' lang='en'
>
5 <meta http-equiv='Content-Type' content='text/html; charset=utf-
8'
/>
6 <title>boost/qvm/quat_operations.hpp
</title>
7 <link href='reno.css' type='text/css' rel='stylesheet'
/>
14 <h1>QVM: Quaternions, Vectors, Matrices
</h1>
16 <!-- Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. -->
17 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
18 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
19 <div class=
"RenoIncludeDIV"><div class=
"RenoAutoDIV"><h3>boost/qvm/quat_operations.hpp
</h3>
21 <p>This header defines all available function overloads that operate on quaternion objects.
</p>
23 <div class=
"RenoIncludeDIV"><p><span class=
"RenoEscape">#<!--<wiki>`#</wiki>--></span>include
<<span class=
"RenoLink">boost/qvm/quat_operations.hpp
</span>></p>
26 namespace
<span class=
"RenoLink"><a href=
"qvm.html">qvm
</a></span>
28 <span class=
"RenoIncludeSPAN"> <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
29 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
30 template
<class A,class B
>
31 A
& <span class=
"RenoLink"><a href=
"assign_quat_quat_.html">assign
</a></span>( A
& a, B const
& b );
</span>
33 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
34 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><R
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
35 template
<class R,class A
>
36 R
<span class=
"RenoLink"><a href=
"convert_to_quat_.html">convert_to
</a></span>( A const
& a );
38 //Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
39 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><R
>::value
&& <span class=
"RenoLink"><a href=
"is_mat.html">is_mat
</a></span><A
>::value
&&
40 //
<span class=
"RenoLink"><a href=
"mat_traits.html">mat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"mat_traits_Matrix_rows.html">rows
</a></span>==
3 && <span class=
"RenoLink"><a href=
"mat_traits.html">mat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"mat_traits_Matrix_cols.html">cols
</a></span>==
3
41 template
<class R,class A
>
42 R
<span class=
"RenoLink"><a href=
"convert_to_quat_.html">convert_to
</a></span>( A const
& m );
</span>
44 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
45 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
46 template
<class A,class B
>
47 A
& <span class=
"RenoLink"><a href=
"operator_sub_eq_quat_quat_.html">operator-=
</a></span>( A
& a, B const
& b );
</span>
49 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
50 template
<class A
>
51 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
52 <span class=
"RenoLink"><a href=
"operator_minus_quat_.html">operator-
</a></span>( A const
& a );
</span>
54 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
55 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
&&
56 template
<class A,class B
>
57 typename
<span class=
"RenoLink"><a href=
"deduce_quat2.html">deduce_quat2
</a></span><A,B
>::type
58 <span class=
"RenoLink"><a href=
"operator_minus_quat_quat_.html">operator-
</a></span>( A const
& a, B const
& b );
</span>
60 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
61 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
62 template
<class A,class B
>
63 A
& <span class=
"RenoLink"><a href=
"operator_add_quat_quat_.html">operator+=
</a></span>( A
& a, B const
& b );
</span>
65 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
66 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
&&
67 template
<class A,class B
>
68 typename
<span class=
"RenoLink"><a href=
"deduce_quat2.html">deduce_quat2
</a></span><A,B
>::type
69 <span class=
"RenoLink"><a href=
"operator_plus_quat_quat_.html">operator+
</a></span>( A const
& a, B const
& b );
</span>
71 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
72 template
<class A,class B
>
73 A
& <span class=
"RenoLink"><a href=
"operator_div_eq_quat_scalar_.html">operator/=
</a></span>( A
& a, B b );
</span>
75 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
76 template
<class A,class B
>
77 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
78 <span class=
"RenoLink"><a href=
"operator_over_quat_scalar_.html">operator/
</a></span>( A const
& a, B b );
</span>
80 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
81 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
82 template
<class A,class B
>
83 A
& <span class=
"RenoLink"><a href=
"operator_mul_eq_quat_quat_.html">operator*=
</a></span>( A
& a, B const
& b );
</span>
85 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
86 template
<class A,class B
>
87 A
& <span class=
"RenoLink"><a href=
"operator_mul_eq_quat_scalar_.html">operator*=
</a></span>( A
& a, B b );
</span>
89 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
90 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
91 template
<class A,class B
>
92 typename
<span class=
"RenoLink"><a href=
"deduce_quat2.html">deduce_quat2
</a></span><A,B
>::type
93 <span class=
"RenoLink"><a href=
"operator_times_quat_quat_.html">operator*
</a></span>( A const
& a, B const
& b );
</span>
95 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
96 template
<class A,class B
>
97 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
98 <span class=
"RenoLink"><a href=
"operator_times_quat_scalar_.html">operator*
</a></span>( A const
& a, B b );
</span>
100 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
101 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
102 template
<class A,class B
>
103 bool
<span class=
"RenoLink"><a href=
"operator_eq_quat_quat_.html">operator==
</a></span>( A const
& a, B const
& b );
</span>
105 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
106 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
107 template
<class A,class B
>
108 bool
<span class=
"RenoLink"><a href=
"operator_not_eq_quat_quat_.html">operator!=
</a></span>( A const
& a, B const
& b );
</span>
110 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
111 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
112 template
<class A,class B,class Cmp
>
113 bool
<span class=
"RenoLink"><a href=
"cmp_quat_quat_.html">cmp
</a></span>( A const
& a, B const
& b, Cmp pred );
</span>
115 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
116 template
<class A
>
117 typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span>
118 <span class=
"RenoLink"><a href=
"mag_sqr_quat_.html">mag_sqr
</a></span>( A const
& a );
</span>
120 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
121 template
<class A
>
122 typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span>
123 <span class=
"RenoLink"><a href=
"mag_quat_.html">mag
</a></span>( A const
& a );
</span>
125 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
126 template
<class A
>
127 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
128 <span class=
"RenoLink"><a href=
"normalized_quat_.html">normalized
</a></span>( A const
& a );
</span>
130 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
131 template
<class A
>
132 void
<span class=
"RenoLink"><a href=
"normalize_quat_.html">normalize
</a></span>( A
& a );
</span>
134 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
135 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
136 template
<class A,class B
>
137 typename
<span class=
"RenoLink"><a href=
"deduce_scalar.html">deduce_scalar
</a></span><A,B
>::type
138 <span class=
"RenoLink"><a href=
"dot_quat_quat_.html">dot
</a></span>( A const
& a, B const
& b );
</span>
140 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
141 template
<class A
>
142 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
143 <span class=
"RenoLink"><a href=
"conjugate.html">conjugate
</a></span>( A const
& a );
</span>
145 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
146 template
<class A
>
147 typename
<span class=
"RenoLink"><a href=
"deduce_quat.html">deduce_quat
</a></span><A
>::type
148 <span class=
"RenoLink"><a href=
"inverse_quat_.html">inverse
</a></span>( A const
& a );
</span>
150 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
151 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><B
>::value
&& <span class=
"RenoLink"><a href=
"is_scalar.html">is_scalar
</a></span><C
>
152 template
<class A,class B,class C
>
153 typename
<span class=
"RenoLink"><a href=
"deduce_quat2.html">deduce_quat2
</a></span><A,B
> >::type
154 <span class=
"RenoLink"><a href=
"slerp.html">slerp
</a></span>( A const
& a, B const
& b, C c );
</span>
156 <span class=
"RenoIncludeSPAN">template
<class T
>
157 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"zero_quat.html">zero_quat
</a></span>();
</span>
159 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
160 template
<class A
>
161 void
<span class=
"RenoLink"><a href=
"set_zero_quat_.html">set_zero
</a></span>( A
& a );
</span>
163 <span class=
"RenoIncludeSPAN">template
<class S
>
164 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"identity_quat.html">identity_quat
</a></span>();
</span>
166 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
167 template
<class A
>
168 void
<span class=
"RenoLink"><a href=
"set_identity_quat_.html">set_identity
</a></span>( A
& a );
</span>
170 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
171 //
<span class=
"RenoLink"><a href=
"is_vec.html">is_vec
</a></span><A
>::value
&& <span class=
"RenoLink"><a href=
"vec_traits.html">vec_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"vec_traits_Vector_dim.html">dim
</a></span>==
3
172 template
<class A
>
173 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"rot_quat.html">rot_quat
</a></span>( A const
& axis, typename
<span class=
"RenoLink"><a href=
"vec_traits.html">vec_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"vec_traits_V_scalar_type.html">scalar_type
</a></span> angle );
</span>
175 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
176 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&&
177 //
<span class=
"RenoLink"><a href=
"is_vec.html">is_vec
</a></span><B
>::value
&& <span class=
"RenoLink"><a href=
"vec_traits.html">vec_traits
</a></span><B
>::
<span class=
"RenoLink"><a href=
"vec_traits_Vector_dim.html">dim
</a></span>==
3
178 template
<class A
>
179 void
<span class=
"RenoLink"><a href=
"set_rot_quat_vec_scalar_.html">set_rot
</a></span>( A
& a, B const
& axis, typename
<span class=
"RenoLink"><a href=
"vec_traits.html">vec_traits
</a></span><B
>::
<span class=
"RenoLink"><a href=
"vec_traits_V_scalar_type.html">scalar_type
</a></span> angle );
</span>
181 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
182 //
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
&&
183 //
<span class=
"RenoLink"><a href=
"is_vec.html">is_vec
</a></span><B
>::value
&& <span class=
"RenoLink"><a href=
"vec_traits.html">vec_traits
</a></span><B
>::
<span class=
"RenoLink"><a href=
"vec_traits_Vector_dim.html">dim
</a></span>==
3
184 template
<class A,class B
>
185 void
<span class=
"RenoLink"><a href=
"rotate_quat_vec_scalar_.html">rotate
</a></span>( A
& a, B const
& axis, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
187 <span class=
"RenoIncludeSPAN">template
<class Angle
>
188 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"rotx_quat_scalar_.html">rotx_quat
</a></span>( Angle const
& angle );
</span>
190 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
191 template
<class A
>
192 void
<span class=
"RenoLink"><a href=
"set_rotx_quat_scalar_.html">set_rotx
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
194 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
195 template
<class A
>
196 void
<span class=
"RenoLink"><a href=
"rotate_x_quat_scalar_.html">rotate_x
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
198 <span class=
"RenoIncludeSPAN">template
<class Angle
>
199 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"roty_quat_scalar_.html">roty_quat
</a></span>( Angle const
& angle );
</span>
201 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
202 template
<class A
>
203 void
<span class=
"RenoLink"><a href=
"set_rotz_quat_scalar_.html">set_rotz
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
205 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
206 template
<class A
>
207 void
<span class=
"RenoLink"><a href=
"rotate_y_quat_scalar_.html">rotate_y
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
209 <span class=
"RenoIncludeSPAN">template
<class Angle
>
210 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"rotz_quat_scalar_.html">rotz_quat
</a></span>( Angle const
& angle );
</span>
212 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
213 template
<class A
>
214 void
<span class=
"RenoLink"><a href=
"set_rotz_quat_scalar_.html">set_rotz
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
216 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
217 template
<class A
>
218 void
<span class=
"RenoLink"><a href=
"rotate_z_quat_scalar_.html">rotate_z
</a></span>( A
& a, typename
<span class=
"RenoLink"><a href=
"quat_traits.html">quat_traits
</a></span><A
>::
<span class=
"RenoLink"><a href=
"quat_traits_Q_scalar_type.html">scalar_type
</a></span> angle );
</span>
220 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
221 template
<class Scalar,class A
>
222 -unspecified-return_type-
<span class=
"RenoLink"><a href=
"scalar_cast_quat_.html">scalar_cast
</a></span>( A const
& a );
</span>
224 <span class=
"RenoIncludeSPAN">//Only
<span class=
"RenoLink"><a href=
"SFINAE_enable_if.html">enabled if
</a></span>:
<span class=
"RenoLink"><a href=
"is_quat.html">is_quat
</a></span><A
>::value
225 template
<class A
>
226 -unspecified-return-type-
<span class=
"RenoLink"><a href=
"qref.html">qref
</a></span>( A
& a );
</span></span>
229 </div></div><div class=
"RenoAutoDIV"><div class=
"RenoHR"><hr/></div>
230 See also:
<span class=
"RenoPageList"><a href=
"assign_quat_quat_.html">assign(quat,quat)
</a> |
<a href=
"boost_qvm_operations_hpp.html">boost/qvm/operations.hpp
</a> |
<a href=
"cmp_quat_quat_.html">cmp(quat,quat)
</a> |
<a href=
"conjugate.html">conjugate
</a> |
<a href=
"convert_to_quat_.html">convert_to(quat)
</a> |
<a href=
"dot_quat_quat_.html">dot(quat,quat)
</a> |
<a href=
"identity_quat.html">identity_quat
</a> |
<a href=
"inverse_quat_.html">inverse(quat)
</a> |
<a href=
"mag_quat_.html">mag(quat)
</a> |
<a href=
"mag_sqr_quat_.html">mag_sqr(quat)
</a> |
<a href=
"normalize_quat_.html">normalize(quat)
</a> |
<a href=
"normalized_quat_.html">normalized(quat)
</a> |
<a href=
"operator_not_eq_quat_quat_.html">operator!=(quat,quat)
</a> |
<a href=
"operator_times_quat_quat_.html">operator*(quat,quat)
</a> |
<a href=
"operator_times_quat_scalar_.html">operator*(quat,scalar)
</a> |
<a href=
"operator_mul_eq_quat_quat_.html">operator*=(quat,quat)
</a> |
<a href=
"operator_mul_eq_quat_scalar_.html">operator*=(quat,scalar)
</a> |
<a href=
"operator_plus_quat_quat_.html">operator+(quat,quat)
</a> |
<a href=
"operator_add_quat_quat_.html">operator+=(quat,quat)
</a> |
<a href=
"operator_minus_quat_.html">operator-(quat)
</a> |
<a href=
"operator_minus_quat_quat_.html">operator-(quat,quat)
</a> |
<a href=
"operator_sub_eq_quat_quat_.html">operator-=(quat,quat)
</a> |
<a href=
"operator_over_quat_scalar_.html">operator/(quat,scalar)
</a> |
<a href=
"operator_div_eq_quat_scalar_.html">operator/=(quat,scalar)
</a> |
<a href=
"operator_eq_quat_quat_.html">operator==(quat,quat)
</a> |
<a href=
"qref.html">qref
</a> |
<a href=
"rot_quat.html">rot_quat
</a> |
<a href=
"rotate_quat_vec_scalar_.html">rotate(quat,vec,scalar)
</a> |
<a href=
"rotate_x_quat_scalar_.html">rotate_x(quat,scalar)
</a> |
<a href=
"rotate_y_quat_scalar_.html">rotate_y(quat,scalar)
</a> |
<a href=
"rotate_z_quat_scalar_.html">rotate_z(quat,scalar)
</a> |
<a href=
"rotx_quat_scalar_.html">rotx_quat(scalar)
</a> |
<a href=
"roty_quat_scalar_.html">roty_quat(scalar)
</a> |
<a href=
"rotz_quat_scalar_.html">rotz_quat(scalar)
</a> |
<a href=
"scalar_cast_quat_.html">scalar_cast(quat)
</a> |
<a href=
"set_identity_quat_.html">set_identity(quat)
</a> |
<a href=
"set_rot_quat_vec_scalar_.html">set_rot(quat,vec,scalar)
</a> |
<a href=
"set_rotx_quat_scalar_.html">set_rotx(quat,scalar)
</a> |
<a href=
"set_roty_quat_scalar_.html">set_roty(quat,scalar)
</a> |
<a href=
"set_rotz_quat_scalar_.html">set_rotz(quat,scalar)
</a> |
<a href=
"set_zero_quat_.html">set_zero(quat)
</a> |
<a href=
"slerp.html">slerp
</a> |
<a href=
"zero_quat.html">zero_quat
</a></span>
232 <!-- Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. -->
233 <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying -->
234 <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
237 <a class=
"logo" href=
"http://jigsaw.w3.org/css-validator/check/referer"><img class=
"logo_pic" src=
"valid-css.png" alt=
"Valid CSS" height=
"31" width=
"88"/></a>
238 <a class=
"logo" href=
"http://validator.w3.org/check?uri=referer"><img class=
"logo_pic" src=
"valid-xhtml.png" alt=
"Valid XHTML 1.0" height=
"31" width=
"88"/></a>
239 <small>Copyright (c)
2008-
2016 by Emil Dotchevski and Reverge Studios, Inc.
<br/>
240 Distributed under the
<a href=
"http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version
1.0</a>.
</small>