35 #ifndef AMINO_TF_TYPE_H
36 #define AMINO_TF_TYPE_H
171 #define AA_TF_QUAT_V 0
173 #define AA_TF_QUAT_XYZ AA_TF_QUAT_V
175 #define AA_TF_QUAT_X (AA_TF_QUAT_V + AA_TF_X)
177 #define AA_TF_QUAT_Y (AA_TF_QUAT_V + AA_TF_Y)
179 #define AA_TF_QUAT_Z (AA_TF_QUAT_V + AA_TF_Z)
181 #define AA_TF_QUAT_W 3
245 #define AA_TF_TFMAT_R 0
250 #define AA_TF_TFMAT_V 9
255 #define AA_TF_TFMAT_X 9
260 #define AA_TF_TFMAT_Y 10
265 #define AA_TF_TFMAT_Z 11
323 #define AA_TF_QUTR_Q 0
325 #define AA_TF_QUTR_QX (AA_TF_QUTR_Q + AA_TF_QUAT_X)
327 #define AA_TF_QUTR_QY (AA_TF_QUTR_Q + AA_TF_QUAT_Y)
329 #define AA_TF_QUTR_QZ (AA_TF_QUTR_Q + AA_TF_QUAT_Z)
331 #define AA_TF_QUTR_QW (AA_TF_QUTR_Q + AA_TF_QUAT_W)
334 #define AA_TF_QUTR_T 4
336 #define AA_TF_QUTR_TX (AA_TF_QUTR_T + AA_TF_X)
338 #define AA_TF_QUTR_TY (AA_TF_QUTR_T + AA_TF_Y)
340 #define AA_TF_QUTR_TZ (AA_TF_QUTR_T + AA_TF_Z)
343 #define AA_TF_DUQU_REAL 0
345 #define AA_TF_DUQU_DUAL 4
348 #define AA_TF_DUQU_REAL_W (AA_TF_DUQU_REAL + AA_TF_QUAT_W)
350 #define AA_TF_DUQU_REAL_XYZ (AA_TF_DUQU_REAL + AA_TF_QUAT_XYZ)
352 #define AA_TF_DUQU_REAL_X (AA_TF_DUQU_REAL + AA_TF_QUAT_X)
354 #define AA_TF_DUQU_REAL_Y (AA_TF_DUQU_REAL + AA_TF_QUAT_Y)
356 #define AA_TF_DUQU_REAL_Z (AA_TF_DUQU_REAL + AA_TF_QUAT_Z)
359 #define AA_TF_DUQU_DUAL_W (AA_TF_DUQU_DUAL + AA_TF_QUAT_W)
361 #define AA_TF_DUQU_DUAL_XYZ (AA_TF_DUQU_DUAL + AA_TF_QUAT_XYZ)
363 #define AA_TF_DUQU_DUAL_X (AA_TF_DUQU_DUAL + AA_TF_QUAT_X)
365 #define AA_TF_DUQU_DUAL_Y (AA_TF_DUQU_DUAL + AA_TF_QUAT_Y)
367 #define AA_TF_DUQU_DUAL_Z (AA_TF_DUQU_DUAL + AA_TF_QUAT_Z)
Memory layout for axis-Angle rotation in x,y,z,angle order.
Memory layout for planar transform as complex number and translation vector.
aa_tf_vec2 v
translation vector
aa_tf_cmplx c
rotation unit complex
Memory layout for a dual quaternion.
aa_tf_quat_t real
real part
aa_tf_quat_t dual
dual part
Memory layout for an SE(3) velocity.
double omega[3]
rotational velocity
double dv[3]
translational velocity
Memory layout for an Euler Angle in ZYX (yaw-pitch-roll) format.
Memory layout for a quaternion, x,y,z,w order.
struct aa_tf_vec3 vec
vector part
Transform and spatial velocity.
struct aa_tf_dx dx
velocity
struct aa_tf_qv tf
transform
Memory layout for a Transformation as rotation quaternion and translation vector.
aa_tf_vec3_t v
translation vector
aa_tf_quat_t r
rotation unit quaternion
Memory layout for a rotation matrix.
struct aa_tf_vec3 col2
column 2
struct aa_tf_vec3 col1
column 1
struct aa_tf_vec3 col0
column 0
Memory layout for a planar rotation matrix.
Memory layout for a transformation matrix.
double R[9]
the rotation matrix part
double data[12]
data array
aa_tf_vec3_t v
the origin vector part
Memory layout for a planar transformation matrix.
aa_tf_rotmatp R
the rotation matrix part
aa_tf_vec2 v
the origin vector part
Memory layout for a vector of length 3.
struct aa_tf_tfmat aa_tf_tfmat_t
Memory layout for a transformation matrix.
struct aa_tf_qv aa_tf_qv_t
Memory layout for a Transformation as rotation quaternion and translation vector.
struct aa_tf_duqu aa_tf_duqu_t
Memory layout for a dual quaternion.
double _Complex aa_tf_cmplx
Typedef for C99 complex numbers.
struct aa_tf_quat aa_tf_quat_t
Memory layout for a quaternion, x,y,z,w order.
aa_tf_cmplx aa_tf_vec2
Represent 2D vectors as complex numbers.
struct aa_tf_rotmat aa_tf_rotmat_t
Memory layout for a rotation matrix.
struct aa_tf_vec3 aa_tf_vec3_t
Memory layout for a vector of length 3.
struct aa_tf_eulerzyx aa_tf_eulerzyx_t
Memory layout for an Euler Angle in ZYX (yaw-pitch-roll) format.
struct aa_tf_tfmatp aa_tf_tfmatp
Memory layout for a planar transformation matrix.
struct aa_tf_axang aa_tf_axang_t
Memory layout for axis-Angle rotation in x,y,z,angle order.
struct aa_tf_cv aa_tf_cv
Memory layout for planar transform as complex number and translation vector.
struct aa_tf_rotmatp aa_tf_rotmatp
Memory layout for a planar rotation matrix.