|
@@ -536,19 +536,9 @@ struct XYZEval {
|
536
|
536
|
// Reset all to 0
|
537
|
537
|
FI void reset() { LOGICAL_AXIS_GANG(e =, x =, y =, z =, i =, j =, k =) 0; }
|
538
|
538
|
|
539
|
|
- // Setters taking struct types and arrays
|
540
|
|
- FI void set(const T px) { x = px; }
|
541
|
|
- FI void set(const T px, const T py) { x = px; y = py; }
|
542
|
|
- FI void set(const XYval<T> pxy) { x = pxy.x; y = pxy.y; }
|
543
|
|
- FI void set(const XYZval<T> pxyz) { set(LINEAR_AXIS_ELEM(pxyz)); }
|
544
|
|
- #if HAS_Z_AXIS
|
545
|
|
- FI void set(LINEAR_AXIS_ARGS(const T)) { LINEAR_AXIS_CODE(a = x, b = y, c = z, u = i, v = j, w = k); }
|
546
|
|
- #endif
|
547
|
|
- #if LOGICAL_AXES > LINEAR_AXES
|
548
|
|
- FI void set(const XYval<T> pxy, const T pe) { set(pxy); e = pe; }
|
549
|
|
- FI void set(const XYZval<T> pxyz, const T pe) { set(pxyz); e = pe; }
|
550
|
|
- FI void set(LOGICAL_AXIS_ARGS(const T)) { LOGICAL_AXIS_CODE(_e = e, a = x, b = y, c = z, u = i, v = j, w = k); }
|
551
|
|
- #endif
|
|
539
|
+ // Setters for some number of linear axes, not all
|
|
540
|
+ FI void set(const T px) { x = px; }
|
|
541
|
+ FI void set(const T px, const T py) { x = px; y = py; }
|
552
|
542
|
#if HAS_I_AXIS
|
553
|
543
|
FI void set(const T px, const T py, const T pz) { x = px; y = py; z = pz; }
|
554
|
544
|
#endif
|
|
@@ -558,6 +548,18 @@ struct XYZEval {
|
558
|
548
|
#if HAS_K_AXIS
|
559
|
549
|
FI void set(const T px, const T py, const T pz, const T pi, const T pj) { x = px; y = py; z = pz; i = pi; j = pj; }
|
560
|
550
|
#endif
|
|
551
|
+ // Setters taking struct types and arrays
|
|
552
|
+ FI void set(const XYval<T> pxy) { x = pxy.x; y = pxy.y; }
|
|
553
|
+ FI void set(const XYZval<T> pxyz) { set(LINEAR_AXIS_ELEM(pxyz)); }
|
|
554
|
+ #if HAS_Z_AXIS
|
|
555
|
+ FI void set(LINEAR_AXIS_ARGS(const T)) { LINEAR_AXIS_CODE(a = x, b = y, c = z, u = i, v = j, w = k); }
|
|
556
|
+ #endif
|
|
557
|
+ FI void set(const XYval<T> pxy, const T pz) { set(pxy); TERN_(HAS_Z_AXIS, z = pz); }
|
|
558
|
+ #if LOGICAL_AXES > LINEAR_AXES
|
|
559
|
+ FI void set(const XYval<T> pxy, const T pz, const T pe) { set(pxy, pz); e = pe; }
|
|
560
|
+ FI void set(const XYZval<T> pxyz, const T pe) { set(pxyz); e = pe; }
|
|
561
|
+ FI void set(LOGICAL_AXIS_ARGS(const T)) { LOGICAL_AXIS_CODE(_e = e, a = x, b = y, c = z, u = i, v = j, w = k); }
|
|
562
|
+ #endif
|
561
|
563
|
|
562
|
564
|
// Length reduced to one dimension
|
563
|
565
|
FI T magnitude() const { return (T)sqrtf(LOGICAL_AXIS_GANG(+ e*e, + x*x, + y*y, + z*z, + i*i, + j*j, + k*k)); }
|