[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24336] trunk/blender: Added mass and spring vertex groups to softbody rna/ui
Matt Ebb
matt at mke3.net
Fri Nov 6 01:13:01 CET 2009
Heya,
Hopefully as part of my work (and now since the api seems to be
getting pretty stable), I can spend some time doing documentation
here. Perhaps a tutorial or two to explain how to use it in practice
too, probably after beta 0 is released. I'm still getting back in to
it, and working on bugs spread across the source is giving me a good
overview/refresher of the system too.
cheers,
Matt
On 06/11/2009, at 10:44 AM, Campbell Barton wrote:
> Hey Bjornmose, I think there are quite a few devs in your position
> that haven't been so active since 2.4x and I can definitely understand
> how using rna is confusing initially.
> (big Thank you to Matt also!)
>
> the way python hooks in with rna is also not always obvious especially
> when it comes to context.
> wrapping ints/floats is quite simple but collections/arrays/pointers
> can be tricky too.
>
> Even if commits like this were linked to from the wiki they would be
> very useful, as long as the api doesn't change too much.
>
> Side note: It seems there are fairly few people who understand RNA
> well, Brecht wrote it, Algorith animated it, I wrapped it, Vekoon
> added functions to it but who else?
> Understanding its internals isn't always necessary so it might not
> be so bad.
>
> Incidentally I still didn't read any of the RNA docs, Being so used to
> undocumented API's with blender, just looked over the api functions.
>
> On Fri, Nov 6, 2009 at 12:18 AM, bjornmose <bjornmose at gmx.net> wrote:
>> Hi Matt
>> I'd like to give you a big 'Thank you' .
>> This looks generic enough to be a template for
>> 'blender developers wiki' : How to plug an object ( or what ever )
>> property to the blender UI .
>> Well, may be I missed existing docs, but then they are not clearly
>> visible on the blender.org page, which i would choose for 1rst
>> developers information ( as if i don't know 42th Murphy's law: "The
>> information you look for is never at the place you would expect it to
>> be, but pretty close to the other end of the known universe" )
>> So point the flame thrower on me .. (i am used to it) .. still ..
>> search engines will find this and may be help other coders to ship
>> trough /Skylla/ and /Charybdi/s
>> at ease.
>>
>>
>>
>> Matt Ebb wrote:
>>> Revision: 24336
>>> http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24336
>>> Author: broken
>>> Date: 2009-11-05 03:50:26 +0100 (Thu, 05 Nov 2009)
>>>
>>> Log Message:
>>> -----------
>>> Added mass and spring vertex groups to softbody rna/ui
>>>
>>> Modified Paths:
>>> --------------
>>> trunk/blender/release/scripts/ui/properties_physics_softbody.py
>>> trunk/blender/source/blender/makesrna/intern/rna_object_force.c
>>>
>>> Modified: trunk/blender/release/scripts/ui/
>>> properties_physics_softbody.py
>>> ===================================================================
>>> --- trunk/blender/release/scripts/ui/
>>> properties_physics_softbody.py 2009-11-05 02:21:04 UTC (rev 24335)
>>> +++ trunk/blender/release/scripts/ui/
>>> properties_physics_softbody.py 2009-11-05 02:50:26 UTC (rev 24336)
>>> @@ -73,8 +73,9 @@
>>>
>>> col = split.column()
>>> col.itemL(text="Object:")
>>> + col.itemR(softbody, "friction")
>>> col.itemR(softbody, "mass")
>>> - col.itemR(softbody, "friction")
>>> + col.item_pointerR(softbody, "mass_vertex_group", ob,
>>> "vertex_groups", text="Mass:")
>>>
>>> col = split.column()
>>> col.itemL(text="Simulation:")
>>> @@ -167,6 +168,7 @@
>>> col.itemR(softbody, "plastic")
>>> col.itemR(softbody, "bending")
>>> col.itemR(softbody, "spring_length", text="Length")
>>> + col.item_pointerR(softbody, "spring_vertex_group", ob,
>>> "vertex_groups", text="Springs:")
>>>
>>> col = split.column()
>>> col.itemR(softbody, "stiff_quads")
>>>
>>> Modified: trunk/blender/source/blender/makesrna/intern/
>>> rna_object_force.c
>>> ===================================================================
>>> --- trunk/blender/source/blender/makesrna/intern/
>>> rna_object_force.c 2009-11-05 02:21:04 UTC (rev 24335)
>>> +++ trunk/blender/source/blender/makesrna/intern/
>>> rna_object_force.c 2009-11-05 02:50:26 UTC (rev 24336)
>>> @@ -412,6 +412,19 @@
>>> rna_object_vgroup_name_index_set(ptr, value, &sb->vertgroup);
>>> }
>>>
>>> +static void rna_SoftBodySettings_mass_vgroup_set(PointerRNA *ptr,
>>> const char *value)
>>> +{
>>> + SoftBody *sb= (SoftBody*)ptr->data;
>>> + rna_object_vgroup_name_set(ptr, value, sb->namedVG_Mass,
>>> sizeof(sb->namedVG_Mass));
>>> +}
>>> +
>>> +static void rna_SoftBodySettings_spring_vgroup_set(PointerRNA
>>> *ptr, const char *value)
>>> +{
>>> + SoftBody *sb= (SoftBody*)ptr->data;
>>> + rna_object_vgroup_name_set(ptr, value, sb->namedVG_Spring_K,
>>> sizeof(sb->namedVG_Spring_K));
>>> +}
>>> +
>>> +
>>> static char *rna_SoftBodySettings_path(PointerRNA *ptr)
>>> {
>>> Object *ob= (Object*)ptr->id.data;
>>> @@ -1392,6 +1405,12 @@
>>> RNA_def_property_ui_text(prop, "Mass", "");
>>> RNA_def_property_update(prop, 0, "rna_softbody_update");
>>>
>>> + prop= RNA_def_property(srna, "mass_vertex_group",
>>> PROP_STRING, PROP_NONE);
>>> + RNA_def_property_string_sdna(prop, NULL, "namedVG_Mass");
>>> + RNA_def_property_ui_text(prop, "Mass Vertex Group", "Control
>>> point mass values.");
>>> + RNA_def_property_string_funcs(prop, NULL, NULL,
>>> "rna_SoftBodySettings_mass_vgroup_set");
>>> + RNA_def_property_update(prop, 0, "rna_softbody_update");
>>> +
>>> prop= RNA_def_property(srna, "gravity", PROP_FLOAT,
>>> PROP_ACCELERATION);
>>> RNA_def_property_float_sdna(prop, NULL, "grav");
>>> RNA_def_property_range(prop, -10.0f, 10.0f);
>>> @@ -1490,6 +1509,12 @@
>>> RNA_def_property_range(prop, 0.0f, 1.0f);
>>> RNA_def_property_ui_text(prop, "Shear", "Shear Stiffness");
>>>
>>> + prop= RNA_def_property(srna, "spring_vertex_group",
>>> PROP_STRING, PROP_NONE);
>>> + RNA_def_property_string_sdna(prop, NULL, "namedVG_Spring_K");
>>> + RNA_def_property_ui_text(prop, "Spring Vertex Group",
>>> "Control point spring strength values.");
>>> + RNA_def_property_string_funcs(prop, NULL, NULL,
>>> "rna_SoftBodySettings_spring_vgroup_set");
>>> + RNA_def_property_update(prop, 0, "rna_softbody_update");
>>> +
>>> /* Collision */
>>>
>>> prop= RNA_def_property(srna, "collision_type", PROP_ENUM,
>>> PROP_NONE);
>>>
>>>
>>> _______________________________________________
>>> Bf-blender-cvs mailing list
>>> Bf-blender-cvs at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>>>
>>>
>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>
>
>
> --
> - Campbell
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
More information about the Bf-committers
mailing list