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:
authorJanne Karhu <jhkarh@gmail.com>2011-04-20 21:51:56 +0400
committerJanne Karhu <jhkarh@gmail.com>2011-04-20 21:51:56 +0400
commit290a641c32dd00317df0a8fc0075e54c3c356f2f (patch)
tree0476039c097be1f315a254469d2a5d76ffb63ab7
parent66b605ec933a2d53f5a7596328fac8baed86a3e4 (diff)
Bug fix: "make fur" gave errors with multiple selected objects.
* Also some code changes for "make smoke" and "make fluid" to suppress some python messages that were printed to the console.
-rw-r--r--release/scripts/startup/bl_operators/object_quick_effects.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py
index 94074a52cd6..21640fa3ee6 100644
--- a/release/scripts/startup/bl_operators/object_quick_effects.py
+++ b/release/scripts/startup/bl_operators/object_quick_effects.py
@@ -55,7 +55,7 @@ class MakeFur(bpy.types.Operator):
mat.strand.blend_distance = 0.5
for obj in mesh_objects:
- fake_context["active_object"] = obj
+ fake_context["object"] = obj
bpy.ops.object.particle_system_add(fake_context)
psys = obj.particle_systems[-1]
@@ -110,6 +110,7 @@ class MakeSmoke(bpy.types.Operator):
default=False)
def execute(self, context):
+ fake_context = bpy.context.copy()
mesh_objects = [obj for obj in context.selected_objects if obj.type == 'MESH']
min_co = Vector((100000, 100000, 100000))
max_co = Vector((-100000, -100000, -100000))
@@ -119,8 +120,9 @@ class MakeSmoke(bpy.types.Operator):
return {'CANCELLED'}
for obj in mesh_objects:
+ fake_context["object"] = obj
# make each selected object a smoke flow
- bpy.ops.object.modifier_add({"object": obj}, type='SMOKE')
+ bpy.ops.object.modifier_add(fake_context, type='SMOKE')
obj.modifiers[-1].smoke_type = 'FLOW'
psys = obj.particle_systems[-1]
@@ -153,7 +155,7 @@ class MakeSmoke(bpy.types.Operator):
obj.scale = 0.5 * (max_co - min_co) + Vector((1.0, 1.0, 2.0))
# setup smoke domain
- bpy.ops.object.modifier_add({"object": obj}, type='SMOKE')
+ bpy.ops.object.modifier_add(type='SMOKE')
obj.modifiers[-1].smoke_type = 'DOMAIN'
if self.style == 'FIRE':
obj.modifiers[-1].domain_settings.use_dissolve_smoke = True
@@ -161,7 +163,7 @@ class MakeSmoke(bpy.types.Operator):
obj.modifiers[-1].domain_settings.use_high_resolution = True
# create a volume material with a voxel data texture for the domain
- bpy.ops.object.material_slot_add({"object": obj})
+ bpy.ops.object.material_slot_add()
mat = bpy.data.materials.new("Smoke Domain Material")
obj.material_slots[0].material = mat
@@ -224,6 +226,7 @@ class MakeFluid(bpy.types.Operator):
default=False)
def execute(self, context):
+ fake_context = bpy.context.copy()
mesh_objects = [obj for obj in context.selected_objects if (obj.type == 'MESH' and not 0 in obj.dimensions)]
min_co = Vector((100000, 100000, 100000))
max_co = Vector((-100000, -100000, -100000))
@@ -233,8 +236,9 @@ class MakeFluid(bpy.types.Operator):
return {'CANCELLED'}
for obj in mesh_objects:
+ fake_context["object"] = obj
# make each selected object a fluid
- bpy.ops.object.modifier_add({"object": obj}, type='FLUID_SIMULATION')
+ bpy.ops.object.modifier_add(fake_context, type='FLUID_SIMULATION')
# fluid has to be before constructive modifiers, so it might not be the last modifier
for mod in obj.modifiers:
@@ -266,14 +270,14 @@ class MakeFluid(bpy.types.Operator):
obj.scale = 0.5 * (max_co - min_co) + Vector((1.0, 1.0, 2.0)) + Vector((abs(v[0]), abs(v[1]), abs(v[2])))
# setup smoke domain
- bpy.ops.object.modifier_add({"object": obj}, type='FLUID_SIMULATION')
+ bpy.ops.object.modifier_add(type='FLUID_SIMULATION')
obj.modifiers[-1].settings.type = 'DOMAIN'
# make the domain smooth so it renders nicely
bpy.ops.object.shade_smooth()
# create a ray-transparent material for the domain
- bpy.ops.object.material_slot_add({"object": obj})
+ bpy.ops.object.material_slot_add()
mat = bpy.data.materials.new("Fluid Domain Material")
obj.material_slots[0].material = mat