]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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'> | |
4 | <head> | |
5 | <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/> | |
6 | <title>boost/qvm/mat_operations.hpp</title> | |
7 | <link href='reno.css' type='text/css' rel='stylesheet'/> | |
8 | </head> | |
9 | <body> | |
10 | <div class="body-0"> | |
11 | <div class="body-1"> | |
12 | <div class="body-2"> | |
13 | <div> | |
14 | <h1>QVM: Quaternions, Vectors, Matrices</h1> | |
15 | </div> | |
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/mat_operations.hpp</h3> | |
20 | </div> | |
21 | <p>This header defines all available function overloads that operate on matrix objects.</p> | |
22 | <h3>Synopsis:</h3> | |
23 | <div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`#</wiki>--></span>include <<span class="RenoLink">boost/qvm/mat_operations.hpp</span>></p> | |
24 | <pre>namespace boost | |
25 | { | |
26 | namespace <span class="RenoLink"><a href="qvm.html">qvm</a></span> | |
27 | { | |
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_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
30 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
31 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
32 | template <class A,class B> | |
33 | A & <span class="RenoLink"><a href="assign_mat_mat_.html">assign</a></span>( A & a, B const & b );</span> | |
34 | ||
35 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
36 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><R>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && | |
37 | // <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><R>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span>==<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> && | |
38 | // <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><R>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span>==<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> | |
39 | template <class R,class A> | |
40 | R <span class="RenoLink"><a href="convert_to_mat_.html">convert_to</a></span>( A const & a );</span> | |
41 | ||
42 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
43 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
44 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
45 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
46 | template <class A,class B> | |
47 | A & <span class="RenoLink"><a href="operator_sub_eq_mat_mat_.html">operator-=</a></span>( A & a, B const & b );</span> | |
48 | ||
49 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value | |
50 | template <class A> | |
51 | typename <span class="RenoLink"><a href="deduce_mat.html">deduce_mat</a></span><A>::type | |
52 | <span class="RenoLink"><a href="operator_minus_mat_.html">operator-</a></span>( A const & a );</span> | |
53 | ||
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_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
56 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
57 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
58 | template <class A,class B> | |
59 | typename <span class="RenoLink"><a href="deduce_mat2.html">deduce_mat2</a></span><A,B,<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>,<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>>::type | |
60 | <span class="RenoLink"><a href="operator_minus_mat_mat_.html">operator-</a></span>( A const & a, B const & b );</span> | |
61 | ||
62 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
63 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
64 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
65 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
66 | template <class A,class B> | |
67 | A & <span class="RenoLink"><a href="operator_add_mat_mat_.html">operator+=</a></span>( A & a, B const & b );</span> | |
68 | ||
69 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
70 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
71 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
72 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
73 | template <class A,class B> | |
74 | typename <span class="RenoLink"><a href="deduce_mat2.html">deduce_mat2</a></span><A,B,<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>,<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>>::type | |
75 | <span class="RenoLink"><a href="operator_plus_mat_mat_.html">operator+</a></span>( A const & a, B const & b );</span> | |
76 | ||
77 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_scalar.html">is_scalar</a></span><B>::value | |
78 | template <class A,class B> | |
79 | A & <span class="RenoLink"><a href="operator_div_eq_mat_scalar_.html">operator/=</a></span>( A & a, B b );</span> | |
80 | ||
81 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_scalar.html">is_scalar</a></span><B>::value | |
82 | template <class A,class B> | |
83 | typename <span class="RenoLink"><a href="deduce_mat.html">deduce_mat</a></span><A>::type | |
84 | <span class="RenoLink"><a href="operator_over_mat_scalar_.html">operator/</a></span>( A const & a, B b );</span> | |
85 | ||
86 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
87 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
88 | // <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>==<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> && | |
89 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
90 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
91 | template <class A,class B> | |
92 | A & <span class="RenoLink"><a href="operator_mul_eq_mat_mat_.html">operator*=</a></span>( A & a, B const & b );</span> | |
93 | ||
94 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_scalar.html">is_scalar</a></span><B>::value | |
95 | template <class A,class B> | |
96 | A & <span class="RenoLink"><a href="operator_mul_eq_mat_scalar_.html">operator*=</a></span>( A & a, B b );</span> | |
97 | ||
98 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
99 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
100 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> | |
101 | template <class A,class B> | |
102 | typename <span class="RenoLink"><a href="deduce_mat2.html">deduce_mat2</a></span><A,B,<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>,<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span>>::type | |
103 | <span class="RenoLink"><a href="operator_times_mat_mat_.html">operator*</a></span>( A const & a, B const & b );</span> | |
104 | ||
105 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_scalar.html">is_scalar</a></span><B>::value | |
106 | template <class A,class B> | |
107 | typename <span class="RenoLink"><a href="deduce_mat.html">deduce_mat</a></span><A>::type | |
108 | <span class="RenoLink"><a href="operator_times_mat_scalar_.html">operator*</a></span>( A const & a, B b );</span> | |
109 | ||
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_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
112 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
113 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
114 | template <class A,class B> | |
115 | bool <span class="RenoLink"><a href="operator_eq_mat_mat_.html">operator==</a></span>( A const & a, B const & b );</span> | |
116 | ||
117 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
118 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
119 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
120 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
121 | template <class A,class B> | |
122 | bool <span class="RenoLink"><a href="operator_not_eq_mat_mat_.html">operator!=</a></span>( A const & a, B const & b );</span> | |
123 | ||
124 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
125 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><B>::value && | |
126 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_rows.html">rows</a></span> && | |
127 | // <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>==<span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><B>::<span class="RenoLink"><a href="mat_traits_Matrix_cols.html">cols</a></span> | |
128 | template <class A,class B,class Cmp> | |
129 | bool <span class="RenoLink"><a href="cmp_mat_mat_.html">cmp</a></span>( A const & a, B const & b, Cmp pred );</span> | |
130 | ||
131 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
132 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <span class="RenoLink"><a href="is_scalar.html">is_scalar</a></span><B>::value | |
133 | // <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>==<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> | |
134 | ||
135 | template <class A,class B> | |
136 | typename <span class="RenoLink"><a href="deduce_mat.html">deduce_mat</a></span><A>::type | |
137 | <span class="RenoLink"><a href="inverse_mat_.html">inverse</a></span>( A const & a, B det ); | |
138 | ||
139 | template <class A> | |
140 | typename <span class="RenoLink"><a href="deduce_mat.html">deduce_mat</a></span><A>::type | |
141 | <span class="RenoLink"><a href="inverse_mat_.html">inverse</a></span>( A const & a );</span> | |
142 | ||
143 | <span class="RenoIncludeSPAN">template <class T,int D> | |
144 | -unspecified-return-type- <span class="RenoLink"><a href="zero_mat.html">zero_mat</a></span>(); | |
145 | ||
146 | template <class T,int R,int C> | |
147 | -unspecified-return-type- <span class="RenoLink"><a href="zero_mat.html">zero_mat</a></span>();</span> | |
148 | ||
149 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
150 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value | |
151 | template <class A> | |
152 | void <span class="RenoLink"><a href="set_zero_mat_.html">set_zero</a></span>( A & a );</span> | |
153 | ||
154 | <span class="RenoIncludeSPAN">template <class S,int D> | |
155 | -unspecified-return-type- <span class="RenoLink"><a href="identity_mat.html">identity_mat</a></span>();</span> | |
156 | ||
157 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
158 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && | |
159 | // <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>==<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> | |
160 | template <class A> | |
161 | void <span class="RenoLink"><a href="set_identity_mat_.html">set_identity</a></span>( A & a );</span> | |
162 | ||
163 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
164 | // <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 | |
165 | template <int Dim,class A,class Angle> | |
166 | -unspecified-return-type | |
167 | <span class="RenoLink"><a href="rot_mat.html">rot_mat</a></span>( A const & axis, Angle angle );</span> | |
168 | ||
169 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
170 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
171 | // <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>==<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> && | |
172 | // <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 | |
173 | template <class A> | |
174 | void <span class="RenoLink"><a href="set_rot_mat_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> | |
175 | ||
176 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
177 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
178 | // <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>==<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> && | |
179 | // <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 | |
180 | template <class A,class B> | |
181 | void <span class="RenoLink"><a href="rotate_mat_vec_scalar_.html">rotate</a></span>( A & a, B const & axis, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
182 | ||
183 | <span class="RenoIncludeSPAN">template <int Dim,class Angle> | |
184 | -unspecified-return-type- <span class="RenoLink"><a href="rotx_mat_scalar_.html">rotx_mat</a></span>( Angle const & angle );</span> | |
185 | ||
186 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
187 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
188 | // <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>==<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> | |
189 | template <class A> | |
190 | void <span class="RenoLink"><a href="set_rotx_mat_scalar_.html">set_rotx</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
191 | ||
192 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
193 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
194 | // <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>==<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> | |
195 | template <class A> | |
196 | void <span class="RenoLink"><a href="rotate_x_mat_scalar_.html">rotate_x</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
197 | ||
198 | <span class="RenoIncludeSPAN">template <int Dim,class Angle> | |
199 | -unspecified-return-type- <span class="RenoLink"><a href="roty_mat_scalar_.html">roty_mat</a></span>( Angle const & angle );</span> | |
200 | ||
201 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
202 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
203 | // <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>==<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> | |
204 | template <class A> | |
205 | void <span class="RenoLink"><a href="set_roty_mat_scalar_.html">set_roty</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
206 | ||
207 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
208 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
209 | // <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>==<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> | |
210 | template <class A> | |
211 | void <span class="RenoLink"><a href="rotate_y_mat_scalar_.html">rotate_y</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
212 | ||
213 | <span class="RenoIncludeSPAN">template <int Dim,class Angle> | |
214 | -unspecified-return-type- <span class="RenoLink"><a href="rotz_mat_scalar_.html">rotz_mat</a></span>( Angle const & angle );</span> | |
215 | ||
216 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
217 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
218 | // <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>==<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> | |
219 | template <class A> | |
220 | void <span class="RenoLink"><a href="set_rotz_mat_scalar_.html">set_rotz</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
221 | ||
222 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
223 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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 && | |
224 | // <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>==<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> | |
225 | template <class A> | |
226 | void <span class="RenoLink"><a href="rotate_z_mat_scalar_.html">rotate_z</a></span>( A & a, typename <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> angle );</span> | |
227 | ||
228 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: | |
229 | // <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value && <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>==<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> | |
230 | template <class A> | |
231 | <span class="RenoLink"><a href="mat_traits.html">mat_traits</a></span><A>::<span class="RenoLink"><a href="mat_traits_M_scalar_type.html">scalar_type</a></span> | |
232 | <span class="RenoLink"><a href="determinant.html">determinant</a></span>( A const & a );</span> | |
233 | ||
234 | <span class="RenoIncludeSPAN">template <class T> | |
235 | -unspecified-return-type | |
236 | <span class="RenoLink"><a href="perspective_lh.html">perspective_lh</a></span>( T fov_y, T aspect, T zn, T zf );</span> | |
237 | ||
238 | <span class="RenoIncludeSPAN">template <class T> | |
239 | -unspecified-return-type | |
240 | <span class="RenoLink"><a href="perspective_rh.html">perspective_rh</a></span>( T fov_y, T aspect, T zn, T zf );</span> | |
241 | ||
242 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value | |
243 | template <class A> | |
244 | -unspecified-return-type- <span class="RenoLink"><a href="mref.html">mref</a></span>( A & a );</span> | |
245 | ||
246 | <span class="RenoIncludeSPAN">//Only <span class="RenoLink"><a href="SFINAE_enable_if.html">enabled if</a></span>: <span class="RenoLink"><a href="is_mat.html">is_mat</a></span><A>::value | |
247 | template <class Scalar,class A> | |
248 | -unspecified-return_type- <span class="RenoLink"><a href="scalar_cast_mat_.html">scalar_cast</a></span>( A const & a );</span></span> | |
249 | } | |
250 | }</pre> | |
251 | </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div> | |
252 | See also: <span class="RenoPageList"><a href="assign_mat_mat_.html">assign(mat,mat)</a> | <a href="boost_qvm_mat_operations2_hpp.html">boost/qvm/mat_operations2.hpp</a> | <a href="boost_qvm_mat_operations3_hpp.html">boost/qvm/mat_operations3.hpp</a> | <a href="boost_qvm_mat_operations4_hpp.html">boost/qvm/mat_operations4.hpp</a> | <a href="boost_qvm_operations_hpp.html">boost/qvm/operations.hpp</a> | <a href="code_generator.html">Code Generator</a> | <a href="cmp_mat_mat_.html">cmp(mat,mat)</a> | <a href="convert_to_mat_.html">convert_to(mat)</a> | <a href="determinant.html">determinant</a> | <a href="identity_mat.html">identity_mat</a> | <a href="inverse_mat_.html">inverse(mat)</a> | <a href="mref.html">mref</a> | <a href="operator_not_eq_mat_mat_.html">operator!=(mat,mat)</a> | <a href="operator_times_mat_mat_.html">operator*(mat,mat)</a> | <a href="operator_times_mat_scalar_.html">operator*(mat,scalar)</a> | <a href="operator_mul_eq_mat_mat_.html">operator*=(mat,mat)</a> | <a href="operator_mul_eq_mat_scalar_.html">operator*=(mat,scalar)</a> | <a href="operator_plus_mat_mat_.html">operator+(mat,mat)</a> | <a href="operator_add_mat_mat_.html">operator+=(mat,mat)</a> | <a href="operator_minus_mat_.html">operator-(mat)</a> | <a href="operator_minus_mat_mat_.html">operator-(mat,mat)</a> | <a href="operator_sub_eq_mat_mat_.html">operator-=(mat,mat)</a> | <a href="operator_over_mat_scalar_.html">operator/(mat,scalar)</a> | <a href="operator_div_eq_mat_scalar_.html">operator/=(mat,scalar)</a> | <a href="operator_eq_mat_mat_.html">operator==(mat,mat)</a> | <a href="perspective_lh.html">perspective_lh</a> | <a href="perspective_rh.html">perspective_rh</a> | <a href="rot_mat.html">rot_mat</a> | <a href="rotate_mat_vec_scalar_.html">rotate(mat,vec,scalar)</a> | <a href="rotate_x_mat_scalar_.html">rotate_x(mat,scalar)</a> | <a href="rotate_y_mat_scalar_.html">rotate_y(mat,scalar)</a> | <a href="rotate_z_mat_scalar_.html">rotate_z(mat,scalar)</a> | <a href="rotx_mat_scalar_.html">rotx_mat(scalar)</a> | <a href="roty_mat_scalar_.html">roty_mat(scalar)</a> | <a href="rotz_mat_scalar_.html">rotz_mat(scalar)</a> | <a href="scalar_cast_mat_.html">scalar_cast(mat)</a> | <a href="set_identity_mat_.html">set_identity(mat)</a> | <a href="set_rot_mat_vec_scalar_.html">set_rot(mat,vec,scalar)</a> | <a href="set_rotx_mat_scalar_.html">set_rotx(mat,scalar)</a> | <a href="set_roty_mat_scalar_.html">set_roty(mat,scalar)</a> | <a href="set_rotz_mat_scalar_.html">set_rotz(mat,scalar)</a> | <a href="set_zero_mat_.html">set_zero(mat)</a> | <a href="zero_mat.html">zero_mat</a></span> | |
253 | </div> | |
254 | <!-- Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc. --> | |
255 | <!-- Distributed under the Boost Software License, Version 1.0. (See accompanying --> | |
256 | <!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> | |
257 | <div id="footer"> | |
258 | <p> | |
259 | <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> | |
260 | <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> | |
261 | <small>Copyright (c) 2008-2016 by Emil Dotchevski and Reverge Studios, Inc.<br/> | |
262 | Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt">Boost Software License, Version 1.0</a>.</small> | |
263 | </p> | |
264 | </div> | |
265 | </div> | |
266 | </div> | |
267 | </div> | |
268 | </body> | |
269 | </html> |