[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