Pārlūkot izejas kodu

🐛 Fix XYZEval::set(XY, Z) and (XY, Z, E) (#23704)

Fix regression in #21953

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Mads Ynddal 2 gadus atpakaļ
vecāks
revīzija
191d25f917
1 mainītis faili ar 15 papildinājumiem un 13 dzēšanām
  1. 15
    13
      Marlin/src/core/types.h

+ 15
- 13
Marlin/src/core/types.h Parādīt failu

@@ -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)); }

Notiek ielāde…
Atcelt
Saglabāt