[Bf-blender-cvs] [c073d7c] fracture_modifier: added appliedImpulse() to regular constraints too
Martin Felke
noreply at git.blender.org
Thu Jan 28 23:30:51 CET 2016
Commit: c073d7cf60a5301d859d7245f1bd6c02a4aba9ce
Author: Martin Felke
Date: Thu Jan 28 23:30:39 2016 +0100
Branches: fracture_modifier
https://developer.blender.org/rBc073d7cf60a5301d859d7245f1bd6c02a4aba9ce
added appliedImpulse() to regular constraints too
===================================================================
M source/blender/makesrna/intern/rna_rigidbody.c
===================================================================
diff --git a/source/blender/makesrna/intern/rna_rigidbody.c b/source/blender/makesrna/intern/rna_rigidbody.c
index 0e93438..9e5e1c1 100644
--- a/source/blender/makesrna/intern/rna_rigidbody.c
+++ b/source/blender/makesrna/intern/rna_rigidbody.c
@@ -106,6 +106,15 @@ static EnumPropertyItem rigidbody_mesh_source_items[] = {
dest &= ~flag; \
}
+static float rna_RigidBodyCon_get_applied_impulse(RigidBodyCon *con)
+{
+#ifdef WITH_BULLET
+ if (con && con->physics_constraint)
+ return RB_constraint_get_applied_impulse(con->physics_constraint);
+#endif
+ return 0.0f;
+}
+
/* ******************************** */
@@ -1194,7 +1203,8 @@ static void rna_def_rigidbody_object(BlenderRNA *brna)
static void rna_def_rigidbody_constraint(BlenderRNA *brna)
{
StructRNA *srna;
- PropertyRNA *prop;
+ PropertyRNA *prop, *parm;
+ FunctionRNA *func;
srna = RNA_def_struct(brna, "RigidBodyConstraint", NULL);
RNA_def_struct_sdna(srna, "RigidBodyCon");
@@ -1496,6 +1506,11 @@ static void rna_def_rigidbody_constraint(BlenderRNA *brna)
RNA_def_property_float_funcs(prop, NULL, "rna_RigidBodyCon_motor_ang_max_impulse_set", NULL);
RNA_def_property_ui_text(prop, "Max Impulse", "Maximum angular motor impulse");
RNA_def_property_update(prop, NC_OBJECT, "rna_RigidBodyOb_reset");
+
+ //do as function, dont need an dna value for storage, instead query from bullet directly
+ func = RNA_def_function(srna, "appliedImpulse", "rna_RigidBodyCon_get_applied_impulse");
+ parm = RNA_def_float(func, "impulse", 0, -FLT_MAX, FLT_MAX, "Applied Impulse", "The currently applied impulse on this constraint", -FLT_MIN, FLT_MAX);
+ RNA_def_function_return(func, parm);
}
void RNA_def_rigidbody(BlenderRNA *brna)
More information about the Bf-blender-cvs
mailing list