[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25113] trunk/blender/release/scripts/io/ netrender: Fix for cache path.

Martin Poirier theeth at yahoo.com
Fri Dec 4 02:28:02 CET 2009


Revision: 25113
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25113
Author:   theeth
Date:     2009-12-04 02:28:00 +0100 (Fri, 04 Dec 2009)

Log Message:
-----------
Fix for cache path.
Operator for background baking (no support in netrender itself yet).

Modified Paths:
--------------
    trunk/blender/release/scripts/io/netrender/client.py
    trunk/blender/release/scripts/io/netrender/operators.py

Modified: trunk/blender/release/scripts/io/netrender/client.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/client.py	2009-12-04 01:26:42 UTC (rev 25112)
+++ trunk/blender/release/scripts/io/netrender/client.py	2009-12-04 01:28:00 UTC (rev 25113)
@@ -127,7 +127,7 @@
 	# FLUID + POINT CACHE
 	###########################
 	root, ext = os.path.splitext(name)
-	default_path = path + "blendcache_" + root + os.sep # need an API call for that
+	default_path = path + os.sep + "blendcache_" + root + os.sep # need an API call for that
 
 	for object in bpy.data.objects:
 		for modifier in object.modifiers:

Modified: trunk/blender/release/scripts/io/netrender/operators.py
===================================================================
--- trunk/blender/release/scripts/io/netrender/operators.py	2009-12-04 01:26:42 UTC (rev 25112)
+++ trunk/blender/release/scripts/io/netrender/operators.py	2009-12-04 01:28:00 UTC (rev 25113)
@@ -27,6 +27,55 @@
 import netrender.model
 
 @rnaOperator
+class RENDER_OT_netslave_bake(bpy.types.Operator):
+	'''NEED DESCRIPTION'''
+	bl_idname = "render.netslavebake"
+	bl_label = "Bake all in file"
+	
+	def poll(self, context):
+		return True
+	
+	def execute(self, context):
+		scene = context.scene
+		netsettings = scene.network_render
+		
+		filename = bpy.data.filename
+		path, name = os.path.split(filename)
+		root, ext = os.path.splitext(name)
+		default_path = path + os.sep + "blendcache_" + root + os.sep # need an API call for that
+			
+		# Force all point cache next to the blend file
+		for object in bpy.data.objects:
+			for modifier in object.modifiers:
+				if modifier.type == 'FLUID_SIMULATION' and modifier.settings.type == "DOMAIN":
+					modifier.settings.path = default_path
+					bpy.ops.fluid.bake({"active_object": object, "scene": scene})
+				elif modifier.type == "CLOTH":
+					modifier.point_cache.disk_cache = True
+					modifier.point_cache.external = False
+				elif modifier.type == "SOFT_BODY":
+					modifier.point_cache.disk_cache = True
+					modifier.point_cache.external = False
+				elif modifier.type == "SMOKE" and modifier.smoke_type == "TYPE_DOMAIN":
+					modifier.domain_settings.point_cache_low.disk_cache = True
+					modifier.domain_settings.point_cache_low.external = False
+					modifier.domain_settings.point_cache_high.disk_cache = True
+					modifier.domain_settings.point_cache_high.external = False
+	
+			# particles modifier are stupid and don't contain data
+			# we have to go through the object property
+			for psys in object.particle_systems:
+				psys.point_cache.disk_cache = True
+				psys.point_cache.external = False
+		
+		bpy.ops.ptcache.bake_all()
+		
+		return ('FINISHED',)
+	
+	def invoke(self, context, event):
+		return self.execute(context)
+	
+ at rnaOperator
 class RENDER_OT_netclientanim(bpy.types.Operator):
 	'''Start rendering an animation on network'''
 	bl_idname = "render.netclientanim"





More information about the Bf-blender-cvs mailing list