[Bf-blender-cvs] [a86a1292f3a] blender2.8: Gizmo: workaround for extrude modifying normals for XYZ axis
Campbell Barton
noreply at git.blender.org
Wed Nov 21 02:58:27 CET 2018
Commit: a86a1292f3ae9e303dddbf7c974790d58251e07b
Author: Campbell Barton
Date: Wed Nov 21 12:39:05 2018 +1100
Branches: blender2.8
https://developer.blender.org/rBa86a1292f3ae9e303dddbf7c974790d58251e07b
Gizmo: workaround for extrude modifying normals for XYZ axis
This was done for the normal gizmo, but not the XYZ handles.
===================================================================
M source/blender/editors/transform/transform_gizmo_extrude_3d.c
===================================================================
diff --git a/source/blender/editors/transform/transform_gizmo_extrude_3d.c b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
index 2281bd91569..404b44f7024 100644
--- a/source/blender/editors/transform/transform_gizmo_extrude_3d.c
+++ b/source/blender/editors/transform/transform_gizmo_extrude_3d.c
@@ -312,11 +312,20 @@ static void gizmo_mesh_extrude_refresh(const bContext *C, wmGizmoGroup *gzgroup)
WM_gizmo_set_flag(ggd->adjust, WM_GIZMO_HIDDEN, !has_redo);
/* Operator properties. */
+
+ /* Workaround for extrude action modifying normals. */
if (use_normal) {
wmGizmoOpElem *gzop = WM_gizmo_operator_get(ggd->invoke_xyz_no[3], 0);
PointerRNA macroptr = RNA_pointer_get(&gzop->ptr, "TRANSFORM_OT_translate");
RNA_float_set_array(¯optr, "constraint_matrix", &ggd->data.normal_mat3[0][0]);
}
+ if (ggd->data.orientation_type == V3D_MANIP_NORMAL) {
+ for (int i = 0; i < 3; i++) {
+ wmGizmoOpElem *gzop = WM_gizmo_operator_get(ggd->invoke_xyz_no[i], 0);
+ PointerRNA macroptr = RNA_pointer_get(&gzop->ptr, "TRANSFORM_OT_translate");
+ RNA_float_set_array(¯optr, "constraint_matrix", &ggd->data.normal_mat3[0][0]);
+ }
+ }
/* Redo with current settings. */
if (has_redo) {
More information about the Bf-blender-cvs
mailing list