Lines Matching refs:quat_traits
60 …ny suitable type that has been registered by specializing the <<quat_traits,`quat_traits`>>, <<vec…
135 …ion types are similarly introduced to QVM by specializing the <<quat_traits,`quat_traits`>> templa…
141 …pp,`boost/qvm/mat_traits_array.hpp`>> QVM defines appropriate <<quat_traits,`quat_traits`>>, <<vec…
359 | Quaternion traits |#include <boost/qvm/quat_traits.hpp>
541 The expression <<quat_traits,`quat_traits<T>::scalar_type`>> evaluates to the scalar type of the qu…
554 .#include <boost/qvm/quat_traits.hpp>
569 …er a type `T` is a quaternion type. For quaternion types, the <<quat_traits,`quat_traits`>> templa…
573 [[quat_traits]] anchor
574 ==== `quat_traits`
576 .#include <boost/qvm/quat_traits.hpp>
582 struct quat_traits {
592 struct quat_traits<Q> {
608 The `quat_traits` template must be specialized for (user-defined) quaternion types in order to enab…
612 The main `quat_traits` template members are not specified. Valid specializations are required to de…
614 - `scalar_type`: the expression `quat_traits<Quaternion>::scalar_type` must be a value type which s…
616 In addition, valid specializations of the `quat_traits` template must define at least one of the fo…
618 - `read_element`: the expression `quat_traits<Quaternion>::read_element<I>(q)` returns either a cop…
620 - `write_element`: the expression `quat_traits<Quaternion>::write_element<I>(q)` returns mutable re…
626 …f a user-defined quaternion type, and its corresponding specialization of the quat_traits template:
630 #include <boost/qvm/quat_traits.hpp>
637 struct quat_traits<fquat> {
663 struct quat_traits<fquat>: quat_traits_defaults<fquat,float> {
695 return quat_traits<quat_type>::template
704 …quat_traits,`quat_traits`>> template, to easily define the required members. If it is used, the on…
763 The main template definition returns an unspecified quaternion type with <<quat_traits,`scalar_type…
1296 …class templates (together with appropriate specializations of <<quat_traits,`quat_traits`>>, <<vec…
1321 struct quat_traits;
1324 struct quat_traits< quat<T> > {
1345 The partial specialization of the <<quat_traits,`quat_traits`>> template makes the `quat` template …
2103 typename quat_traits<A>::scalar_type
2123 typename quat_traits<A>::scalar_type
2180 Ensures: :: `mag(a)==scalar_traits<typename quat_traits<A>::scalar_type>::value(1).`
2320 zero_quat<typename quat_traits<A>::scalar_type>());
2363 identity_quat<typename quat_traits<A>::scalar_type>());
2432 void rotate( A & a, B const & axis, typename quat_traits<A>::scalar_type angle );
2469 void set_rotx( A & a, typename quat_traits<A>::scalar_type angle );
2495 void rotate_x( A & a, typename quat_traits<A>::scalar_type angle );
2532 void set_rotz( A & a, typename quat_traits<A>::scalar_type angle );
2558 void rotate_y( A & a, typename quat_traits<A>::scalar_type angle );
2595 void set_rotz( A & a, typename quat_traits<A>::scalar_type angle );
2621 void rotate_z( A & a, typename quat_traits<A>::scalar_type angle );
2645 …that looks like a quaternion of the same dimensions as `a`, but with <<quat_traits,`scalar_type`>>…