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:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user