Преглед изворни кода

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

Fix regression in #21953

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
Mads Ynddal пре 3 година
родитељ
комит
191d25f917
1 измењених фајлова са 15 додато и 13 уклоњено
  1. 15
    13
      Marlin/src/core/types.h

+ 15
- 13
Marlin/src/core/types.h Прегледај датотеку

536
   // Reset all to 0
536
   // Reset all to 0
537
   FI void reset()                     { LOGICAL_AXIS_GANG(e =, x =, y =, z =, i =, j =, k =) 0; }
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
   #if HAS_I_AXIS
542
   #if HAS_I_AXIS
553
     FI void set(const T px, const T py, const T pz)                         { x = px; y = py; z = pz; }
543
     FI void set(const T px, const T py, const T pz)                         { x = px; y = py; z = pz; }
554
   #endif
544
   #endif
558
   #if HAS_K_AXIS
548
   #if HAS_K_AXIS
559
     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; }
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
   #endif
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
   // Length reduced to one dimension
564
   // Length reduced to one dimension
563
   FI T magnitude()                                 const { return (T)sqrtf(LOGICAL_AXIS_GANG(+ e*e, + x*x, + y*y, + z*z, + i*i, + j*j, + k*k)); }
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)); }

Loading…
Откажи
Сачувај