@@ -3199,39 +3199,19 @@ void TransInit( transform_t *t )
3199
3199
t->scale = 1 .0f ;
3200
3200
}
3201
3201
3202
- // copy a transform
3203
- void TransCopy ( const transform_t *in, transform_t *out )
3204
- {
3205
- memcpy ( out, in, sizeof ( transform_t ) );
3206
- }
3207
-
3208
3202
// apply a transform to a point
3209
3203
void TransformPoint ( const transform_t *t, const vec3_t in, vec3_t out )
3210
3204
{
3211
3205
QuatTransformVector ( t->rot , in, out );
3212
3206
VectorScale ( out, t->scale , out );
3213
3207
VectorAdd ( out, t->trans , out );
3214
3208
}
3215
- // apply the inverse of a transform to a point
3216
- void TransformPointInverse ( const transform_t *t, const vec3_t in, vec3_t out )
3217
- {
3218
- VectorSubtract ( in, t->trans , out );
3219
- VectorScale ( out, 1 .0f / t->scale , out );
3220
- QuatTransformVectorInverse ( t->rot , out, out );
3221
- }
3222
3209
3223
3210
// apply a transform to a normal vector (ignore scale and translation)
3224
3211
void TransformNormalVector ( const transform_t *t, const vec3_t in, vec3_t out )
3225
3212
{
3226
3213
QuatTransformVector ( t->rot , in, out );
3227
3214
}
3228
- // apply the inverse of a transform to a normal vector (ignore scale
3229
- // and translation)
3230
- void TransformNormalVectorInverse ( const transform_t *t, const vec3_t in,
3231
- vec3_t out )
3232
- {
3233
- QuatTransformVectorInverse ( t->rot , in, out );
3234
- }
3235
3215
3236
3216
// initialize a transform with a pure rotation
3237
3217
void TransInitRotationQuat ( const quat_t quat, transform_t *t )
@@ -3240,16 +3220,6 @@ void TransInitRotationQuat( const quat_t quat, transform_t *t )
3240
3220
VectorClear ( t->trans );
3241
3221
t->scale = 1 .0f ;
3242
3222
}
3243
- void TransInitRotation ( const vec3_t axis, float angle, transform_t *t )
3244
- {
3245
- float sa = sinf ( 0 .5f * angle );
3246
- float ca = cosf ( 0 .5f * angle );
3247
- quat_t q;
3248
-
3249
- VectorScale ( axis, sa, q );
3250
- q[3 ] = ca;
3251
- TransInitRotationQuat ( q, t );
3252
- }
3253
3223
// initialize a transform with a pure translation
3254
3224
void TransInitTranslation ( const vec3_t vec, transform_t *t )
3255
3225
{
@@ -3292,16 +3262,6 @@ void TransAddRotationQuat( const quat_t quat, transform_t *t )
3292
3262
QuatMultiply2 ( tmp, t->rot );
3293
3263
QuatCopy ( tmp, t->rot );
3294
3264
}
3295
- void TransAddRotation ( const vec3_t axis, float angle, transform_t *t )
3296
- {
3297
- float sa = sinf ( 0 .5f * angle );
3298
- float ca = cosf ( 0 .5f * angle );
3299
- quat_t q;
3300
-
3301
- VectorScale ( axis, sa, q );
3302
- q[3 ] = ca;
3303
- TransAddRotationQuat ( q, t );
3304
- }
3305
3265
3306
3266
// add a scale to the start of an existing transform
3307
3267
void TransInsScale ( float factor, transform_t *t )
@@ -3319,9 +3279,9 @@ void TransAddScale( float factor, transform_t *t )
3319
3279
void TransInsTranslation ( const vec3_t vec, transform_t *t )
3320
3280
{
3321
3281
vec3_t tmp;
3322
-
3323
- TransformPoint ( t, vec , tmp );
3324
- VectorAdd ( t->trans , tmp , t->trans );
3282
+ QuatTransformVector ( t-> rot , vec, tmp );
3283
+ VectorScale ( tmp, t-> scale , tmp );
3284
+ VectorAdd ( tmp, t->trans , t->trans );
3325
3285
}
3326
3286
3327
3287
// add a translation at the end of an existing transformation
@@ -3334,7 +3294,7 @@ void TransAddTranslation( const vec3_t vec, transform_t *t )
3334
3294
void TransCombine ( const transform_t *a, const transform_t *b,
3335
3295
transform_t *out )
3336
3296
{
3337
- TransCopy ( a, out ) ;
3297
+ * out = *a ;
3338
3298
3339
3299
TransAddRotationQuat ( b->rot , out );
3340
3300
TransAddScale ( b->scale , out );
@@ -3345,15 +3305,15 @@ void TransCombine( const transform_t *a, const transform_t *b,
3345
3305
void TransInverse ( const transform_t *in, transform_t *out )
3346
3306
{
3347
3307
quat_t inverse;
3348
- static transform_t tmp; // static for proper alignment in QVMs
3308
+ transform_t tmp;
3349
3309
3350
3310
TransInit ( &tmp );
3351
3311
VectorNegate ( in->trans , tmp.trans );
3352
3312
TransAddScale ( 1 .0f / in->scale , &tmp );
3353
3313
QuatCopy ( in->rot , inverse );
3354
3314
QuatInverse ( inverse );
3355
3315
TransAddRotationQuat ( inverse, &tmp );
3356
- TransCopy ( &tmp, out ) ;
3316
+ * out = tmp ;
3357
3317
}
3358
3318
3359
3319
// lerp between transforms
0 commit comments