[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [33341] trunk/blender/source/blender/ makesrna/intern/rna_constraint.c: Rigid Body Joint Constraint:

Thomas Dinges dingto at gmx.de
Fri Nov 26 18:11:16 CET 2010


Revision: 33341
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=33341
Author:   dingto
Date:     2010-11-26 18:11:16 +0100 (Fri, 26 Nov 2010)

Log Message:
-----------
Rigid Body Joint Constraint:
* RNA fix for my last commit, we want the last 3 items of the array, not the first 3, added get/set functions.

Modified Paths:
--------------
    trunk/blender/source/blender/makesrna/intern/rna_constraint.c

Modified: trunk/blender/source/blender/makesrna/intern/rna_constraint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2010-11-26 17:08:22 UTC (rev 33340)
+++ trunk/blender/source/blender/makesrna/intern/rna_constraint.c	2010-11-26 17:11:16 UTC (rev 33341)
@@ -324,6 +324,47 @@
 	memcpy(ikData->points, values, ikData->numpoints * sizeof(float));
 }
 
+/* Array Get/Set Functions for RigidBodyJointConstraint Min/Max Cone Limits */
+void rna_RigidBodyJointConstraint_limit_cone_min_get(PointerRNA *ptr, float values[3])
+{
+	bRigidBodyJointConstraint *data= (bRigidBodyJointConstraint*)(((bConstraint*)ptr->data)->data);
+	float *limit = data->minLimit;
+	
+	values[0]= limit[3];
+	values[1]= limit[4];
+	values[2]= limit[5];
+}
+
+static void rna_RigidBodyJointConstraint_limit_cone_min_set(PointerRNA *ptr, const float values[3])
+{
+	bRigidBodyJointConstraint *data= (bRigidBodyJointConstraint*)(((bConstraint*)ptr->data)->data);
+	float *limit = data->minLimit;
+	
+	limit[3]= values[0];
+	limit[4]= values[1];
+	limit[5]= values[2];
+}
+
+void rna_RigidBodyJointConstraint_limit_cone_max_get(PointerRNA *ptr, float values[3])
+{
+	bRigidBodyJointConstraint *data= (bRigidBodyJointConstraint*)(((bConstraint*)ptr->data)->data);
+	float *limit = data->maxLimit;
+	
+	values[0]= limit[3];
+	values[1]= limit[4];
+	values[2]= limit[5];
+}
+
+static void rna_RigidBodyJointConstraint_limit_cone_max_set(PointerRNA *ptr, const float values[3])
+{
+	bRigidBodyJointConstraint *data= (bRigidBodyJointConstraint*)(((bConstraint*)ptr->data)->data);
+	float *limit = data->maxLimit;
+	
+	limit[3]= values[0];
+	limit[4]= values[1];
+	limit[5]= values[2];
+}
+
 #else
 
 EnumPropertyItem constraint_distance_items[] = {
@@ -1269,11 +1310,13 @@
     /* Limit Min/Max for Cone Twist */
 	prop= RNA_def_property(srna, "limit_cone_min", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "minLimit");
+	RNA_def_property_float_funcs(prop, "rna_RigidBodyJointConstraint_limit_cone_min_get", "rna_RigidBodyJointConstraint_limit_cone_min_set", NULL);
 	RNA_def_property_array(prop, 3);
 	RNA_def_property_ui_text(prop, "Minimum Limit", "");
 
 	prop= RNA_def_property(srna, "limit_cone_max", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "maxLimit");
+	RNA_def_property_float_funcs(prop, "rna_RigidBodyJointConstraint_limit_cone_max_get", "rna_RigidBodyJointConstraint_limit_cone_max_set", NULL);
 	RNA_def_property_array(prop, 3);
 	RNA_def_property_ui_text(prop, "Maximum Limit", "");
 





More information about the Bf-blender-cvs mailing list