diff options
author | Omar Emara <OmarSquircleArt> | 2021-03-23 10:26:13 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-03-23 10:34:46 +0300 |
commit | ec97450ac6160a8892a339a746a507e40b7d2fce (patch) | |
tree | c1294ae63a80d803172e6a6322952cac7ca8f459 /source/blender/makesrna | |
parent | f2f796e623237504790b421e54a4a82549e68c92 (diff) |
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
Diffstat (limited to 'source/blender/makesrna')
-rw-r--r-- | source/blender/makesrna/intern/rna_curve.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_curve.c b/source/blender/makesrna/intern/rna_curve.c index 50c18cf1dae..3e90b4bd9d4 100644 --- a/source/blender/makesrna/intern/rna_curve.c +++ b/source/blender/makesrna/intern/rna_curve.c @@ -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); |