diff options
author | Laurynas Duburas <laurynas> | 2022-03-11 03:34:27 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-11 03:34:27 +0300 |
commit | 0602852860dda7dfc0ea20c72e03b7f96c981f1a (patch) | |
tree | f6679aba0cfdfcda8e0e244549eb739e025953e0 /release/scripts/startup/bl_ui/properties_data_curve.py | |
parent | 27fb63381e9b0963976237c58ca2cfc9bc5ddfd8 (diff) |
Curve: Improve NURBS knot generation modes
This patch enables all 8 combinations of Nurbs modes: Cyclic,
Bezier and Endpoint. Also removes restriction on Bezier Nurbs order.
The most significant changes are mode combinations bringing new
meaning. In D13891 is a scheme showing NURBS with same control
points in a modes, and also further description of each possible case.
Differential Revision: https://developer.blender.org/D13891
Diffstat (limited to 'release/scripts/startup/bl_ui/properties_data_curve.py')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_curve.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_curve.py b/release/scripts/startup/bl_ui/properties_data_curve.py index 26e5cfaae60..2ad6e5bae8a 100644 --- a/release/scripts/startup/bl_ui/properties_data_curve.py +++ b/release/scripts/startup/bl_ui/properties_data_curve.py @@ -289,7 +289,6 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): if is_surf: subsub = sub.column() - subsub.active = (not act_spline.use_cyclic_v) subsub.prop(act_spline, "use_bezier_v", text="V") sub = col.column(heading="Endpoint", align=True) @@ -297,7 +296,6 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): if is_surf: subsub = sub.column() - subsub.active = (not act_spline.use_cyclic_v) subsub.prop(act_spline, "use_endpoint_v", text="V") sub = col.column(align=True) @@ -322,6 +320,18 @@ class DATA_PT_active_spline(CurveButtonsPanelActive, Panel): col.prop(act_spline, "radius_interpolation", text="Radius") layout.prop(act_spline, "use_smooth") + if act_spline.type == 'NURBS': + messages = [act_spline.valid_message_u] + if is_surf and act_spline.point_count_v > 1: + messages.append(act_spline.valid_message_v) + + messages = list(filter(None, messages)) + + if len(messages) > 0: + layout.separator() + col = layout.column(align=True) + for message in messages: + col.label(text=message, icon='INFO') class DATA_PT_font(CurveButtonsPanelText, Panel): |