Curves: add taper mode option
Currently, when a taper object is specified, the radius of the spline is ignored. This patch adds a new option to control how the taper object affect the effective radius of the spline. The option allow three modes of operation: - Override: The old method. The radius of the spline is ignored and overridden. - Multiply: The radius of the spline is multiplied by the taper radius. - Add: The radius of the spline is added to the taper radius. Ref D10779
This commit is contained in:
@@ -1576,6 +1576,25 @@ static void rna_def_curve(BlenderRNA *brna)
|
||||
{0, NULL, 0, NULL, NULL},
|
||||
};
|
||||
|
||||
static const EnumPropertyItem curve_taper_radius_mode_items[] = {
|
||||
{CU_TAPER_RADIUS_OVERRIDE,
|
||||
"OVERRIDE",
|
||||
0,
|
||||
"Override",
|
||||
"Override the radius of the spline point with the taper radius"},
|
||||
{CU_TAPER_RADIUS_MULTIPLY,
|
||||
"MULTIPLY",
|
||||
0,
|
||||
"Multiply",
|
||||
"Multiply the radius of the spline point by the taper radius"},
|
||||
{CU_TAPER_RADIUS_ADD,
|
||||
"ADD",
|
||||
0,
|
||||
"Add",
|
||||
"Add the radius of the bevel point to the taper radius"},
|
||||
{0, NULL, 0, NULL, NULL},
|
||||
};
|
||||
|
||||
srna = RNA_def_struct(brna, "Curve", "ID");
|
||||
RNA_def_struct_ui_text(srna, "Curve", "Curve data-block storing curves, splines and NURBS");
|
||||
RNA_def_struct_ui_icon(srna, ICON_CURVE_DATA);
|
||||
@@ -1757,6 +1776,15 @@ static void rna_def_curve(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Twist Method", "The type of tilt calculation for 3D Curves");
|
||||
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
|
||||
|
||||
prop = RNA_def_property(srna, "taper_radius_mode", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "taper_radius_mode");
|
||||
RNA_def_property_enum_items(prop, curve_taper_radius_mode_items);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Taper Radius",
|
||||
"Determine how the effective radius of the spline point is computed "
|
||||
"when a taper object is specified");
|
||||
RNA_def_property_update(prop, 0, "rna_Curve_update_data");
|
||||
|
||||
prop = RNA_def_property(srna, "bevel_factor_mapping_start", PROP_ENUM, PROP_NONE);
|
||||
RNA_def_property_enum_sdna(prop, NULL, "bevfac1_mapping");
|
||||
RNA_def_property_enum_items(prop, bevfac_mapping_items);
|
||||
|
||||
Reference in New Issue
Block a user