[Bf-blender-cvs] [ab77f5b5fe5] blender2.8: Improvements on CURVE_OT_select_similar: SIMCURHAND_DIRECTION
Habib Gahbiche
noreply at git.blender.org
Fri Nov 9 12:39:56 CET 2018
Commit: ab77f5b5fe59a8f0ff60b637883a53554b1de40c
Author: Habib Gahbiche
Date: Fri Nov 9 09:25:14 2018 -0200
Branches: blender2.8
https://developer.blender.org/rBab77f5b5fe59a8f0ff60b637883a53554b1de40c
Improvements on CURVE_OT_select_similar: SIMCURHAND_DIRECTION
Consider rotation and scale when calculating direction in world space.
Reviewers: dfelinto
Maniphest Tasks: T56948
Differential Revision: https://developer.blender.org/D3911
===================================================================
M source/blender/editors/curve/editcurve_select.c
===================================================================
diff --git a/source/blender/editors/curve/editcurve_select.c b/source/blender/editors/curve/editcurve_select.c
index 8495ef24536..8bd19d42193 100644
--- a/source/blender/editors/curve/editcurve_select.c
+++ b/source/blender/editors/curve/editcurve_select.c
@@ -1353,22 +1353,22 @@ static const EnumPropertyItem curve_prop_similar_types[] = {
{0, NULL, 0, NULL, NULL}
};
-/** Note: This function should actually take scaling into consideration. */
static void nurb_bezt_direction_worldspace_get(Object *ob, Nurb *nu, BezTriple *bezt, float r_dir[3])
{
- float rmat[3][3];
+ float rsmat[3][3];
BKE_nurb_bezt_calc_normal(nu, bezt, r_dir);
- BKE_object_rot_to_mat3(ob, rmat, true);
- mul_m3_v3(rmat, r_dir);
+ copy_m3_m4(rsmat, ob->obmat);
+ mul_m3_v3(rsmat, r_dir);
+ normalize_v3(r_dir);
}
-/** Note: This function should actually take scaling into consideration. */
static void nurb_bpoint_direction_worldspace_get(Object *ob, Nurb *nu, BPoint *bp, float r_dir[3])
{
- float rmat[3][3];
+ float rsmat[3][3];
BKE_nurb_bpoint_calc_normal(nu, bp, r_dir);
- BKE_object_rot_to_mat3(ob, rmat, true);
- mul_m3_v3(rmat, r_dir);
+ copy_m3_m4(rsmat, ob->obmat);
+ mul_m3_v3(rsmat, r_dir);
+ normalize_v3(r_dir);
}
static void curve_nurb_selected_type_get(Object *ob, Nurb *nu, const int type, KDTree *r_tree)
More information about the Bf-blender-cvs
mailing list