40 template <
typename T, precision P = defaultp>
44 typedef std::size_t size_type;
45 typedef tvec3<T, P> col_type;
46 typedef tvec2<T, P> row_type;
47 typedef tmat2x3<T, P> type;
48 typedef tmat3x2<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 tmat2x3();
64 template <precision Q>
65 GLM_FUNC_DECL tmat2x3(tmat2x3<T, Q>
const & m);
67 GLM_FUNC_DECL
explicit tmat2x3(ctor);
68 GLM_FUNC_DECL
explicit tmat2x3(T
const & s);
69 GLM_FUNC_DECL tmat2x3(
70 T
const & x0, T
const & y0, T
const & z0,
71 T
const & x1, T
const & y1, T
const & z1);
72 GLM_FUNC_DECL tmat2x3(
79 template <
typename X1,
typename Y1,
typename Z1,
typename X2,
typename Y2,
typename Z2>
80 GLM_FUNC_DECL tmat2x3(
81 X1
const & x1, Y1
const & y1, Z1
const & z1,
82 X2
const & x2, Y2
const & y2, Z2
const & z2);
84 template <
typename U,
typename V>
85 GLM_FUNC_DECL tmat2x3(
86 tvec3<U, P>
const & v1,
87 tvec3<V, P>
const & v2);
92 # ifdef GLM_FORCE_EXPLICIT_CTOR
93 template <
typename U, precision Q>
94 GLM_FUNC_DECL
explicit tmat2x3(tmat2x3<U, Q>
const & m);
96 template <
typename U, precision Q>
97 GLM_FUNC_DECL tmat2x3(tmat2x3<U, Q>
const & m);
100 GLM_FUNC_DECL
explicit tmat2x3(tmat2x2<T, P>
const & x);
101 GLM_FUNC_DECL
explicit tmat2x3(tmat3x3<T, P>
const & x);
102 GLM_FUNC_DECL
explicit tmat2x3(tmat4x4<T, P>
const & x);
103 GLM_FUNC_DECL
explicit tmat2x3(tmat2x4<T, P>
const & x);
104 GLM_FUNC_DECL
explicit tmat2x3(tmat3x2<T, P>
const & x);
105 GLM_FUNC_DECL
explicit tmat2x3(tmat3x4<T, P>
const & x);
106 GLM_FUNC_DECL
explicit tmat2x3(tmat4x2<T, P>
const & x);
107 GLM_FUNC_DECL
explicit tmat2x3(tmat4x3<T, P>
const & x);
110 GLM_FUNC_DECL col_type & operator[](length_t i);
111 GLM_FUNC_DECL col_type
const & operator[](length_t i)
const;
113 template <
typename U>
114 GLM_FUNC_DECL tmat2x3<T, P> & operator= (tmat2x3<U, P>
const & m);
115 template <
typename U>
116 GLM_FUNC_DECL tmat2x3<T, P> & operator+= (U s);
117 template <
typename U>
118 GLM_FUNC_DECL tmat2x3<T, P> & operator+= (tmat2x3<U, P>
const & m);
119 template <
typename U>
120 GLM_FUNC_DECL tmat2x3<T, P> & operator-= (U s);
121 template <
typename U>
122 GLM_FUNC_DECL tmat2x3<T, P> & operator-= (tmat2x3<U, P>
const & m);
123 template <
typename U>
124 GLM_FUNC_DECL tmat2x3<T, P> & operator*= (U s);
125 template <
typename U>
126 GLM_FUNC_DECL tmat2x3<T, P> & operator/= (U s);
131 GLM_FUNC_DECL tmat2x3<T, P> & operator++ ();
132 GLM_FUNC_DECL tmat2x3<T, P> & operator-- ();
133 GLM_FUNC_DECL tmat2x3<T, P> operator++(
int);
134 GLM_FUNC_DECL tmat2x3<T, P> operator--(
int);
139 template <
typename T, precision P>
140 GLM_FUNC_DECL tmat2x3<T, P> operator+ (
141 tmat2x3<T, P>
const & m,
144 template <
typename T, precision P>
145 GLM_FUNC_DECL tmat2x3<T, P> operator+ (
146 tmat2x3<T, P>
const & m1,
147 tmat2x3<T, P>
const & m2);
149 template <
typename T, precision P>
150 GLM_FUNC_DECL tmat2x3<T, P> operator- (
151 tmat2x3<T, P>
const & m,
154 template <
typename T, precision P>
155 GLM_FUNC_DECL tmat2x3<T, P> operator- (
156 tmat2x3<T, P>
const & m1,
157 tmat2x3<T, P>
const & m2);
159 template <
typename T, precision P>
160 GLM_FUNC_DECL tmat2x3<T, P> operator* (
161 tmat2x3<T, P>
const & m,
164 template <
typename T, precision P>
165 GLM_FUNC_DECL tmat2x3<T, P> operator* (
167 tmat2x3<T, P>
const & m);
169 template <
typename T, precision P>
170 GLM_FUNC_DECL
typename tmat2x3<T, P>::col_type operator* (
171 tmat2x3<T, P>
const & m,
172 typename tmat2x3<T, P>::row_type
const & v);
174 template <
typename T, precision P>
175 GLM_FUNC_DECL
typename tmat2x3<T, P>::row_type operator* (
176 typename tmat2x3<T, P>::col_type
const & v,
177 tmat2x3<T, P>
const & m);
179 template <
typename T, precision P>
180 GLM_FUNC_DECL tmat2x3<T, P> operator* (
181 tmat2x3<T, P>
const & m1,
182 tmat2x2<T, P>
const & m2);
184 template <
typename T, precision P>
185 GLM_FUNC_DECL tmat3x3<T, P> operator* (
186 tmat2x3<T, P>
const & m1,
187 tmat3x2<T, P>
const & m2);
189 template <
typename T, precision P>
190 GLM_FUNC_DECL tmat4x3<T, P> operator* (
191 tmat2x3<T, P>
const & m1,
192 tmat4x2<T, P>
const & m2);
194 template <
typename T, precision P>
195 GLM_FUNC_DECL tmat2x3<T, P> operator/ (
196 tmat2x3<T, P>
const & m,
199 template <
typename T, precision P>
200 GLM_FUNC_DECL tmat2x3<T, P> operator/ (
202 tmat2x3<T, P>
const & m);
205 template <
typename T, precision P>
206 GLM_FUNC_DECL tmat2x3<T, P>
const operator- (
207 tmat2x3<T, P>
const & m);
210 #ifndef GLM_EXTERNAL_TEMPLATE
211 #include "type_mat2x3.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)