Curve Fitting: offset based fallback to calculate cubics
[blender.git] / extern / curve_fit_nd / intern / curve_fit_inline.h
index f6656c0f9e9e37f4f4aef9eecb1936d88e815eb8..c77e5c6e0627c28e2321cf5ce9ce953a2f25b1df 100644 (file)
@@ -290,4 +290,28 @@ MINLINE bool equals_vnvn(
        return true;
 }
 
+#if 0
+MINLINE void project_vn_vnvn(
+        double v_out[], const double p[], const double v_proj[], const uint dims)
+{
+       const double mul = dot_vnvn(p, v_proj, dims) / dot_vnvn(v_proj, v_proj, dims);
+       mul_vnvn_fl(v_out, v_proj, mul, dims);
+}
+#endif
+
+MINLINE void project_vn_vnvn_normalized(
+        double v_out[], const double p[], const double v_proj[], const uint dims)
+{
+       const double mul = dot_vnvn(p, v_proj, dims);
+       mul_vnvn_fl(v_out, v_proj, mul, dims);
+}
+
+MINLINE void project_plane_vn_vnvn_normalized(
+        double v_out[], const double v[], const double v_plane[], const uint dims)
+{
+       assert(v != v_out);
+       project_vn_vnvn_normalized(v_out, v, v_plane, dims);
+       sub_vn_vnvn(v_out, v, v_out, dims);
+}
+
 /** \} */