FACT++  1.0
void palDeuler ( const char *  order,
double  phi,
double  theta,
double  psi,
double  rmat[3][3] 
)

Definition at line 95 of file palDeuler.c.

References eraIr(), eraRx(), eraRy(), eraRz(), and i.

Referenced by palEcmat(), palNut(), palPrebn(), and t_vecmat().

96  {
97  int i = 0;
98  double rotations[3];
99 
100  /* Initialise rmat */
101  eraIr( rmat );
102 
103  /* copy the rotations into an array */
104  rotations[0] = phi;
105  rotations[1] = theta;
106  rotations[2] = psi;
107 
108  /* maximum three rotations */
109  while (i < 3 && order[i] != '\0') {
110 
111  switch (order[i]) {
112  case 'X':
113  case 'x':
114  case '1':
115  eraRx( rotations[i], rmat );
116  break;
117 
118  case 'Y':
119  case 'y':
120  case '2':
121  eraRy( rotations[i], rmat );
122  break;
123 
124  case 'Z':
125  case 'z':
126  case '3':
127  eraRz( rotations[i], rmat );
128  break;
129 
130  default:
131  /* break out the loop if we do not recognize something */
132  i = 3;
133 
134  }
135 
136  /* Go to the next position */
137  i++;
138  }
139 
140  return;
141 }
int i
Definition: db_dim_client.c:21
void eraRx(double phi, double r[3][3])
Definition: rx.c:3
void eraIr(double r[3][3])
Definition: ir.c:3
void eraRy(double theta, double r[3][3])
Definition: ry.c:3
void eraRz(double psi, double r[3][3])
Definition: rz.c:3

+ Here is the call graph for this function:

+ Here is the caller graph for this function: