Some changes to smoke ui (path by nudelZ) - this divides the panel in normal and...
authorDaniel Genrich <daniel.genrich@gmx.net>
Thu, 13 Aug 2009 14:27:35 +0000 (14:27 +0000)
committerDaniel Genrich <daniel.genrich@gmx.net>
Thu, 13 Aug 2009 14:27:35 +0000 (14:27 +0000)
release/ui/buttons_physics_smoke.py

index 5471030883e25054a3ed8a8c6dc9f4785500c63e..a225aedbe236f5c4ac09999ad8b384ac125d1137 100644 (file)
@@ -41,74 +41,119 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel):
                        layout.itemR(md, "smoke_type", expand=True)
                
                        if md.smoke_type == 'TYPE_DOMAIN':
-                               split = layout.split()
                                
-                               col = split.column()
-                               col.itemL(text="Behavior:")
-                               col.itemR(md.domain_settings, "alpha")
-                               col.itemR(md.domain_settings, "beta")
+                               domain = md.domain_settings
                                
-                               col.itemL(text="Resolution:")
-                               col.itemR(md.domain_settings, "maxres", text="Low")
-                               sub = col.column()
-                               sub.active = md.domain_settings.highres
-                               sub.itemR(md.domain_settings, "amplify", text="High")
-                               col.itemR(md.domain_settings, "highres", text="Use High Resolution")
+                               split = layout.split()
                                
                                col = split.column()
+                               col.itemL(text="Resolution:")
+                               col.itemR(domain, "maxres", text="Divisions")
+
                                col.itemL(text="Display:")
-                               col.itemR(md.domain_settings, "visibility")
-                               col.itemR(md.domain_settings, "color", slider=True)
+                               col.itemR(domain, "visibility", text="Resolution")
+                               col.itemR(domain, "color", slider=True)
                                sub = col.column()
-                               sub.active = md.domain_settings.highres
-                               sub.itemR(md.domain_settings, "viewhighres")
-                               
-                               layout.itemL(text="Noise Type:")
-                               layout.itemR(md.domain_settings, "noise_type", expand=True)
-                               
-                               split = layout.split()
-                               col = split.column()
-                               col.itemR(md.domain_settings, "strength")
-                               sub = split.column()
+                               sub.active = domain.highres
+                               sub.itemR(domain, "viewhighres")
                                
-                               split = layout.split()
                                col = split.column()
-                               col.itemR(md.domain_settings, "dissolve_smoke")
+                               col.itemL(text="Behavior:")
+                               col.itemR(domain, "alpha")
+                               col.itemR(domain, "beta")
+                               col.itemR(domain, "dissolve_smoke", text="Dissolve")
                                sub = col.column()
-                               sub.active = md.domain_settings.dissolve_smoke
-                               sub.itemR(md.domain_settings, "dissolve_speed")
-                               sub.itemR(md.domain_settings, "dissolve_smoke_log")
-                               
-                               split = layout.split()
+                               sub.active = domain.dissolve_smoke
+                               sub.itemR(domain, "dissolve_speed", text="Speed")
+                               sub.itemR(domain, "dissolve_smoke_log", text="Slow")
                                
-                               col = split.column()
-                               col.itemL(text="Flow Group:")
-                               col.itemR(md.domain_settings, "fluid_group", text="")
-                               
-                               #col.itemL(text="Effector Group:")
-                               #col.itemR(md.domain_settings, "eff_group", text="")
+                       elif md.smoke_type == 'TYPE_FLOW':
                                
-                               col = split.column()
-                               col.itemL(text="Collision Group:")
-                               col.itemR(md.domain_settings, "coll_group", text="")
+                               flow = md.flow_settings
                                
-                       elif md.smoke_type == 'TYPE_FLOW':
                                split = layout.split()
                                
                                col = split.column()
-                               col.itemR(md.flow_settings, "outflow")
+                               col.itemR(flow, "outflow")
                                col.itemL(text="Particle System:")
-                               col.item_pointerR(md.flow_settings, "psys", ob, "particle_systems", text="")
+                               col.item_pointerR(flow, "psys", ob, "particle_systems", text="")
                                
                                if md.flow_settings.outflow:                            
                                        col = split.column()
                                else:
                                        col = split.column()
                                        col.itemL(text="Behavior:")
-                                       col.itemR(md.flow_settings, "temperature")
-                                       col.itemR(md.flow_settings, "density")
+                                       col.itemR(flow, "temperature")
+                                       col.itemR(flow, "density")
                                        
                        #elif md.smoke_type == 'TYPE_COLL':
                        #       layout.itemS()
+                       
+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
+
+       def draw_header(self, context):
+               layout = self.layout
+               
+               high = context.smoke.domain_settings
+       
+               layout.itemR(high, "highres", text="")
+               
+       def draw(self, context):
+               layout = self.layout
+               
+               high = context.smoke.domain_settings
+               
+               layout.active = high.highres
+               
+               split = layout.split()
+               
+               col = split.column()
+               col.itemL(text="Resolution:")
+               col.itemR(high, "amplify", text="Divisions")
+               
+               sub = split.column()
+               sub.itemL(text="Noise Method:")
+               sub.row().itemR(high, "noise_type", text="")
+               sub.itemR(high, "strength")
+                       
+class PHYSICS_PT_smoke_groups(PhysicButtonsPanel):
+       __label__ = "Smoke Groups"
+       __default_closed__ = True
+       
+       def poll(self, context):
+               md = context.smoke
+               if md:
+                               return (md.smoke_type == 'TYPE_DOMAIN')
+               
+               return False
+
+       def draw(self, context):
+               layout = self.layout
+               
+               group = context.smoke.domain_settings
+               
+               split = layout.split()
+               
+               col = split.column()
+               col.itemL(text="Flow Group:")
+               col.itemR(group, "fluid_group", text="")
+                               
+               #col.itemL(text="Effector Group:")
+               #col.itemR(group, "eff_group", text="")
+                               
+               col = split.column()
+               col.itemL(text="Collision Group:")
+               col.itemR(group, "coll_group", text="")
 
-bpy.types.register(PHYSICS_PT_smoke)
\ No newline at end of file
+bpy.types.register(PHYSICS_PT_smoke)
+bpy.types.register(PHYSICS_PT_smoke_highres)
+bpy.types.register(PHYSICS_PT_smoke_groups)
\ No newline at end of file