@@ -3199,39 +3199,19 @@ void TransInit( transform_t *t )
31993199 t->scale = 1 .0f ;
32003200}
32013201
3202- // copy a transform
3203- void TransCopy ( const transform_t *in, transform_t *out )
3204- {
3205- memcpy ( out, in, sizeof ( transform_t ) );
3206- }
3207-
32083202// apply a transform to a point
32093203void TransformPoint ( const transform_t *t, const vec3_t in, vec3_t out )
32103204{
32113205 QuatTransformVector ( t->rot , in, out );
32123206 VectorScale ( out, t->scale , out );
32133207 VectorAdd ( out, t->trans , out );
32143208}
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- }
32223209
32233210// apply a transform to a normal vector (ignore scale and translation)
32243211void TransformNormalVector ( const transform_t *t, const vec3_t in, vec3_t out )
32253212{
32263213 QuatTransformVector ( t->rot , in, out );
32273214}
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- }
32353215
32363216// initialize a transform with a pure rotation
32373217void TransInitRotationQuat ( const quat_t quat, transform_t *t )
@@ -3240,16 +3220,6 @@ void TransInitRotationQuat( const quat_t quat, transform_t *t )
32403220 VectorClear ( t->trans );
32413221 t->scale = 1 .0f ;
32423222}
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- }
32533223// initialize a transform with a pure translation
32543224void TransInitTranslation ( const vec3_t vec, transform_t *t )
32553225{
@@ -3292,16 +3262,6 @@ void TransAddRotationQuat( const quat_t quat, transform_t *t )
32923262 QuatMultiply2 ( tmp, t->rot );
32933263 QuatCopy ( tmp, t->rot );
32943264}
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- }
33053265
33063266// add a scale to the start of an existing transform
33073267void TransInsScale ( float factor, transform_t *t )
@@ -3319,9 +3279,9 @@ void TransAddScale( float factor, transform_t *t )
33193279void TransInsTranslation ( const vec3_t vec, transform_t *t )
33203280{
33213281 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 );
33253285}
33263286
33273287// add a translation at the end of an existing transformation
@@ -3334,7 +3294,7 @@ void TransAddTranslation( const vec3_t vec, transform_t *t )
33343294void TransCombine ( const transform_t *a, const transform_t *b,
33353295 transform_t *out )
33363296{
3337- TransCopy ( a, out ) ;
3297+ * out = *a ;
33383298
33393299 TransAddRotationQuat ( b->rot , out );
33403300 TransAddScale ( b->scale , out );
@@ -3345,15 +3305,15 @@ void TransCombine( const transform_t *a, const transform_t *b,
33453305void TransInverse ( const transform_t *in, transform_t *out )
33463306{
33473307 quat_t inverse;
3348- static transform_t tmp; // static for proper alignment in QVMs
3308+ transform_t tmp;
33493309
33503310 TransInit ( &tmp );
33513311 VectorNegate ( in->trans , tmp.trans );
33523312 TransAddScale ( 1 .0f / in->scale , &tmp );
33533313 QuatCopy ( in->rot , inverse );
33543314 QuatInverse ( inverse );
33553315 TransAddRotationQuat ( inverse, &tmp );
3356- TransCopy ( &tmp, out ) ;
3316+ * out = tmp ;
33573317}
33583318
33593319// lerp between transforms
0 commit comments