Tool System: expose shear tool x/y option
This commit is contained in:
parent
3e0c87b27d
commit
321c8232bc
|
@ -831,6 +831,10 @@ class _defs_edit_mesh:
|
|||
|
||||
@ToolDef.from_fn
|
||||
def shear():
|
||||
def draw_settings(context, layout, tool):
|
||||
props = tool.operator_properties("transform.shear")
|
||||
layout.label(text="View Axis:")
|
||||
layout.prop(props, "shear_axis", expand=True)
|
||||
return dict(
|
||||
text="Shear",
|
||||
icon="ops.transform.shear",
|
||||
|
@ -839,6 +843,7 @@ class _defs_edit_mesh:
|
|||
("transform.shear", dict(release_confirm=True),
|
||||
dict(type='EVT_TWEAK_A', value='ANY')),
|
||||
),
|
||||
draw_settings=draw_settings,
|
||||
)
|
||||
|
||||
@ToolDef.from_fn
|
||||
|
|
|
@ -2255,6 +2255,12 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
|
|||
if ((prop = RNA_struct_find_property(op->ptr, "correct_uv"))) {
|
||||
RNA_property_boolean_set(op->ptr, prop, (t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) != 0);
|
||||
}
|
||||
|
||||
if (t->mode == TFM_SHEAR) {
|
||||
prop = RNA_struct_find_property(op->ptr, "shear_axis");
|
||||
t->custom.mode.data = POINTER_FROM_INT(RNA_property_enum_get(op->ptr, prop));
|
||||
RNA_property_enum_set(op->ptr, prop, POINTER_AS_INT(t->custom.mode.data));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -2477,6 +2483,8 @@ bool initTransform(bContext *C, TransInfo *t, wmOperator *op, const wmEvent *eve
|
|||
initToSphere(t);
|
||||
break;
|
||||
case TFM_SHEAR:
|
||||
prop = RNA_struct_find_property(op->ptr, "shear_axis");
|
||||
t->custom.mode.data = POINTER_FROM_INT(RNA_property_enum_get(op->ptr, prop));
|
||||
initShear(t);
|
||||
break;
|
||||
case TFM_BEND:
|
||||
|
|
|
@ -2003,6 +2003,7 @@ static void WIDGETGROUP_xform_shear_setup(const bContext *UNUSED(C), wmGizmoGrou
|
|||
interp_v3_v3v3(gz->color, axis_color[i_ortho_a], axis_color[i_ortho_b], 0.75f);
|
||||
gz->color[3] = 0.5f;
|
||||
PointerRNA *ptr = WM_gizmo_operator_set(gz, 0, ot_shear, NULL);
|
||||
RNA_enum_set(ptr, "shear_axis", 0);
|
||||
RNA_boolean_set(ptr, "release_confirm", 1);
|
||||
xgzgroup->gizmo[i][j] = gz;
|
||||
}
|
||||
|
|
|
@ -839,6 +839,7 @@ static void TRANSFORM_OT_shear(struct wmOperatorType *ot)
|
|||
ot->poll_property = transform_poll_property;
|
||||
|
||||
RNA_def_float(ot->srna, "value", 0, -FLT_MAX, FLT_MAX, "Offset", "", -FLT_MAX, FLT_MAX);
|
||||
RNA_def_enum(ot->srna, "shear_axis", rna_enum_axis_xy_items, 0, "Shear Axis", "");
|
||||
|
||||
WM_operatortype_props_advanced_begin(ot);
|
||||
|
||||
|
|
Loading…
Reference in New Issue