[Bf-extensions-cvs] SVN commit: /data/svn/bf-extensions [3012] contrib/py/scripts/addons/ add_mesh_rocks: Update that allows for a user to disable generation of objects.

Paul Marshall portsidepaul at hotmail.com
Wed Feb 22 13:59:31 CET 2012


Revision: 3012
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-extensions&revision=3012
Author:   brikbot
Date:     2012-02-22 12:59:30 +0000 (Wed, 22 Feb 2012)
Log Message:
-----------
Update that allows for a user to disable generation of objects.  This can be useful for better performance will adjusting settings.

Known bug: With the BMaesh update, the rocks are no longer having "smooth" applied.  From what I can tell this might be an API bug with BMesh as my code still appears valid and compliant with the documented Python API.

Modified Paths:
--------------
    contrib/py/scripts/addons/add_mesh_rocks/add_mesh_rocks.xml
    contrib/py/scripts/addons/add_mesh_rocks/factory.xml
    contrib/py/scripts/addons/add_mesh_rocks/rockgen.py
    contrib/py/scripts/addons/add_mesh_rocks/settings.py

Modified: contrib/py/scripts/addons/add_mesh_rocks/add_mesh_rocks.xml
===================================================================
--- contrib/py/scripts/addons/add_mesh_rocks/add_mesh_rocks.xml	2012-02-22 10:29:02 UTC (rev 3011)
+++ contrib/py/scripts/addons/add_mesh_rocks/add_mesh_rocks.xml	2012-02-22 12:59:30 UTC (rev 3012)
@@ -33,6 +33,7 @@
 <!ELEMENT mat_IOR (#PCDATA)>
 <!ELEMENT mat_mossy (#PCDATA)>
 <!ELEMENT random (use_random_seed,user_seed)>
+<!ELEMENT use_generate (#PCDATA)>
 <!ELEMENT use_random_seed (#PCDATA)>
 <!ELEMENT user_seed (#PCDATA)>
 
@@ -94,6 +95,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -153,6 +155,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -212,6 +215,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -271,6 +275,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -330,6 +335,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -389,6 +395,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>

Modified: contrib/py/scripts/addons/add_mesh_rocks/factory.xml
===================================================================
--- contrib/py/scripts/addons/add_mesh_rocks/factory.xml	2012-02-22 10:29:02 UTC (rev 3011)
+++ contrib/py/scripts/addons/add_mesh_rocks/factory.xml	2012-02-22 12:59:30 UTC (rev 3012)
@@ -33,6 +33,7 @@
 <!ELEMENT mat_IOR (#PCDATA)>
 <!ELEMENT mat_mossy (#PCDATA)>
 <!ELEMENT random (use_random_seed,user_seed)>
+<!ELEMENT use_generate (#PCDATA)>
 <!ELEMENT use_random_seed (#PCDATA)>
 <!ELEMENT user_seed (#PCDATA)>
 
@@ -94,6 +95,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -153,6 +155,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -212,6 +215,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -271,6 +275,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -330,6 +335,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>
@@ -389,6 +395,7 @@
 			<mat_mossy>0.0</mat_mossy>
 		</material>
 		<random>
+			<use_generate>True</use_generate>
 			<use_random_seed>True</use_random_seed>
 			<user_seed>1</user_seed>
 		</random>

Modified: contrib/py/scripts/addons/add_mesh_rocks/rockgen.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_rocks/rockgen.py	2012-02-22 10:29:02 UTC (rev 3011)
+++ contrib/py/scripts/addons/add_mesh_rocks/rockgen.py	2012-02-22 12:59:30 UTC (rev 3012)
@@ -1475,12 +1475,15 @@
                               description = "Amount of mossiness on the rocks",
                               min = 0.0, max = 1.0, default = defaults[25])
 
+    use_generate = BoolProperty(name = "Generate Rocks",
+                                description = "Enable actual generation.",
+                                default = defaults[26])
     use_random_seed = BoolProperty(name = "Use a random seed",
                                   description = "Create a seed based on time. Causes user seed to be ignored.",
-                                  default = defaults[26])
+                                  default = defaults[27])
     user_seed = IntProperty(name = "User seed",
                             description = "Use a specific seed for the generator.",
-                            min = 0, max = 1048576, default = defaults[27])
+                            min = 0, max = 1048576, default = defaults[28])
 
 
     def draw(self, context):
@@ -1521,6 +1524,7 @@
                 box.prop(self, 'mat_IOR')
             box.prop(self, 'mat_mossy')
         box = layout.box()
+        box.prop(self, 'use_generate')
         box.prop(self, 'use_random_seed')
         if not self.use_random_seed:
             box.prop(self, 'user_seed')
@@ -1555,42 +1559,44 @@
             self.mat_cloudy = float(self.presetsList[int(self.preset_values)][23])
             self.mat_IOR = float(self.presetsList[int(self.preset_values)][24])
             self.mat_mossy = float(self.presetsList[int(self.preset_values)][25])
-            self.use_random_seed = bool(self.presetsList[int(self.preset_values)][26])
-            self.user_seed = int(self.presetsList[int(self.preset_values)][27])
+            self.use_generate = bool(self.presetsList[int(self.preset_values)][26])
+            self.use_random_seed = bool(self.presetsList[int(self.preset_values)][27])
+            self.user_seed = int(self.presetsList[int(self.preset_values)][28])
             self.lastPreset = int(self.preset_values)
 
         # todo Add deform, deform_Var, rough, and rough_Var:
         #   *** todo completed 4/23/2011 ***
         #   *** Eliminated "deform_Var" and "rough_Var" so the script is not
         #       as complex to use.  May add in again as advanced features. ***
-        generateRocks(context,
-                      self.scale_X,
-                      self.skew_X,
-                      self.scale_Y,
-                      self.skew_Y,
-                      self.scale_Z,
-                      self.skew_Z,
-                      self.scale_fac,
-                      self.detail,
-                      self.display_detail,
-                      self.deform,
-                      self.rough,
-                      self.smooth_fac,
-                      self.smooth_it,
-                      self.mat_enable,
-                      self.mat_color,
-                      self.mat_bright,
-                      self.mat_rough,
-                      self.mat_spec,
-                      self.mat_hard,
-                      self.mat_use_trans,
-                      self.mat_alpha,
-                      self.mat_cloudy,
-                      self.mat_IOR,
-                      self.mat_mossy,
-                      self.num_of_rocks,
-                      self.user_seed,
-                      self.use_scale_dis,
-                      self.use_random_seed)
+        if self.use_generate:
+            generateRocks(context,
+                          self.scale_X,
+                          self.skew_X,
+                          self.scale_Y,
+                          self.skew_Y,
+                          self.scale_Z,
+                          self.skew_Z,
+                          self.scale_fac,
+                          self.detail,
+                          self.display_detail,
+                          self.deform,
+                          self.rough,
+                          self.smooth_fac,
+                          self.smooth_it,
+                          self.mat_enable,
+                          self.mat_color,
+                          self.mat_bright,
+                          self.mat_rough,
+                          self.mat_spec,
+                          self.mat_hard,
+                          self.mat_use_trans,
+                          self.mat_alpha,
+                          self.mat_cloudy,
+                          self.mat_IOR,
+                          self.mat_mossy,
+                          self.num_of_rocks,
+                          self.user_seed,
+                          self.use_scale_dis,
+                          self.use_random_seed)
 
         return {'FINISHED'}

Modified: contrib/py/scripts/addons/add_mesh_rocks/settings.py
===================================================================
--- contrib/py/scripts/addons/add_mesh_rocks/settings.py	2012-02-22 10:29:02 UTC (rev 3011)
+++ contrib/py/scripts/addons/add_mesh_rocks/settings.py	2012-02-22 12:59:30 UTC (rev 3012)
@@ -147,25 +147,29 @@
     loc += 2
 
     # Preset random values (xmlPreset.childNodes[9]):
-    if setting.childNodes[loc].childNodes[1].childNodes[0].data == 'False':
+    if setting.childNodes[loc].childNodes[1].childNodes[0].data == 'True':
+        use_generate = True
+    else:
+        use_generate = False
+    if setting.childNodes[loc].childNodes[3].childNodes[0].data == 'False':
         use_random_seed = False
     else:
         use_random_seed = True
-    user_seed = int(setting.childNodes[loc].childNodes[3].childNodes[0].data)
+    user_seed = int(setting.childNodes[loc].childNodes[5].childNodes[0].data)
 
     if title:
         parsed = [title, scaleX, scaleY, scaleZ, skewX, skewY, skewZ,
                   use_scale_dis, scale_fac, deform, rough, detail,
                   display_detail, smooth_fac, smooth_it, mat_enable, mat_color,
                   mat_bright, mat_rough, mat_spec, mat_hard, mat_use_trans,
-                  mat_alpha, mat_cloudy, mat_IOR, mat_mossy, use_random_seed,
-                  user_seed]
+                  mat_alpha, mat_cloudy, mat_IOR, mat_mossy, use_generate,
+                  use_random_seed, user_seed]
     else:
         parsed = [scaleX, scaleY, scaleZ, skewX, skewY, skewZ, use_scale_dis,
                   scale_fac, deform, rough, detail, display_detail, smooth_fac,
                   smooth_it, mat_enable, mat_color, mat_bright, mat_rough,
                   mat_spec, mat_hard, mat_use_trans, mat_alpha, mat_cloudy,
-                  mat_IOR, mat_mossy, use_random_seed, user_seed]

@@ Diff output truncated at 10240 characters. @@


More information about the Bf-extensions-cvs mailing list