diff options
Diffstat (limited to 'extern/curve_fit_nd/intern/curve_fit_inline.h')
-rw-r--r-- | extern/curve_fit_nd/intern/curve_fit_inline.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/extern/curve_fit_nd/intern/curve_fit_inline.h b/extern/curve_fit_nd/intern/curve_fit_inline.h index f6656c0f9e9..c77e5c6e062 100644 --- a/extern/curve_fit_nd/intern/curve_fit_inline.h +++ b/extern/curve_fit_nd/intern/curve_fit_inline.h @@ -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); +} + /** \} */ |