2015-02-26 09:02:31 -06:00
|
|
|
/*
|
|
|
|
PURPOSE:
|
|
|
|
(Reference frame definition parameter definition)
|
|
|
|
|
|
|
|
ASSUMPTIONS AND LIMITATIONS:
|
|
|
|
((Must use three mutualy exculsive angles in Euler rotation sequence))
|
|
|
|
|
|
|
|
PROGRAMMERS:
|
|
|
|
(((Robert W. Bailey) (LinCom Corp) (10/1/91) (--) (--)))
|
|
|
|
*/
|
|
|
|
|
2015-03-23 16:03:14 -05:00
|
|
|
#ifndef REFERENCE_FRAME_H
|
|
|
|
#define REFERENCE_FRAME_H
|
2015-02-26 09:02:31 -06:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
typedef enum {
|
|
|
|
|
|
|
|
Roll_Pitch_Yaw, /* Roll Pitch Yaw sequence */
|
|
|
|
Roll_Yaw_Pitch, /* Roll Yaw Pitch sequence */
|
|
|
|
Pitch_Yaw_Roll, /* Pitch Yaw Roll sequence */
|
|
|
|
Pitch_Roll_Yaw, /* Pitch Roll Yaw sequence */
|
|
|
|
Yaw_Roll_Pitch, /* Yaw Roll Pitch sequence */
|
|
|
|
Yaw_Pitch_Roll /* Yaw Pitch Roll sequence */
|
|
|
|
} Euler_Seq;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
|
|
|
Euler_Seq euler_sequence; /* -- Euler rotation sequence */
|
|
|
|
double euler_angles[3]; /* (r) Euler rot angles from
|
|
|
|
Frame 1 to Frame 2 */
|
|
|
|
double location[3]; /* (m) Frame 1 origin to Frame 2
|
|
|
|
origin vector, referenced
|
|
|
|
to Frame 1 */
|
|
|
|
} TRANSFORM;
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|