|
From: <kin...@us...> - 2003-12-18 01:02:16
|
Update of /cvsroot/teem/teem/src/ell
In directory sc8-pr-cvs1:/tmp/cvs-serv30105/ell
Modified Files:
ellMacros.h
Log Message:
renamed macros ELL_{3,4}M_TRAN* to ELL_{3,4}M_TRANSPOSE*, added ELL_3M_{SCALE,ROTATE{X,Y,Z}}
Index: ellMacros.h
===================================================================
RCS file: /cvsroot/teem/teem/src/ell/ellMacros.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -C2 -d -r1.35 -r1.36
*** ellMacros.h 6 Oct 2003 11:16:51 -0000 1.35
--- ellMacros.h 18 Dec 2003 01:02:13 -0000 1.36
***************
*** 155,158 ****
--- 155,163 ----
#define ELL_3V_LEN(v) (sqrt(ELL_3V_DOT((v),(v))))
+ #define ELL_3V_DIST(a, b) \
+ sqrt(((a)[0] - (b)[0])*((a)[0] - (b)[0]) + \
+ ((a)[1] - (b)[1])*((a)[1] - (b)[1]) + \
+ ((a)[2] - (b)[2])*((a)[2] - (b)[2]))
+
#define ELL_3V_NORM(v2, v1, length) \
(length = ELL_3V_LEN(v1), ELL_3V_SCALE(v2, 1.0/length, v1))
***************
*** 233,237 ****
((m)[0] = (a), (m)[4] = (b), (m)[8] = (c))
! #define ELL_3M_TRAN(m2, m1) \
((m2)[0] = (m1)[0], \
(m2)[1] = (m1)[3], \
--- 238,242 ----
((m)[0] = (a), (m)[4] = (b), (m)[8] = (c))
! #define ELL_3M_TRANSPOSE(m2, m1) \
((m2)[0] = (m1)[0], \
(m2)[1] = (m1)[3], \
***************
*** 244,248 ****
(m2)[8] = (m1)[8])
! #define ELL_3M_TRAN_IP(m, t) \
(ELL_SWAP2((m)[1],(m)[3],(t)), \
ELL_SWAP2((m)[2],(m)[6],(t)), \
--- 249,253 ----
(m2)[8] = (m1)[8])
! #define ELL_3M_TRANSPOSE_IP(m, t) \
(ELL_SWAP2((m)[1],(m)[3],(t)), \
ELL_SWAP2((m)[2],(m)[6],(t)), \
***************
*** 337,340 ****
--- 342,364 ----
(m3)[8] = (m1)[2]*(m2)[6] + (m1)[5]*(m2)[7] + (m1)[8]*(m2)[8])
+ #define ELL_3M_SCALE_SET(m, x, y, z) \
+ (ELL_3V_SET((m)+ 0, (x), 0 , 0 ), \
+ ELL_3V_SET((m)+ 3, 0 , (y), 0 ), \
+ ELL_3V_SET((m)+ 6, 0 , 0 , (z)))
+
+ #define ELL_3M_ROTATE_X_SET(m, th) \
+ (ELL_3V_SET((m)+ 0, 1 , 0 , 0 ), \
+ ELL_3V_SET((m)+ 3, 0 , cos(th) , +sin(th)), \
+ ELL_3V_SET((m)+ 6, 0 , -sin(th) , cos(th)))
+
+ #define ELL_3M_ROTATE_Y_SET(m, th) \
+ (ELL_3V_SET((m)+ 0, cos(th) , 0 , -sin(th)), \
+ ELL_3V_SET((m)+ 3, 0 , 1 , 0 ), \
+ ELL_3V_SET((m)+ 6, +sin(th) , 0 , cos(th)))
+
+ #define ELL_3M_ROTATE_Z_SET(m, th) \
+ (ELL_3V_SET((m)+ 0, cos(th) , +sin(th) , 0), \
+ ELL_3V_SET((m)+ 3, -sin(th) , cos(th) , 0), \
+ ELL_3V_SET((m)+ 6, 0 , 0 , 1))
/*
***************
*** 431,435 ****
ELL_4V_COPY((m2)+12, (m1)+12))
! #define ELL_4M_TRAN(m2, m1) \
((m2)[ 0] = (m1)[ 0], \
(m2)[ 1] = (m1)[ 4], \
--- 455,459 ----
ELL_4V_COPY((m2)+12, (m1)+12))
! #define ELL_4M_TRANSPOSE(m2, m1) \
((m2)[ 0] = (m1)[ 0], \
(m2)[ 1] = (m1)[ 4], \
***************
*** 449,453 ****
(m2)[15] = (m1)[15])
! #define ELL_4M_TRAN_IP(m, t) \
(ELL_SWAP2((m)[ 1],(m)[ 4],(t)), \
ELL_SWAP2((m)[ 2],(m)[ 8],(t)), \
--- 473,477 ----
(m2)[15] = (m1)[15])
! #define ELL_4M_TRANSPOSE_IP(m, t) \
(ELL_SWAP2((m)[ 1],(m)[ 4],(t)), \
ELL_SWAP2((m)[ 2],(m)[ 8],(t)), \
|