Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSriharsha Kotcharlakot <k.venkatsriharsha@gmail.com>2020-10-05 19:17:11 +0300
committerSriharsha Kotcharlakot <k.venkatsriharsha@gmail.com>2020-10-05 20:42:48 +0300
commitff89d101e7cbed7c84349953a789380fee47f839 (patch)
treead12737ea5ffdd75a9e744fb783fce1ff327a3d3 /release/scripts/startup/bl_ui
parentffd46014470567fa75a5b6492677137f07936428 (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.py37
-rw-r--r--release/scripts/startup/bl_ui/properties_physics_fluid.py51
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,