Lines Matching full:detail
33 namespace detail
146 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator-
148 detail::tdualquat<T, P> const & q
151 return detail::tdualquat<T, P>(-q.real,-q.dual);
155 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator+
157 detail::tdualquat<T, P> const & q,
158 detail::tdualquat<T, P> const & p
161 return detail::tdualquat<T, P>(q.real + p.real,q.dual + p.dual);
165 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
167 detail::tdualquat<T, P> const & p,
168 detail::tdualquat<T, P> const & o
171 return detail::tdualquat<T, P>(p.real * o.real,p.real * o.dual + p.dual * o.real);
176 GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
178 detail::tdualquat<T, P> const & q,
179 detail::tvec3<T, P> const & v
182 detail::tvec3<T, P> const real_v3(q.real.x,q.real.y,q.real.z);
183 detail::tvec3<T, P> const dual_v3(q.dual.x,q.dual.y,q.dual.z);
188 GLM_FUNC_QUALIFIER detail::tvec3<T, P> operator*
190 detail::tvec3<T, P> const & v,
191 detail::tdualquat<T, P> const & q
198 GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
200 detail::tdualquat<T, P> const & q,
201 detail::tvec4<T, P> const & v
204 return detail::tvec4<T, P>(q * detail::tvec3<T, P>(v), v.w);
208 GLM_FUNC_QUALIFIER detail::tvec4<T, P> operator*
210 detail::tvec4<T, P> const & v,
211 detail::tdualquat<T, P> const & q
218 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
220 detail::tdualquat<T, P> const & q,
224 return detail::tdualquat<T, P>(q.real * s, q.dual * s);
228 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator*
231 detail::tdualquat<T, P> const & q
238 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> operator/
240 detail::tdualquat<T, P> const & q,
244 return detail::tdualquat<T, P>(q.real / s, q.dual / s);
252 detail::tdualquat<T, P> const & q1,
253 detail::tdualquat<T, P> const & q2
262 detail::tdualquat<T, P> const & q1,
263 detail::tdualquat<T, P> const & q2
268 }//namespace detail
272 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> normalize
274 detail::tdualquat<T, P> const & q
281 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> lerp
283 detail::tdualquat<T, P> const & x,
284 detail::tdualquat<T, P> const & y,
294 return detail::tdualquat<T, P>(x * (one - a) + y * k);
298 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> inverse
300 detail::tdualquat<T, P> const & q
303 const glm::detail::tquat<T, P> real = conjugate(q.real);
304 const glm::detail::tquat<T, P> dual = conjugate(q.dual);
305 return detail::tdualquat<T, P>(real, dual + (real * (-2.0f * dot(real,dual))));
309 GLM_FUNC_QUALIFIER detail::tmat2x4<T, P> mat2x4_cast
311 detail::tdualquat<T, P> const & x
314 return detail::tmat2x4<T, P>( x[0].x, x[0].y, x[0].z, x[0].w, x[1].x, x[1].y, x[1].z, x[1].w );
318 GLM_FUNC_QUALIFIER detail::tmat3x4<T, P> mat3x4_cast
320 detail::tdualquat<T, P> const & x
323 detail::tquat<T, P> r = x.real / length2(x.real);
325 detail::tquat<T, P> const rr(r.w * x.real.w, r.x * x.real.x, r.y * x.real.y, r.z * x.real.z);
335 detail::tvec4<T, P> const a(
341 detail::tvec4<T, P> const b(
347 detail::tvec4<T, P> const c(
353 return detail::tmat3x4<T, P>(a, b, c);
357 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> dualquat_cast
359 detail::tmat2x4<T, P> const & x
362 return detail::tdualquat<T, P>(
363 detail::tquat<T, P>( x[0].w, x[0].x, x[0].y, x[0].z ),
364 detail::tquat<T, P>( x[1].w, x[1].x, x[1].y, x[1].z ));
368 GLM_FUNC_QUALIFIER detail::tdualquat<T, P> dualquat_cast
370 detail::tmat3x4<T, P> const & x
373 detail::tquat<T, P> real;
413 detail::tquat<T, P> dual;
418 return detail::tdualquat<T, P>(real, dual);