Rumba C++ SDK
RotateOrder.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2023
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 namespace maquina
18 {
19 
21 enum class RotateOrder
22 {
23  xyz = 0,
24  yzx,
25  zxy,
26  xzy,
27  yxz,
28  zyx
29 };
30 
33 {
34  switch (ro)
35  {
36  case RotateOrder::xyz:
37  return Imath::Eulerd::Order::XYZ;
38  case RotateOrder::xzy:
39  return Imath::Eulerd::Order::XZY;
40  case RotateOrder::yxz:
41  return Imath::Eulerd::Order::YXZ;
42  case RotateOrder::yzx:
43  return Imath::Eulerd::Order::YZX;
44  case RotateOrder::zxy:
45  return Imath::Eulerd::Order::ZXY;
46  case RotateOrder::zyx:
47  return Imath::Eulerd::Order::ZYX;
48  }
49  assert(false);
50  return Imath::Eulerd::Order::XYZ;
51 }
52 
53 }
Imath::Eulerd::Order imath_rotate_order(RotateOrder ro)
Convert a RotateOrder in Imath::Eulerd::Order.
Definition: RotateOrder.h:32
Order
Definition: ImathEuler.h:151
The rotate order used to compose the rotation.
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
RotateOrder
Euler Rotation Order.
Definition: RotateOrder.h:21