Revision: 22264
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=22264
Author:   dingto
Date:     2009-08-06 16:23:48 +0200 (Thu, 06 Aug 2009)

Log Message:
-----------
2.5 Smoke:

Moved the Smoke Buttons into the Physic Tab. 

Modified Paths:
--------------
    branches/blender2.5/blender/release/ui/buttons_data_modifier.py
    
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c

Added Paths:
-----------
    branches/blender2.5/blender/release/ui/buttons_physics_smoke.py

Modified: branches/blender2.5/blender/release/ui/buttons_data_modifier.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_data_modifier.py     
2009-08-06 14:03:43 UTC (rev 22263)
+++ branches/blender2.5/blender/release/ui/buttons_data_modifier.py     
2009-08-06 14:23:48 UTC (rev 22264)
@@ -303,29 +303,7 @@
                        layout.itemR(md, "lock_y_axis")
                        
        def SMOKE(self, layout, ob, md):
-               layout.itemR(md, "smoke_type")
-               
-               if md.smoke_type == 'TYPE_DOMAIN':
-                       layout.itemS()
-                       layout.itemR(md.domain_settings, "maxres")
-                       layout.itemR(md.domain_settings, "color")
-                       layout.itemR(md.domain_settings, "amplify")
-                       layout.itemR(md.domain_settings, "highres")
-                       layout.itemR(md.domain_settings, "noise_type")
-                       layout.itemR(md.domain_settings, "visibility")
-                       layout.itemR(md.domain_settings, "alpha")
-                       layout.itemR(md.domain_settings, "beta")
-                       layout.itemR(md.domain_settings, "fluid_group")
-                       layout.itemR(md.domain_settings, "eff_group")
-                       layout.itemR(md.domain_settings, "coll_group")
-               elif md.smoke_type == 'TYPE_FLOW':
-                       layout.itemS()
-                       layout.itemR(md.flow_settings, "outflow")
-                       layout.itemR(md.flow_settings, "density")
-                       layout.itemR(md.flow_settings, "temperature")
-                       layout.item_pointerR(md.flow_settings, "psys", ob, 
"particle_systems")
-               elif md.smoke_type == 'TYPE_COLL':
-                       layout.itemS()
+               layout.itemL(text="See Smoke panel.")
        
        def SMOOTH(self, layout, ob, md):
                split = layout.split()

Added: branches/blender2.5/blender/release/ui/buttons_physics_smoke.py
===================================================================
--- branches/blender2.5/blender/release/ui/buttons_physics_smoke.py             
                (rev 0)
+++ branches/blender2.5/blender/release/ui/buttons_physics_smoke.py     
2009-08-06 14:23:48 UTC (rev 22264)
@@ -0,0 +1,65 @@
+
+import bpy
+
+class PhysicButtonsPanel(bpy.types.Panel):
+       __space_type__ = "BUTTONS_WINDOW"
+       __region_type__ = "WINDOW"
+       __context__ = "physics"
+
+       def poll(self, context):
+               ob = context.object
+               rd = context.scene.render_data
+               return (ob and ob.type == 'MESH') and (not rd.use_game_engine)
+               
+class PHYSICS_PT_smoke(PhysicButtonsPanel):
+       __label__ = "Smoke"
+
+       def draw(self, context):
+               layout = self.layout
+               
+               md = context.smoke
+               ob = context.object
+
+               split = layout.split()
+               split.operator_context = 'EXEC_DEFAULT'
+
+               if md:
+                       # remove modifier + settings
+                       split.set_context_pointer("modifier", md)
+                       split.itemO("object.modifier_remove", text="Remove")
+
+                       row = split.row(align=True)
+                       row.itemR(md, "render", text="")
+                       row.itemR(md, "realtime", text="")
+                       
+               else:
+                       # add modifier
+                       split.item_enumO("object.modifier_add", "type", 
'SMOKE', text="Add")
+                       split.itemL()
+
+               if md:
+                       layout.itemR(md, "smoke_type")
+               
+                       if md.smoke_type == 'TYPE_DOMAIN':
+                               layout.itemS()
+                               layout.itemR(md.domain_settings, "maxres")
+                               layout.itemR(md.domain_settings, "color")
+                               layout.itemR(md.domain_settings, "amplify")
+                               layout.itemR(md.domain_settings, "highres")
+                               layout.itemR(md.domain_settings, "noise_type")
+                               layout.itemR(md.domain_settings, "visibility")
+                               layout.itemR(md.domain_settings, "alpha")
+                               layout.itemR(md.domain_settings, "beta")
+                               layout.itemR(md.domain_settings, "fluid_group")
+                               layout.itemR(md.domain_settings, "eff_group")
+                               layout.itemR(md.domain_settings, "coll_group")
+                       elif md.smoke_type == 'TYPE_FLOW':
+                               layout.itemS()
+                               layout.itemR(md.flow_settings, "outflow")
+                               layout.itemR(md.flow_settings, "density")
+                               layout.itemR(md.flow_settings, "temperature")
+                               layout.item_pointerR(md.flow_settings, "psys", 
ob, "particle_systems")
+                       elif md.smoke_type == 'TYPE_COLL':
+                               layout.itemS()
+
+bpy.types.register(PHYSICS_PT_smoke)

Modified: 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
  2009-08-06 14:03:43 UTC (rev 22263)
+++ 
branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_context.c
  2009-08-06 14:23:48 UTC (rev 22264)
@@ -558,7 +558,7 @@
                        "world", "object", "mesh", "armature", "lattice", 
"curve",
                        "meta_ball", "lamp", "camera", "material", 
"material_slot",
                        "texture", "texture_slot", "bone", "edit_bone", 
"particle_system",
-                       "cloth", "soft_body", "fluid", "collision", "brush", 
NULL};
+                       "cloth", "soft_body", "fluid", "smoke", "collision", 
"brush", NULL};
 
                CTX_data_dir_set(result, dir);
                return 1;
@@ -691,6 +691,17 @@
                        return 1;
                }
        }
+       
+       else if(CTX_data_equals(member, "smoke")) {
+               PointerRNA *ptr= get_pointer_type(path, &RNA_Object);
+
+               if(ptr && ptr->data) {
+                       Object *ob= ptr->data;
+                       ModifierData *md= modifiers_findByType(ob, 
eModifierType_Smoke);
+                       CTX_data_pointer_set(result, &ob->id, 
&RNA_SmokeModifier, md);
+                       return 1;
+               }
+       }
        else if(CTX_data_equals(member, "collision")) {
                PointerRNA *ptr= get_pointer_type(path, &RNA_Object);
 


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to