diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2021-02-03 20:01:40 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-02-03 20:48:17 +0300 |
commit | 9042532085ad8f9d08a94b210c92f89a1cb58013 (patch) | |
tree | ce2af7f63ab7d7fb813f370f50733bb55370a942 | |
parent | 8c7b78672e73bf3aadf0f436859eea3d6fd8daeb (diff) |
Cleanup: Move and rename 'getViewVector' utility
This function is only being used by the constraint code.
-rw-r--r-- | source/blender/editors/transform/transform.h | 2 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_constraints.c | 19 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 13 |
3 files changed, 15 insertions, 19 deletions
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h index 91bf2bf8aac..fff7d47cc5b 100644 --- a/source/blender/editors/transform/transform.h +++ b/source/blender/editors/transform/transform.h @@ -722,8 +722,6 @@ bool calculateCenterActive(TransInfo *t, bool select_only, float r_center[3]); void calculatePropRatio(TransInfo *t); -void getViewVector(const TransInfo *t, const float coord[3], float vec[3]); - void transform_data_ext_rotate(TransData *td, float mat[3][3], bool use_drot); void freeCustomNormalArray(TransInfo *t, TransDataContainer *tc, TransCustomData *custom_data); diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c index 78d3f213102..96671697dc4 100644 --- a/source/blender/editors/transform/transform_constraints.c +++ b/source/blender/editors/transform/transform_constraints.c @@ -79,6 +79,17 @@ static void projection_matrix_calc(const TransInfo *t, float r_pmtx[3][3]) mul_m3_m3m3(r_pmtx, t->spacemtx, mat); } +static void view_vector_calc(const TransInfo *t, const float focus[3], float r_vec[3]) +{ + if (t->persp != RV3D_ORTHO) { + sub_v3_v3v3(r_vec, t->viewinv[3], focus); + } + else { + copy_v3_v3(r_vec, t->viewinv[2]); + } + normalize_v3(r_vec); +} + /* ************************** CONSTRAINTS ************************* */ #define CONSTRAIN_EPSILON 0.0001f @@ -218,14 +229,14 @@ static void axisProjection(const TransInfo *t, float norm_center[3]; float plane[3]; - getViewVector(t, t_con_center, norm_center); + view_vector_calc(t, t_con_center, norm_center); cross_v3_v3v3(plane, norm_center, axis); project_v3_v3v3(vec, in, plane); sub_v3_v3v3(vec, in, vec); add_v3_v3v3(v, vec, t_con_center); - getViewVector(t, v, norm); + view_vector_calc(t, v, norm); /* give arbitrary large value if projection is impossible */ factor = dot_v3v3(axis, norm); @@ -342,7 +353,7 @@ static bool isPlaneProjectionViewAligned(const TransInfo *t, const float plane[4 { const float eps = 0.001f; float view_to_plane[3]; - getViewVector(t, t->center_global, view_to_plane); + view_vector_calc(t, t->center_global, view_to_plane); float factor = dot_v3v3(plane, view_to_plane); return fabsf(factor) < eps; @@ -353,7 +364,7 @@ static void planeProjection(const TransInfo *t, const float in[3], float out[3]) float vec[3], factor, norm[3]; add_v3_v3v3(vec, in, t->center_global); - getViewVector(t, vec, norm); + view_vector_calc(t, vec, norm); sub_v3_v3v3(vec, out, in); diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index 504a15b520c..f648369bc31 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -64,19 +64,6 @@ #include "transform_orientations.h" #include "transform_snap.h" -/* ************************** Functions *************************** */ - -void getViewVector(const TransInfo *t, const float coord[3], float vec[3]) -{ - if (t->persp != RV3D_ORTHO) { - sub_v3_v3v3(vec, t->viewinv[3], coord); - } - else { - copy_v3_v3(vec, t->viewinv[2]); - } - normalize_v3(vec); -} - /* ************************** GENERICS **************************** */ void drawLine(TransInfo *t, const float center[3], const float dir[3], char axis, short options) |