diff options
author | Sriharsha Kotcharlakot <k.venkatsriharsha@gmail.com> | 2020-10-05 19:17:11 +0300 |
---|---|---|
committer | Sriharsha Kotcharlakot <k.venkatsriharsha@gmail.com> | 2020-10-05 20:42:48 +0300 |
commit | ff89d101e7cbed7c84349953a789380fee47f839 (patch) | |
tree | ad12737ea5ffdd75a9e744fb783fce1ff327a3d3 /release/scripts/startup/bl_ui | |
parent | ffd46014470567fa75a5b6492677137f07936428 (diff) |
UI: Changes to Viewport Display UI of Volume Object and Fluid
- Density, interpolation and slicing options in Volume Object's
Viewport Display are now not aligned to each other as they are not
closely related.
- Changed the enum property for slicing ('Method') to a boolean
property 'Slice' and added a sub-panel for slicing options under
the 'Viewport Display' panel in Volume Object and Fluid for better
clarity.
- Renamed `axis_slice_method` to `use_slice` in the python API for
Volume Object and Fluid.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D9097
Diffstat (limited to 'release/scripts/startup/bl_ui')
-rw-r--r-- | release/scripts/startup/bl_ui/properties_data_volume.py | 37 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_physics_fluid.py | 51 |
2 files changed, 67 insertions, 21 deletions
diff --git a/release/scripts/startup/bl_ui/properties_data_volume.py b/release/scripts/startup/bl_ui/properties_data_volume.py index af2c94ad423..0a8bbd19b63 100644 --- a/release/scripts/startup/bl_ui/properties_data_volume.py +++ b/release/scripts/startup/bl_ui/properties_data_volume.py @@ -142,9 +142,6 @@ class DATA_PT_volume_viewport_display(DataButtonsPanel, Panel): volume = context.volume display = volume.display - axis_slice_method = display.axis_slice_method - - do_full_slicing = (axis_slice_method == 'FULL') col = layout.column(align=True) col.prop(display, "wireframe_type") @@ -152,14 +149,37 @@ class DATA_PT_volume_viewport_display(DataButtonsPanel, Panel): sub.active = display.wireframe_type in {'BOXES', 'POINTS'} sub.prop(display, "wireframe_detail", text="Detail") - col = layout.column(align=True) + col = layout.column() col.prop(display, "density") col.prop(display, "interpolation_method") - col.prop(display, "axis_slice_method") - if not do_full_slicing: - col.prop(display, "slice_axis") - col.prop(display, "slice_depth") + +class DATA_PT_volume_viewport_display_slicing(DataButtonsPanel, Panel): + bl_label = "" + bl_parent_id = 'DATA_PT_volume_viewport_display' + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} + + def draw_header(self, context): + layout = self.layout + + volume = context.volume + display = volume.display + + layout.prop(display, "use_slice") + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + volume = context.volume + display = volume.display + + layout.active = display.use_slice + + col = layout.column() + col.prop(display, "slice_axis") + col.prop(display, "slice_depth") class DATA_PT_custom_props_volume(DataButtonsPanel, PropertyPanel, Panel): @@ -173,6 +193,7 @@ classes = ( DATA_PT_volume_grids, DATA_PT_volume_file, DATA_PT_volume_viewport_display, + DATA_PT_volume_viewport_display_slicing, DATA_PT_volume_render, DATA_PT_custom_props_volume, VOLUME_UL_grids, diff --git a/release/scripts/startup/bl_ui/properties_physics_fluid.py b/release/scripts/startup/bl_ui/properties_physics_fluid.py index cdbd7f75193..1f5a96f2705 100644 --- a/release/scripts/startup/bl_ui/properties_physics_fluid.py +++ b/release/scripts/startup/bl_ui/properties_physics_fluid.py @@ -1301,9 +1301,6 @@ class PHYSICS_PT_viewport_display(PhysicButtonsPanel, Panel): flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=True) domain = context.fluid.domain_settings - axis_slice_method = domain.axis_slice_method - - do_full_slicing = (axis_slice_method == 'FULL') col = flow.column(align=False) col.prop(domain, "display_thickness") @@ -1314,19 +1311,43 @@ class PHYSICS_PT_viewport_display(PhysicButtonsPanel, Panel): if domain.use_color_ramp and domain.color_ramp_field == 'FLAGS': sub.enabled = False - col.prop(domain, "axis_slice_method") - - if not do_full_slicing: - col.prop(domain, "slice_axis") - col.prop(domain, "slice_depth") - if domain.display_interpolation == 'CLOSEST' or domain.color_ramp_field == 'FLAGS': - col.prop(domain, "show_gridlines") - col = col.column() - col.active = do_full_slicing + col.active = not domain.use_slice col.prop(domain, "slice_per_voxel") +class PHYSICS_PT_viewport_display_slicing(PhysicButtonsPanel, Panel): + bl_label = "Slice" + bl_parent_id = 'PHYSICS_PT_viewport_display' + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(cls, context): + return (PhysicButtonsPanel.poll_fluid_domain(context)) + + def draw_header(self, context): + md = context.fluid.domain_settings + + self.layout.prop(md, "use_slice", text="") + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + + domain = context.fluid.domain_settings + + layout.active = domain.use_slice + + col = layout.column() + col.prop(domain, "slice_axis") + col.prop(domain, "slice_depth") + + sub = col.column() + sub.prop(domain, "show_gridlines") + + sub.active = domain.display_interpolation == 'CLOSEST' or domain.color_ramp_field == 'FLAGS' + + class PHYSICS_PT_viewport_display_color(PhysicButtonsPanel, Panel): bl_label = "Grid Display" bl_parent_id = 'PHYSICS_PT_viewport_display' @@ -1408,7 +1429,8 @@ class PHYSICS_PT_viewport_display_advanced(PhysicButtonsPanel, Panel): @classmethod def poll(cls, context): - return PhysicButtonsPanel.poll_fluid_domain(context) and context.fluid.domain_settings.show_gridlines + domain = context.fluid.domain_settings + return PhysicButtonsPanel.poll_fluid_domain(context) and domain.use_slice and domain.show_gridlines def draw(self, context): layout = self.layout @@ -1416,6 +1438,8 @@ class PHYSICS_PT_viewport_display_advanced(PhysicButtonsPanel, Panel): domain = context.fluid.domain_settings + layout.active = domain.display_interpolation == 'CLOSEST' or domain.color_ramp_field == 'FLAGS' + col = layout.column() col.prop(domain, "gridlines_color_field", text="Color Gridlines") @@ -1456,6 +1480,7 @@ classes = ( PHYSICS_PT_flow_initial_velocity, PHYSICS_PT_flow_texture, PHYSICS_PT_viewport_display, + PHYSICS_PT_viewport_display_slicing, PHYSICS_PT_viewport_display_color, PHYSICS_PT_viewport_display_debug, PHYSICS_PT_viewport_display_advanced, |