diff options
Diffstat (limited to 'release/ui/buttons_physics_smoke.py')
-rw-r--r-- | release/ui/buttons_physics_smoke.py | 164 |
1 files changed, 31 insertions, 133 deletions
diff --git a/release/ui/buttons_physics_smoke.py b/release/ui/buttons_physics_smoke.py index 3cfba0f9df9..6aee152e92a 100644 --- a/release/ui/buttons_physics_smoke.py +++ b/release/ui/buttons_physics_smoke.py @@ -1,10 +1,7 @@ import bpy -def smoke_panel_enabled_low(smd): - if smd.smoke_type == 'TYPE_DOMAIN': - return smd.domain.point_cache.baked==False - return True +from buttons_particle import point_cache_ui class PhysicButtonsPanel(bpy.types.Panel): __space_type__ = 'PROPERTIES' @@ -43,8 +40,6 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel): split.itemL() if md: - - # layout.enabled = smoke_panel_enabled(md) layout.itemR(md, "smoke_type", expand=True) if md.smoke_type == 'TYPE_DOMAIN': @@ -64,7 +59,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel): col.itemR(domain, "dissolve_smoke", text="Dissolve") sub = col.column() sub.active = domain.dissolve_smoke - sub.itemR(domain, "dissolve_speed", text="Speed") + sub.itemR(domain, "dissolve_speed", text="Time") sub.itemR(domain, "dissolve_smoke_log", text="Slow") elif md.smoke_type == 'TYPE_FLOW': @@ -88,7 +83,7 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel): #elif md.smoke_type == 'TYPE_COLL': # layout.itemS() - + class PHYSICS_PT_smoke_groups(PhysicButtonsPanel): __label__ = "Smoke Groups" __default_closed__ = True @@ -117,168 +112,71 @@ class PHYSICS_PT_smoke_groups(PhysicButtonsPanel): col = split.column() col.itemL(text="Collision Group:") col.itemR(group, "coll_group", text="") - + class PHYSICS_PT_smoke_cache(PhysicButtonsPanel): __label__ = "Smoke Cache" __default_closed__ = True def poll(self, context): md = context.smoke - if md: - return (md.smoke_type == 'TYPE_DOMAIN') - - return False + return md and (md.smoke_type == 'TYPE_DOMAIN') def draw(self, context): layout = self.layout - md = context.smoke - - if md.smoke_type == 'TYPE_DOMAIN': - - domain = md.domain_settings - cache = domain.point_cache - - layout.set_context_pointer("PointCache", cache) - - row = layout.row() - row.template_list(cache, "point_cache_list", cache, "active_point_cache_index") - col = row.column(align=True) - col.itemO("ptcache.add_new", icon='ICON_ZOOMIN', text="") - col.itemO("ptcache.remove", icon='ICON_ZOOMOUT', text="") - - row = layout.row() - row.itemR(cache, "name") - - row = layout.row() - row.itemR(cache, "start_frame") - row.itemR(cache, "end_frame") - - row = layout.row() - - if cache.baked == True: - row.itemO("ptcache.free_bake", text="Free Bake") - else: - row.item_booleanO("ptcache.bake", "bake", True, text="Bake") - - subrow = row.row() - subrow.enabled = cache.frames_skipped or cache.outdated - subrow.itemO("ptcache.bake", "bake", False, text="Calculate to Current Frame") - - row = layout.row() - #row.enabled = smoke_panel_enabled(psys) - row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake") - - row = layout.row() - #row.enabled = smoke_panel_enabled(psys) - - layout.itemL(text=cache.info) - - layout.itemS() - - row = layout.row() - row.itemO("ptcache.bake_all", "bake", True, text="Bake All Dynamics") - row.itemO("ptcache.free_bake_all", text="Free All Bakes") - layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame") + md = context.smoke.domain_settings + cache = md.point_cache_low + point_cache_ui(self, cache, cache.baked==False, 0, 1) + class PHYSICS_PT_smoke_highres(PhysicButtonsPanel): __label__ = "Smoke High Resolution" __default_closed__ = True def poll(self, context): md = context.smoke - if md: - return (md.smoke_type == 'TYPE_DOMAIN') - - return False + return md and (md.smoke_type == 'TYPE_DOMAIN') - def draw_header(self, context): - layout = self.layout - + def draw_header(self, context): high = context.smoke.domain_settings - layout.itemR(high, "highres", text="") + self.layout.itemR(high, "highres", text="") def draw(self, context): layout = self.layout md = context.smoke.domain_settings - - if md: - - split = layout.split() + + split = layout.split() - col = split.column() - col.itemL(text="Resolution:") - col.itemR(md, "amplify", text="Divisions") + col = split.column() + col.itemL(text="Resolution:") + col.itemR(md, "amplify", text="Divisions") - sub = split.column() - sub.itemL(text="Noise Method:") - sub.row().itemR(md, "noise_type", text="") - sub.itemR(md, "strength") - sub.itemR(md, "show_highres") + col = split.column() + col.itemL(text="Noise Method:") + col.row().itemR(md, "noise_type", text="") + col.itemR(md, "strength") + col.itemR(md, "viewhighres") class PHYSICS_PT_smoke_cache_highres(PhysicButtonsPanel): - __label__ = "Smoke Cache" + __label__ = "Smoke High Resolution Cache" __default_closed__ = True def poll(self, context): - return (context.smoke != None) + md = context.smoke + return md and (md.smoke_type == 'TYPE_DOMAIN') and md.domain_settings.highres def draw(self, context): layout = self.layout - md = context.smoke - - if md: - - cache = md.point_cache - - layout.set_context_pointer("PointCache", cache) - - row = layout.row() - row.template_list(cache, "point_cache_list", cache, "active_point_cache_index") - col = row.column(align=True) - col.itemO("ptcache.add_new", icon='ICON_ZOOMIN', text="") - col.itemO("ptcache.remove", icon='ICON_ZOOMOUT', text="") - - row = layout.row() - row.itemR(cache, "name") - - row = layout.row() - row.itemR(cache, "start_frame") - row.itemR(cache, "end_frame") - - row = layout.row() - - if cache.baked == True: - row.itemO("ptcache.free_bake", text="Free Bake") - else: - row.item_booleanO("ptcache.bake", "bake", True, text="Bake") - - subrow = row.row() - subrow.enabled = cache.frames_skipped or cache.outdated - subrow.itemO("ptcache.bake", "bake", False, text="Calculate to Current Frame") - - row = layout.row() - #row.enabled = smoke_panel_enabled(psys) - row.itemO("ptcache.bake_from_cache", text="Current Cache to Bake") - - row = layout.row() - #row.enabled = smoke_panel_enabled(psys) - - layout.itemL(text=cache.info) - - layout.itemS() + md = context.smoke.domain_settings + cache = md.point_cache_high - row = layout.row() - row.itemO("ptcache.bake_all", "bake", True, text="Bake All Dynamics") - row.itemO("ptcache.free_bake_all", text="Free All Bakes") - layout.itemO("ptcache.bake_all", "bake", False, text="Update All Dynamics to current frame") - - + point_cache_ui(self, cache, cache.baked==False, 0, 1) + bpy.types.register(PHYSICS_PT_smoke) bpy.types.register(PHYSICS_PT_smoke_cache) +bpy.types.register(PHYSICS_PT_smoke_highres) bpy.types.register(PHYSICS_PT_smoke_groups) -#bpy.types.register(PHYSICS_PT_smoke_highres) -#bpy.types.register(PHYSICS_PT_smoke_cache_highres) +bpy.types.register(PHYSICS_PT_smoke_cache_highres) |