Cleanup: Limit sculpt gesture RNA operator properties

This PR limits adding the RNA property `use_limit_to_segment`
to `ShapeType::Line` based sculpt gesture operators, as the
property is inapplicable for the other two types.

Pull Request: https://projects.blender.org/blender/blender/pulls/119670
This commit is contained in:
Sean Kim
2024-03-19 17:32:59 +01:00
committed by Hans Goudey
parent 0177c55880
commit 9b5b1f525f
7 changed files with 21 additions and 19 deletions

View File

@@ -773,7 +773,7 @@ void PAINT_OT_hide_show(wmOperatorType *ot)
WM_operator_properties_border(ot);
hide_show_operator_properties(ot);
hide_show_operator_gesture_properties(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Box);
}
void PAINT_OT_hide_show_lasso_gesture(wmOperatorType *ot)
@@ -793,7 +793,7 @@ void PAINT_OT_hide_show_lasso_gesture(wmOperatorType *ot)
WM_operator_properties_gesture_lasso(ot);
hide_show_operator_properties(ot);
hide_show_operator_gesture_properties(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Lasso);
}
static void invert_visibility_mesh(Object &object, const Span<PBVHNode *> nodes)

View File

@@ -711,7 +711,7 @@ void PAINT_OT_mask_lasso_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER | OPTYPE_DEPENDS_ON_CURSOR;
WM_operator_properties_gesture_lasso(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Lasso);
paint_mask_gesture_operator_properties(ot);
}
@@ -731,7 +731,7 @@ void PAINT_OT_mask_box_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
WM_operator_properties_border(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Box);
paint_mask_gesture_operator_properties(ot);
}
@@ -751,7 +751,7 @@ void PAINT_OT_mask_line_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
WM_operator_properties_gesture_straightline(ot, WM_CURSOR_EDIT);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Line);
paint_mask_gesture_operator_properties(ot);
}

View File

@@ -1851,7 +1851,7 @@ void SCULPT_OT_face_set_lasso_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_DEPENDS_ON_CURSOR;
WM_operator_properties_gesture_lasso(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Lasso);
}
void SCULPT_OT_face_set_box_gesture(wmOperatorType *ot)
@@ -1869,7 +1869,7 @@ void SCULPT_OT_face_set_box_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
WM_operator_properties_border(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Box);
}
/** \} */

View File

@@ -36,7 +36,7 @@
namespace blender::ed::sculpt_paint::gesture {
void operator_properties(wmOperatorType *ot)
void operator_properties(wmOperatorType *ot, ShapeType shapeType)
{
RNA_def_boolean(ot->srna,
"use_front_faces_only",
@@ -44,12 +44,14 @@ void operator_properties(wmOperatorType *ot)
"Front Faces Only",
"Affect only faces facing towards the view");
RNA_def_boolean(ot->srna,
"use_limit_to_segment",
false,
"Limit to Segment",
"Apply the gesture action only to the area that is contained within the "
"segment without extending its effect to the entire line");
if (shapeType == ShapeType::Line) {
RNA_def_boolean(ot->srna,
"use_limit_to_segment",
false,
"Limit to Segment",
"Apply the gesture action only to the area that is contained within the "
"segment without extending its effect to the entire line");
}
}
static void init_common(bContext *C, wmOperator *op, GestureData &gesture_data)
@@ -60,7 +62,6 @@ static void init_common(bContext *C, wmOperator *op, GestureData &gesture_data)
/* Operator properties. */
gesture_data.front_faces_only = RNA_boolean_get(op->ptr, "use_front_faces_only");
gesture_data.line.use_side_planes = RNA_boolean_get(op->ptr, "use_limit_to_segment");
gesture_data.selection_type = SelectionType::Inside;
/* SculptSession */
@@ -219,6 +220,7 @@ std::unique_ptr<GestureData> init_from_line(bContext *C, wmOperator *op)
{
std::unique_ptr<GestureData> gesture_data = std::make_unique<GestureData>();
gesture_data->shape_type = ShapeType::Line;
gesture_data->line.use_side_planes = RNA_boolean_get(op->ptr, "use_limit_to_segment");
init_common(C, op, *gesture_data);

View File

@@ -1768,7 +1768,7 @@ std::unique_ptr<GestureData> init_from_lasso(bContext *C, wmOperator *op);
std::unique_ptr<GestureData> init_from_line(bContext *C, wmOperator *op);
/* Common gesture operator properties. */
void operator_properties(wmOperatorType *ot);
void operator_properties(wmOperatorType *ot, ShapeType shapeType);
/* Apply the gesture action to the selected nodes. */
void apply(bContext &C, GestureData &gesture_data, wmOperator &op);

View File

@@ -149,7 +149,7 @@ void SCULPT_OT_project_line_gesture(wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER;
WM_operator_properties_gesture_straightline(ot, WM_CURSOR_EDIT);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Line);
}
} // namespace blender::ed::sculpt_paint::project

View File

@@ -746,7 +746,7 @@ void SCULPT_OT_trim_lasso_gesture(wmOperatorType *ot)
/* Properties. */
WM_operator_properties_gesture_lasso(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Lasso);
sculpt_trim_gesture_operator_properties(ot);
}
@@ -767,7 +767,7 @@ void SCULPT_OT_trim_box_gesture(wmOperatorType *ot)
/* Properties. */
WM_operator_properties_border(ot);
gesture::operator_properties(ot);
gesture::operator_properties(ot, gesture::ShapeType::Box);
sculpt_trim_gesture_operator_properties(ot);
}