[Bf-extensions-cvs] [386083d] master: Moved patch sampling settings from addon preferences to grid object properties, so they are saved in blend files.

Lukas Tönne noreply at git.blender.org
Wed Nov 26 11:28:35 CET 2014


Commit: 386083d5561272b75922c5088209721086a0b4c2
Author: Lukas Tönne
Date:   Wed Nov 26 11:27:53 2014 +0100
Branches: master
https://developer.blender.org/rBAC386083d5561272b75922c5088209721086a0b4c2

Moved patch sampling settings from addon preferences to grid object
properties, so they are saved in blend files.

===================================================================

M	object_physics_meadow/meadow.py
M	object_physics_meadow/settings.py
M	object_physics_meadow/ui.py

===================================================================

diff --git a/object_physics_meadow/meadow.py b/object_physics_meadow/meadow.py
index b4a0504..6ab9ff1 100644
--- a/object_physics_meadow/meadow.py
+++ b/object_physics_meadow/meadow.py
@@ -30,7 +30,7 @@ from object_physics_meadow.duplimesh import project_on_ground
 from object_physics_meadow.best_candidate import best_candidate_gen
 from object_physics_meadow.hierarchical_dart_throw import hierarchical_dart_throw_gen, MeshDebug
 
-def make_samples(context, groundob):
+def make_samples(context, gridob, groundob):
     settings = _settings.get(context)
     
     xmin = min(p[0] for p in groundob.bound_box)
@@ -42,10 +42,10 @@ def make_samples(context, groundob):
     
     debug = MeshDebug(drawsize=0.1)
     # get a sample generator implementation
-    #gen = best_candidate_gen(settings.patch_radius, xmin, xmax, ymin, ymax)
-    gen = hierarchical_dart_throw_gen(settings.patch_radius, 4, xmin, xmax, ymin, ymax, debug)
+    #gen = best_candidate_gen(gridob.meadow.patch_radius, xmin, xmax, ymin, ymax)
+    gen = hierarchical_dart_throw_gen(gridob.meadow.patch_radius, 4, xmin, xmax, ymin, ymax, debug)
     
-    loc2D = [(p[0], p[1]) for p in gen(settings.seed, settings.max_patches)]
+    loc2D = [(p[0], p[1]) for p in gen(gridob.meadow.seed, gridob.meadow.max_patches)]
     debug.to_object(context)
     
     # project samples onto the ground object
@@ -68,7 +68,7 @@ def generate_meadow(context, gridob, groundob):
     
     ### Samples ###
     
-    samples = make_samples(context, groundob)
+    samples = make_samples(context, gridob, groundob)
     
     ### Duplicators for instancing ###
     
diff --git a/object_physics_meadow/settings.py b/object_physics_meadow/settings.py
index d3d15d1..d538586 100644
--- a/object_physics_meadow/settings.py
+++ b/object_physics_meadow/settings.py
@@ -41,11 +41,6 @@ class MeadowAddonPreferences(AddonPreferences):
     patch_groupname = StringProperty(name="Patch Group Name", description="Object group for storing patch copies of templates", default="Patches")
     blob_groupname = StringProperty(name="Blob Group Name", description="Object group for storing blob duplicators", default="Blobs")
 
-    seed = IntProperty(name="Seed", description="General random number seed value", default=12345)
-
-    patch_radius = FloatProperty(name="Patch Radius", description="Free area around each patch where no other patch overlaps", default=1.0, min=0.01)
-    max_patches = IntProperty(name="Maximum Patch Number", description="Maximum number of patches", default=1000, max=1000000, soft_max=10000)
-
     dupli_draw_type = EnumProperty(name="Dupli Draw Type", description="Maximum draw type in the viewport for duplis", items=dupli_draw_type_items, default='BOUNDS', update=dupli_draw_type_update)
 
     def patch_group(self, context):
@@ -59,11 +54,6 @@ class MeadowAddonPreferences(AddonPreferences):
         
         layout.separator()
         
-        layout.prop(self, "seed")
-        
-        layout.prop(self, "patch_radius")
-        layout.prop(self, "max_patches")
-        
         layout.prop(self, "dupli_draw_type")
 
 
@@ -93,8 +83,14 @@ def type_update(self, context):
 
 class MeadowObjectSettings(PropertyGroup):
     type = EnumProperty(name="Type", description="Role of the object in the meadow simulation", items=type_items, update=type_update)
+    
     use_as_dupli = BoolProperty(name="Use as Dupli", description="Use the object for dupli instances", default=True)
     
+    seed = IntProperty(name="Seed", description="General random number seed value", default=12345)
+    
+    patch_radius = FloatProperty(name="Patch Radius", description="Free area around each patch where no other patch overlaps", default=1.0, min=0.01)
+    max_patches = IntProperty(name="Maximum Patch Number", description="Maximum number of patches", default=1000, max=1000000, soft_max=10000)
+    
     # internal
     blob_index = IntProperty(name="Blob Index", description="Unique blob index of the object", default=-1, options={'HIDDEN'})
 
diff --git a/object_physics_meadow/ui.py b/object_physics_meadow/ui.py
index a53c747..47b61fe 100644
--- a/object_physics_meadow/ui.py
+++ b/object_physics_meadow/ui.py
@@ -52,6 +52,11 @@ class OBJECT_PT_Meadow(Panel):
             
             if meadow.type == 'TEMPLATE':
                 layout.prop(meadow, "use_as_dupli")
+            elif meadow.type == 'BLOBGRID':
+                layout.prop(meadow, "seed")
+                
+                layout.prop(meadow, "patch_radius")
+                layout.prop(meadow, "max_patches")
 
 
 class MeadowOperatorBase():



More information about the Bf-extensions-cvs mailing list