diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-05-13 03:07:52 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-05-13 03:07:52 +0400 |
commit | 9004f9f9989e97e2905c8aed858ff0f98af9dfd7 (patch) | |
tree | c3ebcda98352fc7486cc300ccb4d9e8eac4a7aff | |
parent | 71461298db371296741216cfffd24271913fff21 (diff) |
add access to bevel weight modal operator (only available in the Shift+E edge menu currently)
-rw-r--r-- | release/scripts/startup/bl_ui/space_view3d.py | 5 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_generics.c | 2 | ||||
-rw-r--r-- | source/blender/editors/transform/transform_ops.c | 23 |
3 files changed, 29 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_ui/space_view3d.py b/release/scripts/startup/bl_ui/space_view3d.py index 7486eb32f5c..6efbb99701a 100644 --- a/release/scripts/startup/bl_ui/space_view3d.py +++ b/release/scripts/startup/bl_ui/space_view3d.py @@ -1795,6 +1795,11 @@ class VIEW3D_MT_edit_mesh_edges(Menu): layout.separator() + layout.operator("transform.edge_crease") + layout.operator("transform.edge_bevelweight") + + layout.separator() + layout.operator("mesh.mark_seam").clear = False layout.operator("mesh.mark_seam", text="Clear Seam").clear = True diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c index b986bda4c13..a9179f95d4e 100644 --- a/source/blender/editors/transform/transform_generics.c +++ b/source/blender/editors/transform/transform_generics.c @@ -1016,7 +1016,7 @@ int initTransInfo(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event) } /* Crease needs edge flag */ - if (t->mode == TFM_CREASE) { + if (ELEM(t->mode, TFM_CREASE, TFM_BWEIGHT)) { t->options |= CTX_EDGE; } diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c index ccd794d0101..744925dbffd 100644 --- a/source/blender/editors/transform/transform_ops.c +++ b/source/blender/editors/transform/transform_ops.c @@ -72,6 +72,7 @@ static char OP_TRACKBALL[] = "TRANSFORM_OT_trackball"; static char OP_MIRROR[] = "TRANSFORM_OT_mirror"; static char OP_EDGE_SLIDE[] = "TRANSFORM_OT_edge_slide"; static char OP_EDGE_CREASE[] = "TRANSFORM_OT_edge_crease"; +static char OP_EDGE_BWEIGHT[] = "TRANSFORM_OT_edge_bevelweight"; static char OP_SEQ_SLIDE[] = "TRANSFORM_OT_seq_slide"; void TRANSFORM_OT_translate(struct wmOperatorType *ot); @@ -87,6 +88,7 @@ void TRANSFORM_OT_trackball(struct wmOperatorType *ot); void TRANSFORM_OT_mirror(struct wmOperatorType *ot); void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot); void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot); +void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot); void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot); static TransformModeItem transform_modes[] = @@ -104,6 +106,7 @@ static TransformModeItem transform_modes[] = {OP_MIRROR, TFM_MIRROR, TRANSFORM_OT_mirror}, {OP_EDGE_SLIDE, TFM_EDGE_SLIDE, TRANSFORM_OT_edge_slide}, {OP_EDGE_CREASE, TFM_CREASE, TRANSFORM_OT_edge_crease}, + {OP_EDGE_BWEIGHT, TFM_BWEIGHT, TRANSFORM_OT_edge_bevelweight}, {OP_SEQ_SLIDE, TFM_SEQ_SLIDE, TRANSFORM_OT_seq_slide}, {NULL, 0} }; @@ -764,6 +767,26 @@ void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot) Transform_Properties(ot, P_SNAP); } +void TRANSFORM_OT_edge_bevelweight(struct wmOperatorType *ot) +{ + /* identifiers */ + ot->name = "Edge Bevel Weight"; + ot->description = "Change the bevel weight of edges"; + ot->idname = OP_EDGE_BWEIGHT; + ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO|OPTYPE_BLOCKING; + + /* api callbacks */ + ot->invoke = transform_invoke; + ot->exec = transform_exec; + ot->modal = transform_modal; + ot->cancel = transform_cancel; + ot->poll = ED_operator_editmesh; + + RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f); + + Transform_Properties(ot, P_SNAP); +} + void TRANSFORM_OT_seq_slide(struct wmOperatorType *ot) { /* identifiers */ |