[Bf-blender-cvs] [c22e8998f5e] soc-2021-curves: Switched make vector to toggle
dilithjay
noreply at git.blender.org
Sun Jan 2 13:34:49 CET 2022
Commit: c22e8998f5e338be35c0a3fcf1d200d3e48dd167
Author: dilithjay
Date: Sun Jan 2 17:51:06 2022 +0530
Branches: soc-2021-curves
https://developer.blender.org/rBc22e8998f5e338be35c0a3fcf1d200d3e48dd167
Switched make vector to toggle
===================================================================
M release/scripts/presets/keyconfig/keymap_data/blender_default.py
M source/blender/editors/curve/editcurve_pen.c
===================================================================
diff --git a/release/scripts/presets/keyconfig/keymap_data/blender_default.py b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
index a518b57f2da..dae3815b71f 100644
--- a/release/scripts/presets/keyconfig/keymap_data/blender_default.py
+++ b/release/scripts/presets/keyconfig/keymap_data/blender_default.py
@@ -7005,7 +7005,7 @@ def km_3d_view_tool_edit_curve_pen(params):
("curve.pen", {"type": params.tool_mouse, "value": 'PRESS', "shift": True},
{"properties": [("insert_point", True), ("select_multi", True),]}),
("curve.pen", {"type": params.tool_mouse, "value": 'DOUBLE_CLICK'},
- {"properties": [("make_vector", True),]}),
+ {"properties": [("toggle_vector", True),]}),
]},
)
diff --git a/source/blender/editors/curve/editcurve_pen.c b/source/blender/editors/curve/editcurve_pen.c
index cc32125e79e..99c3e87e648 100644
--- a/source/blender/editors/curve/editcurve_pen.c
+++ b/source/blender/editors/curve/editcurve_pen.c
@@ -1180,6 +1180,34 @@ static void toggle_select_bp(BPoint *bp)
}
}
+static void toggle_vector_auto(BezTriple *bezt, short bezt_idx, CurvePenData *cpd)
+{
+ if (bezt_idx == 0) {
+ if (bezt->h1 == HD_VECT) {
+ bezt->h1 = bezt->h2 = HD_AUTO;
+ }
+ else {
+ bezt->h1 = HD_VECT;
+ if (bezt->h2 != HD_VECT) {
+ bezt->h2 = HD_FREE;
+ }
+ }
+ cpd->acted = true;
+ }
+ else if (bezt_idx == 2) {
+ if (bezt->h2 == HD_VECT) {
+ bezt->h1 = bezt->h2 = HD_AUTO;
+ }
+ else {
+ bezt->h2 = HD_VECT;
+ if (bezt->h1 != HD_VECT) {
+ bezt->h1 = HD_FREE;
+ }
+ }
+ cpd->acted = true;
+ }
+}
+
static bool is_event_key_equal_to_extra_key(const int event_key, const int extra_key)
{
return ((event_key == EVT_LEFTSHIFTKEY || event_key == EVT_RIGHTSHIFTKEY) &&
@@ -1228,7 +1256,7 @@ static int curve_pen_modal(bContext *C, wmOperator *op, const wmEvent *event)
const bool select_multi = RNA_boolean_get(op->ptr, "select_multi");
const bool move_point = RNA_boolean_get(op->ptr, "move_point");
const bool close_spline = RNA_boolean_get(op->ptr, "close_spline");
- const bool make_vector = RNA_boolean_get(op->ptr, "make_vector");
+ const bool toggle_vector = RNA_boolean_get(op->ptr, "toggle_vector");
if (!cpd->extra_pressed && is_event_key_equal_to_extra_key(event->type, extra_key)) {
ED_curve_nurb_vert_selected_find(vc.obedit->data, vc.v3d, &nu, &bezt, &bp);
@@ -1380,21 +1408,12 @@ static int curve_pen_modal(bContext *C, wmOperator *op, const wmEvent *event)
}
}
- if (!cpd->acted && make_vector) {
+ if (!cpd->acted && toggle_vector) {
short bezt_idx;
get_closest_vertex_to_point_in_nurbs(
&(cu->editnurb->nurbs), &nu, &bezt, &bp, &bezt_idx, mval_fl, sel_dist_mul, &vc);
if (bezt) {
- if (bezt_idx == 0) {
- bezt->h1 = HD_VECT;
- bezt->h2 = HD_FREE;
- cpd->acted = true;
- }
- else if (bezt_idx == 2) {
- bezt->h1 = HD_FREE;
- bezt->h2 = HD_VECT;
- cpd->acted = true;
- }
+ toggle_vector_auto(bezt, bezt_idx, cpd);
if (nu && nu->type == CU_BEZIER) {
BKE_nurb_handles_calc(nu);
@@ -1518,5 +1537,5 @@ void CURVE_OT_pen(wmOperatorType *ot)
"Close Spline",
"Make a spline cyclic by clicking endpoints");
prop = RNA_def_boolean(
- ot->srna, "make_vector", false, "Make Vector", "Click handle to convert to vector handle");
+ ot->srna, "toggle_vector", false, "Toggle Vector", "Toggle between Vector and Auto handles");
}
More information about the Bf-blender-cvs
mailing list