GAMS
1.4.0
|
For internal use. More...
Functions | |
double | calc_angle (const ReferenceFrameType *self, double rx1, double ry1, double rz1, double rx2, double ry2, double rz2) |
Calculates smallest angle between two AngularVectors. More... | |
void | orient_linear_vec (double &x, double &y, double &z, double rx, double ry, double rz, bool reverse=false) |
Rotates a LinearVector according to a AngularVector. More... | |
void | transform_angular_from_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double orx, double ory, double orz, double &rx, double &ry, double &rz) |
Transform AngularVector in-place from its origin frame. More... | |
void | transform_angular_to_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double orx, double ory, double orz, double &rx, double &ry, double &rz) |
Transform AngularVector in-place into its origin frame from this frame. More... | |
void | transform_pose_from_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double ox, double oy, double oz, double orx, double ory, double orz, double &x, double &y, double &z, double &rx, double &ry, double &rz, bool fixed) |
Transform pose in-place from its origin frame Simply applies linear and angular transforms independantly. More... | |
void | transform_pose_to_origin (const ReferenceFrameType *origin, const ReferenceFrameType *self, double ox, double oy, double oz, double orx, double ory, double orz, double &x, double &y, double &z, double &rx, double &ry, double &rz, bool fixed) |
Transform pose in-place into its origin frame from this frame. More... | |
For internal use.
Provides implementation of angular and pose transforms for frames where angular transformation is independant of linear. This applies to, for example, Cartesian and GPS frames, but not UTM frames. Inherit from this to use this implementation.
double gams::pose::simple_rotate::calc_angle | ( | const ReferenceFrameType * | self, |
double | rx1, | ||
double | ry1, | ||
double | rz1, | ||
double | rx2, | ||
double | ry2, | ||
double | rz2 | ||
) |
Calculates smallest angle between two AngularVectors.
self | the current reference frame |
rx1 | the starting angular on x axis |
ry1 | the starting angular on y axis |
rz1 | the starting angular on z axis |
rx2 | the ending rotatation on x axis |
ry2 | the ending angular on y axis |
rz2 | the ending angular on z axis |
void gams::pose::simple_rotate::orient_linear_vec | ( | double & | x, |
double & | y, | ||
double & | z, | ||
double | rx, | ||
double | ry, | ||
double | rz, | ||
bool | reverse = false |
||
) |
Rotates a LinearVector according to a AngularVector.
x | the x coordinate to orient (in-place) |
y | the y coordinate to orient (in-place) |
z | the z coordinate to orient (in-place) |
rx | the angular x to apply, axis-angle notation |
ry | the angular y to apply, axis-angle notation |
rz | the angular z to apply, axis-angle notation |
reverse | if true, apply angular in opposite direction |
void gams::pose::simple_rotate::transform_angular_from_origin | ( | const ReferenceFrameType * | origin, |
const ReferenceFrameType * | self, | ||
double | orx, | ||
double | ory, | ||
double | orz, | ||
double & | rx, | ||
double & | ry, | ||
double & | rz | ||
) |
Transform AngularVector in-place from its origin frame.
origin | the origin frame |
self | the current reference frame |
orx | the x component of the origin axis-angle representation |
ory | the y component of the origin axis-angle representation |
orz | the z component of the origin axis-angle representation |
rx | the x component of the axis-angle representation |
ry | the y component of the axis-angle representation |
rz | the z component of the axis-angle representation |
void gams::pose::simple_rotate::transform_angular_to_origin | ( | const ReferenceFrameType * | origin, |
const ReferenceFrameType * | self, | ||
double | orx, | ||
double | ory, | ||
double | orz, | ||
double & | rx, | ||
double & | ry, | ||
double & | rz | ||
) |
Transform AngularVector in-place into its origin frame from this frame.
origin | the origin frame |
self | the current reference frame |
orx | the x component of the origin axis-angle representation |
ory | the y component of the origin axis-angle representation |
orz | the z component of the origin axis-angle representation |
rx | the x component of the axis-angle representation |
ry | the y component of the axis-angle representation |
rz | the z component of the axis-angle representation |
void gams::pose::simple_rotate::transform_pose_from_origin | ( | const ReferenceFrameType * | origin, |
const ReferenceFrameType * | self, | ||
double | ox, | ||
double | oy, | ||
double | oz, | ||
double | orx, | ||
double | ory, | ||
double | orz, | ||
double & | x, | ||
double & | y, | ||
double & | z, | ||
double & | rx, | ||
double & | ry, | ||
double & | rz, | ||
bool | fixed | ||
) |
Transform pose in-place from its origin frame Simply applies linear and angular transforms independantly.
origin | the origin frame |
self | the current reference frame |
x | the x axis for the coordinate to translate |
y | the y axis for the coordinate to translate |
z | the z axis for the coordinate to translate |
ox | the x axis for the coordinate to translate |
oy | the y axis for the coordinate to translate |
oz | the z axis for the coordinate to translate |
orx | the x component of the origin axis-angle representation |
ory | the y component of the origin axis-angle representation |
orz | the z component of the origin axis-angle representation |
rx | the x component of the axis-angle representation |
ry | the y component of the axis-angle representation |
rz | the z component of the axis-angle representation |
void gams::pose::simple_rotate::transform_pose_to_origin | ( | const ReferenceFrameType * | origin, |
const ReferenceFrameType * | self, | ||
double | ox, | ||
double | oy, | ||
double | oz, | ||
double | orx, | ||
double | ory, | ||
double | orz, | ||
double & | x, | ||
double & | y, | ||
double & | z, | ||
double & | rx, | ||
double & | ry, | ||
double & | rz, | ||
bool | fixed | ||
) |
Transform pose in-place into its origin frame from this frame.
Simply applies linear and angular transforms independantly
origin | the origin frame |
self | the current reference frame |
ox | the x axis for the coordinate to translate |
oy | the y axis for the coordinate to translate |
oz | the z axis for the coordinate to translate |
orx | the x component of the origin axis-angle representation |
ory | the y component of the origin axis-angle representation |
orz | the z component of the origin axis-angle representation |
rx | the x component of the axis-angle representation |
ry | the y component of the axis-angle representation |
rz | the z component of the axis-angle representation |