@@ -48,6 +48,19 @@ template <class L, class R> struct IF<true, L, R> { typedef L type; };
48
48
#define MAIN_AXIS_NAMES NUM_AXIS_LIST (X, Y, Z, I, J, K, U, V, W)
49
49
#define STR_AXES_MAIN NUM_AXIS_GANG (" X" , " Y" , " Z" , STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
50
50
51
+ #define LOGICAL_AXIS_GANG (E,V... ) NUM_AXIS_GANG(V) GANG_ITEM_E(E)
52
+ #define LOGICAL_AXIS_CODE (E,V... ) NUM_AXIS_CODE(V) CODE_ITEM_E(E)
53
+ #define LOGICAL_AXIS_LIST (E,V... ) NUM_AXIS_LIST(V) LIST_ITEM_E(E)
54
+ #define LOGICAL_AXIS_LIST_1 (V ) NUM_AXIS_LIST_1(V) LIST_ITEM_E(V)
55
+ #define LOGICAL_AXIS_ARRAY (E,V... ) { LOGICAL_AXIS_LIST (E,V) }
56
+ #define LOGICAL_AXIS_ARRAY_1 (V ) { LOGICAL_AXIS_LIST_1 (V) }
57
+ #define LOGICAL_AXIS_ARGS (T ) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
58
+ #define LOGICAL_AXIS_ELEM (O ) LOGICAL_AXIS_LIST(O.e, O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
59
+ #define LOGICAL_AXIS_DECL (T,V ) LOGICAL_AXIS_LIST(T e=V, T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
60
+ #define LOGICAL_AXIS_NAMES LOGICAL_AXIS_LIST (E, X, Y, Z, I, J, K, U, V, W)
61
+ #define LOGICAL_AXIS_MAP (F ) MAP(F, LOGICAL_AXIS_NAMES)
62
+ #define STR_AXES_LOGICAL LOGICAL_AXIS_GANG (" E" , " X" , " Y" , " Z" , STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
63
+
51
64
#if NUM_AXES
52
65
#define NUM_AXES_SEP ,
53
66
#define MAIN_AXIS_MAP (F ) MAP(F, MAIN_AXIS_NAMES)
@@ -67,18 +80,18 @@ template <class L, class R> struct IF<true, L, R> { typedef L type; };
67
80
#define NUM_AXIS_ELEM_ (T ) NUM_AXIS_ELEM(T) NUM_AXES_SEP
68
81
#define MAIN_AXIS_NAMES_ MAIN_AXIS_NAMES NUM_AXES_SEP
69
82
70
- #define LOGICAL_AXIS_GANG ( E,V... ) NUM_AXIS_GANG(V) GANG_ITEM_E(E)
71
- #define LOGICAL_AXIS_CODE ( E,V... ) NUM_AXIS_CODE(V) CODE_ITEM_E(E)
72
- #define LOGICAL_AXIS_LIST ( E,V... ) NUM_AXIS_LIST(V) LIST_ITEM_E(E)
73
- #define LOGICAL_AXIS_LIST_1 ( V ) NUM_AXIS_LIST_1(V) LIST_ITEM_E(V)
74
- #define LOGICAL_AXIS_ARRAY ( E,V... ) { LOGICAL_AXIS_LIST (E,V) }
75
- # define LOGICAL_AXIS_ARRAY_1 ( V ) { LOGICAL_AXIS_LIST_1 (V) }
76
- #define LOGICAL_AXIS_ARGS ( T ) LOGICAL_AXIS_LIST(T e, T x, T y, T z, T i, T j, T k, T u, T v, T w)
77
- #define LOGICAL_AXIS_ELEM ( O ) LOGICAL_AXIS_LIST(O.e, O.x, O.y, O.z, O.i, O.j, O.k, O.u, O.v, O.w)
78
- #define LOGICAL_AXIS_DECL ( T,V ) LOGICAL_AXIS_LIST(T e=V, T x=V, T y=V, T z=V, T i=V, T j=V, T k=V, T u=V, T v=V, T w=V)
79
- #define LOGICAL_AXIS_NAMES LOGICAL_AXIS_LIST (E, X, Y, Z, I, J, K, U, V, W)
80
- #define LOGICAL_AXIS_MAP ( F ) MAP(F, LOGICAL_AXIS_NAMES)
81
- #define STR_AXES_LOGICAL LOGICAL_AXIS_GANG ( " E " , " X " , " Y " , " Z " , STR_I, STR_J, STR_K, STR_U, STR_V, STR_W)
83
+ #if LOGICAL_AXES
84
+ #define LOGICAL_AXES_SEP ,
85
+ #else
86
+ #define LOGICAL_AXES_SEP
87
+ #endif
88
+
89
+ #define LOGICAL_AXIS_GANG_ ( V... ) LOGICAL_AXIS_GANG(V) LOGICAL_AXES_SEP
90
+ #define LOGICAL_AXIS_LIST_ ( V... ) LOGICAL_AXIS_LIST(V) LOGICAL_AXES_SEP
91
+ #define LOGICAL_AXIS_LIST_1_ ( V... ) LOGICAL_AXIS_LIST_1(V) LOGICAL_AXES_SEP
92
+ #define LOGICAL_AXIS_ARGS_ ( T ) LOGICAL_AXIS_ARGS(T) LOGICAL_AXES_SEP
93
+ #define LOGICAL_AXIS_ELEM_ ( T ) LOGICAL_AXIS_ELEM(T) LOGICAL_AXES_SEP
94
+ #define LOGICAL_AXIS_NAMES_ LOGICAL_AXIS_NAMES LOGICAL_AXES_SEP
82
95
83
96
#define SECONDARY_AXIS_GANG (V... ) GANG_N(SECONDARY_AXES, V)
84
97
#define SECONDARY_AXIS_CODE (V... ) CODE_N(SECONDARY_AXES, V)
0 commit comments