Lines Matching refs:pOut

24 QUATAdd(QUAT* pOut, const QUAT* q1, const QUAT* q2)
26 NN_NULL_ASSERT( pOut );
30 pOut->x = q1->x + q2->x;
31 pOut->y = q1->y + q2->y;
32 pOut->z = q1->z + q2->z;
33 pOut->w = q1->w + q2->w;
35 return pOut;
39 QUATDivide(QUAT* pOut, const QUAT* q1, const QUAT* q2)
43 NN_NULL_ASSERT( pOut );
48 QUATMult(pOut, &qtmp, q1);
50 return pOut;
63 QUATExp(QUAT* pOut, const QUAT* __restrict q)
67 NN_NULL_ASSERT( pOut );
81 pOut->x = scale * q->x;
82 pOut->y = scale * q->y;
83 pOut->z = scale * q->z;
84 pOut->w = (f32)::std::cosf(theta);
86 return pOut;
90 QUATLerp(QUAT* pOut, const QUAT* __restrict q1, const QUAT* __restrict q2, f32 t)
92 NN_NULL_ASSERT( pOut );
96 pOut->x = t * ( q2->x - q1->x ) + q1->x;
97 pOut->y = t * ( q2->y - q1->y ) + q1->y;
98 pOut->z = t * ( q2->z - q1->z ) + q1->z;
99 pOut->w = t * ( q2->w - q1->w ) + q1->w;
101 return pOut;
105 QUATLogN(QUAT* pOut, const QUAT* __restrict q)
109 NN_NULL_ASSERT( pOut );
122 pOut->x = scale * q->x;
123 pOut->y = scale * q->y;
124 pOut->z = scale * q->z;
125 pOut->w = 0.0F;
127 return pOut;
131 QUATMakeClosest(QUAT* pOut, const QUAT *q, const QUAT *qto)
135 NN_NULL_ASSERT(pOut);
143 pOut->x = -q->x;
144 pOut->y = -q->y;
145 pOut->z = -q->z;
146 pOut->w = -q->w;
150 *pOut = *q;
153 return pOut;
157 QUATRotAxisRad( QUAT *pOut, const VEC3 *axis, f32 rad )
162 NN_NULL_ASSERT( pOut );
171 pOut->x = sh * nAxis.x;
172 pOut->y = sh * nAxis.y;
173 pOut->z = sh * nAxis.z;
174 pOut->w = ch;
176 return pOut;
180 QUATScale(QUAT* pOut, const QUAT* q, f32 scale)
182 NN_NULL_ASSERT( pOut );
185 pOut->x = q->x * scale;
186 pOut->y = q->y * scale;
187 pOut->z = q->z * scale;
188 pOut->w = q->w * scale;
190 return pOut;
194 QUATSlerp(QUAT* pOut, const QUAT* __restrict q1, const QUAT* __restrict q2, f32 t)
198 NN_NULL_ASSERT( pOut );
225 pOut->x = tp * q1->x + tq * q2->x;
226 pOut->y = tp * q1->y + tq * q2->y;
227 pOut->z = tp * q1->z + tq * q2->z;
228 pOut->w = tp * q1->w + tq * q2->w;
230 return pOut;
234 QUATSquad(QUAT* pOut, const QUAT* p, const QUAT* a, const QUAT* b, const QUAT* q, f32 t)
239 NN_NULL_ASSERT( pOut );
248 QUATSlerp(pOut, &pq, &ab, t2);
250 return pOut;
254 QUATSub(QUAT *pOut, const QUAT *q1, const QUAT *q2)
256 NN_NULL_ASSERT( pOut );
260 pOut->x = q1->x - q2->x;
261 pOut->y = q1->y - q2->y;
262 pOut->z = q1->z - q2->z;
263 pOut->w = q1->w - q2->w;
265 return pOut;