40 template <
typename T, precision P = defaultp>
44 typedef size_t size_type;
45 typedef tvec4<T, P> col_type;
46 typedef tvec3<T, P> row_type;
47 typedef tmat3x4<T, P> type;
48 typedef tmat4x3<T, P> transpose_type;
50 # ifdef GLM_FORCE_SIZE_FUNC
51 GLM_FUNC_DECL GLM_CONSTEXPR
size_t size()
const;
53 GLM_FUNC_DECL GLM_CONSTEXPR length_t
length()
const;
54 # endif//GLM_FORCE_SIZE_FUNC
63 GLM_FUNC_DECL tmat3x4();
64 template <precision Q>
65 GLM_FUNC_DECL tmat3x4(tmat3x4<T, Q>
const & m);
67 GLM_FUNC_DECL
explicit tmat3x4(ctor);
68 GLM_FUNC_DECL
explicit tmat3x4(T
const & s);
69 GLM_FUNC_DECL tmat3x4(
70 T
const & x0, T
const & y0, T
const & z0, T
const & w0,
71 T
const & x1, T
const & y1, T
const & z1, T
const & w1,
72 T
const & x2, T
const & y2, T
const & z2, T
const & w2);
73 GLM_FUNC_DECL tmat3x4(
81 typename X1,
typename Y1,
typename Z1,
typename W1,
82 typename X2,
typename Y2,
typename Z2,
typename W2,
83 typename X3,
typename Y3,
typename Z3,
typename W3>
84 GLM_FUNC_DECL tmat3x4(
85 X1
const & x1, Y1
const & y1, Z1
const & z1, W1
const & w1,
86 X2
const & x2, Y2
const & y2, Z2
const & z2, W2
const & w2,
87 X3
const & x3, Y3
const & y3, Z3
const & z3, W3
const & w3);
89 template <
typename V1,
typename V2,
typename V3>
90 GLM_FUNC_DECL tmat3x4(
91 tvec4<V1, P>
const & v1,
92 tvec4<V2, P>
const & v2,
93 tvec4<V3, P>
const & v3);
98 # ifdef GLM_FORCE_EXPLICIT_CTOR
99 template <
typename U, precision Q>
100 GLM_FUNC_DECL
explicit tmat3x4(tmat3x4<U, Q>
const & m);
102 template <
typename U, precision Q>
103 GLM_FUNC_DECL tmat3x4(tmat3x4<U, Q>
const & m);
106 GLM_FUNC_DECL
explicit tmat3x4(tmat2x2<T, P>
const & x);
107 GLM_FUNC_DECL
explicit tmat3x4(tmat3x3<T, P>
const & x);
108 GLM_FUNC_DECL
explicit tmat3x4(tmat4x4<T, P>
const & x);
109 GLM_FUNC_DECL
explicit tmat3x4(tmat2x3<T, P>
const & x);
110 GLM_FUNC_DECL
explicit tmat3x4(tmat3x2<T, P>
const & x);
111 GLM_FUNC_DECL
explicit tmat3x4(tmat2x4<T, P>
const & x);
112 GLM_FUNC_DECL
explicit tmat3x4(tmat4x2<T, P>
const & x);
113 GLM_FUNC_DECL
explicit tmat3x4(tmat4x3<T, P>
const & x);
116 GLM_FUNC_DECL col_type & operator[](length_t i);
117 GLM_FUNC_DECL col_type
const & operator[](length_t i)
const;
119 template <
typename U>
120 GLM_FUNC_DECL tmat3x4<T, P> & operator=(tmat3x4<U, P>
const & m);
121 template <
typename U>
122 GLM_FUNC_DECL tmat3x4<T, P> & operator+=(U s);
123 template <
typename U>
124 GLM_FUNC_DECL tmat3x4<T, P> & operator+=(tmat3x4<U, P>
const & m);
125 template <
typename U>
126 GLM_FUNC_DECL tmat3x4<T, P> & operator-=(U s);
127 template <
typename U>
128 GLM_FUNC_DECL tmat3x4<T, P> & operator-=(tmat3x4<U, P>
const & m);
129 template <
typename U>
130 GLM_FUNC_DECL tmat3x4<T, P> & operator*=(U s);
131 template <
typename U>
132 GLM_FUNC_DECL tmat3x4<T, P> & operator/=(U s);
137 GLM_FUNC_DECL tmat3x4<T, P> & operator++();
138 GLM_FUNC_DECL tmat3x4<T, P> & operator--();
139 GLM_FUNC_DECL tmat3x4<T, P> operator++(
int);
140 GLM_FUNC_DECL tmat3x4<T, P> operator--(
int);
144 template <
typename T, precision P>
145 GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P>
const & m, T
const & s);
147 template <
typename T, precision P>
148 GLM_FUNC_DECL tmat3x4<T, P> operator+(tmat3x4<T, P>
const & m1, tmat3x4<T, P>
const & m2);
150 template <
typename T, precision P>
151 GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P>
const & m, T
const & s);
153 template <
typename T, precision P>
154 GLM_FUNC_DECL tmat3x4<T, P> operator-(tmat3x4<T, P>
const & m1, tmat3x4<T, P>
const & m2);
156 template <
typename T, precision P>
157 GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P>
const & m, T
const & s);
159 template <
typename T, precision P>
160 GLM_FUNC_DECL tmat3x4<T, P> operator*(T
const & s, tmat3x4<T, P>
const & m);
162 template <
typename T, precision P>
163 GLM_FUNC_DECL
typename tmat3x4<T, P>::col_type operator*(tmat3x4<T, P>
const & m,
typename tmat3x4<T, P>::row_type
const & v);
165 template <
typename T, precision P>
166 GLM_FUNC_DECL
typename tmat3x4<T, P>::row_type operator*(
typename tmat3x4<T, P>::col_type
const & v, tmat3x4<T, P>
const & m);
168 template <
typename T, precision P>
169 GLM_FUNC_DECL tmat4x4<T, P> operator*(tmat3x4<T, P>
const & m1, tmat4x3<T, P>
const & m2);
171 template <
typename T, precision P>
172 GLM_FUNC_DECL tmat2x4<T, P> operator*(tmat3x4<T, P>
const & m1, tmat2x3<T, P>
const & m2);
174 template <
typename T, precision P>
175 GLM_FUNC_DECL tmat3x4<T, P> operator*(tmat3x4<T, P>
const & m1, tmat3x3<T, P>
const & m2);
177 template <
typename T, precision P>
178 GLM_FUNC_DECL tmat3x4<T, P> operator/(tmat3x4<T, P>
const & m, T
const & s);
180 template <
typename T, precision P>
181 GLM_FUNC_DECL tmat3x4<T, P> operator/(T
const & s, tmat3x4<T, P>
const & m);
184 template <
typename T, precision P>
185 GLM_FUNC_DECL tmat3x4<T, P>
const operator-(tmat3x4<T, P>
const & m);
188 #ifndef GLM_EXTERNAL_TEMPLATE
189 #include "type_mat3x4.inl"
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
OpenGL Mathematics (glm.g-truc.net)
OpenGL Mathematics (glm.g-truc.net)
OpenGL Mathematics (glm.g-truc.net)