Lines Matching refs:pOut
31 @param[out] pOut コピー先の行列のポインタです。
34 @return pOut を返します。
37 MTX23Copy(MTX23* pOut, const MTX23* p)
39 NN_NULL_ASSERT( pOut );
42 if (pOut != p)
44 *pOut = *p;
47 return pOut;
53 @param[out] pOut ゼロ行列を格納するバッファへのポインタです。
55 @return pOut を返します。
58 MTX23Zero(MTX23* pOut)
60 NN_NULL_ASSERT( pOut );
62 pOut->f._00 = pOut->f._01 = pOut->f._02 =
63 pOut->f._10 = pOut->f._11 = pOut->f._12 = 0.f;
65 return pOut;
71 @param[out] pOut 単位行列を格納するバッファへのポインタです。
73 @return pOut を返します。
76 MTX23Identity(MTX23* pOut)
78 NN_NULL_ASSERT( pOut );
80 MTX23Copy(pOut, MTX23::Identity());
82 return pOut;
104 @param[out] pOut 計算結果を受け取るバッファへのポインタです。p1, p2 と同じ行列を指しても構いません。
108 @return pOut を返します。
111 MTX23Add(MTX23* pOut, const MTX23* p1, const MTX23* p2)
113 NN_NULL_ASSERT( pOut );
117 pOut->f._00 = p1->f._00 + p2->f._00;
118 pOut->f._01 = p1->f._01 + p2->f._01;
119 pOut->f._02 = p1->f._02 + p2->f._02;
121 pOut->f._10 = p1->f._10 + p2->f._10;
122 pOut->f._11 = p1->f._11 + p2->f._11;
123 pOut->f._12 = p1->f._12 + p2->f._12;
125 return pOut;
131 @param[out] pOut 計算結果を受け取るバッファへのポインタです。p1, p2 と同じ行列を指しても構いません。
138 MTX23Sub(MTX23* pOut, const MTX23* p1, const MTX23* p2)
140 NN_NULL_ASSERT( pOut );
144 pOut->f._00 = p1->f._00 - p2->f._00;
145 pOut->f._01 = p1->f._01 - p2->f._01;
146 pOut->f._02 = p1->f._02 - p2->f._02;
148 pOut->f._10 = p1->f._10 - p2->f._10;
149 pOut->f._11 = p1->f._11 - p2->f._11;
150 pOut->f._12 = p1->f._12 - p2->f._12;
152 return pOut;
158 @param[out] pOut 計算結果を受け取るバッファへのポインタです。p と同じ行列を指していても構いません。
162 @return pOut を返します。
165 MTX23Mult(MTX23* pOut, const MTX23* p, f32 f)
167 NN_NULL_ASSERT( pOut );
170 pOut->f._00 = p->f._00 * f;
171 pOut->f._01 = p->f._01 * f;
172 pOut->f._02 = p->f._02 * f;
174 pOut->f._10 = p->f._10 * f;
175 pOut->f._11 = p->f._11 * f;
176 pOut->f._12 = p->f._12 * f;
178 return pOut;
184 @param[out] pOut 計算結果を受け取るバッファへのポインタです。 p1, p2 と同じ行列を指していても構いません。
188 @return pOut を返します。
191 MTX23Mult(MTX23* pOut, const MTX23* __restrict p1, const MTX23* __restrict p2)
193 NN_NULL_ASSERT( pOut );
200 if ( (pOut == p1) || (pOut == p2) )
206 pMtx = pOut;
219 MTX23Copy(pOut, &tmp);
222 return pOut;
229 @param[out] pOut 計算結果を受け取るバッファへのポインタです。pMと同じ行列を指していても構いません。
233 @return pOut を返します。
236 MTX23Scale(MTX23* pOut, const MTX23* __restrict pM, const VEC2* __restrict pS)
238 NN_NULL_ASSERT( pOut );
242 pOut->f._00 = pM->f._00 * pS->x;
243 pOut->f._10 = pM->f._10 * pS->x;
245 pOut->f._01 = pM->f._01 * pS->y;
246 pOut->f._11 = pM->f._11 * pS->y;
248 if (pOut != pM)
250 pOut->f._02 = pM->f._02;
251 pOut->f._12 = pM->f._12;
253 return pOut;
259 @param[out] pOut 計算結果を受け取るバッファへのポインタです。pMと同じ行列を指していても構いません。
266 MTX23Translate(MTX23* pOut, const MTX23* pM, const VEC2* pT)
268 if (pOut != pM)
270 (void)MTX23Copy(pOut, pM);
276 pOut->f._02 = tmp.x;
277 pOut->f._12 = tmp.y;
278 return pOut;
284 @param[out] pOut 計算結果を受け取るバッファへのポインタです。
287 @return pOut を返します。
290 MTX23RotFIdx(MTX23* pOut, f32 fIdx)
292 NN_NULL_ASSERT( pOut );
298 pOut->f._00 = pOut->f._11 = cos;
299 pOut->f._01 = sin;
300 pOut->f._10 = -sin;
301 pOut->f._02 = pOut->f._12 = 0.f;
303 return pOut;
310 @param[out] pOut 計算結果を受け取るバッファへのポインタです。
314 @return pOut を返します。
317 MTX23RotCenterFIdx(MTX23* pOut, const VEC2* pCenter, f32 fIdx)
319 NN_NULL_ASSERT( pOut );
332 (void)MTX23RotFIdx(pOut, fIdx);
334 MTX23Mult(pOut, &trans, pOut);
339 MTX23Mult(pOut, pOut, &trans);
341 return pOut;
348 @param[out] pOut 計算結果を受け取るバッファへのポインタです。p1, p2 と同じ行列を指していても構いません。
356 MTX23MAdd(MTX23* pOut, f32 t, const MTX23* p1, const MTX23* p2)
358 NN_NULL_ASSERT( pOut );
362 pOut->f._00 = t * p1->f._00 + p2->f._00;
363 pOut->f._01 = t * p1->f._01 + p2->f._01;
364 pOut->f._02 = t * p1->f._02 + p2->f._02;
366 pOut->f._10 = t * p1->f._10 + p2->f._10;
367 pOut->f._11 = t * p1->f._11 + p2->f._11;
368 pOut->f._12 = t * p1->f._12 + p2->f._12;
370 return pOut;
376 @param[out] pOut コピー先の行列へのポインタです。
379 @return pOut を返します。
382 MTX22ToMTX23(MTX23* pOut, const MTX22* pM)
384 NN_NULL_ASSERT( pOut );
387 pOut->f._00 = pM->f._00;
388 pOut->f._01 = pM->f._01;
389 pOut->f._10 = pM->f._10;
390 pOut->f._11 = pM->f._11;
392 pOut->f._02 = pOut->f._12 = 0.f;
393 return pOut;