[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55386] trunk/blender/source/blender/ makesrna/intern/rna_nodetree.c: Added back the custom limits for value properties in standard node socket types , to override the standard range based purely on subtype.

Lukas Toenne lukas.toenne at googlemail.com
Mon Mar 18 21:27:40 CET 2013


Revision: 55386
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55386
Author:   lukastoenne
Date:     2013-03-18 20:27:39 +0000 (Mon, 18 Mar 2013)
Log Message:
-----------
Added back the custom limits for value properties in standard node socket types, to override the standard range based purely on subtype.

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

Modified: trunk/blender/source/blender/makesrna/intern/rna_nodetree.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-03-18 19:59:11 UTC (rev 55385)
+++ trunk/blender/source/blender/makesrna/intern/rna_nodetree.c	2013-03-18 20:27:39 UTC (rev 55386)
@@ -2310,6 +2310,41 @@
 	sock->typeinfo->interface_draw_color(C, &ptr, r_color);
 }
 
+static void rna_NodeSocketStandard_float_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax)
+{
+	bNodeSocket *sock = ptr->data;
+	bNodeSocketValueFloat *dval = sock->default_value;
+	int subtype = sock->typeinfo->subtype;
+	
+	*min = (subtype == PROP_UNSIGNED ? 0.0f : -FLT_MAX);
+	*max = FLT_MAX;
+	*softmin = dval->min;
+	*softmax = dval->max;
+}
+
+static void rna_NodeSocketStandard_int_range(PointerRNA *ptr, int *min, int *max, int *softmin, int *softmax)
+{
+	bNodeSocket *sock = ptr->data;
+	bNodeSocketValueFloat *dval = sock->default_value;
+	int subtype = sock->typeinfo->subtype;
+	
+	*min = (subtype == PROP_UNSIGNED ? 0 : INT_MIN);
+	*max = INT_MAX;
+	*softmin = dval->min;
+	*softmax = dval->max;
+}
+
+static void rna_NodeSocketStandard_vector_range(PointerRNA *ptr, float *min, float *max, float *softmin, float *softmax)
+{
+	bNodeSocket *sock = ptr->data;
+	bNodeSocketValueVector *dval = sock->default_value;
+	
+	*min = -FLT_MAX;
+	*max = FLT_MAX;
+	*softmin = dval->min;
+	*softmax = dval->max;
+}
+
 /* using a context update function here, to avoid searching the node if possible */
 static void rna_NodeSocketStandard_value_update(struct bContext *C, PointerRNA *ptr)
 {
@@ -6033,6 +6068,7 @@
 	
 	prop = RNA_def_property(srna, "default_value", PROP_FLOAT, subtype);
 	RNA_def_property_float_sdna(prop, NULL, "value");
+	RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketStandard_float_range");
 	RNA_def_property_ui_text(prop, "Default Value", "Input value used for unconnected socket");
 	RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocketStandard_value_update");
 	RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
@@ -6059,6 +6095,7 @@
 	
 	prop = RNA_def_property(srna, "default_value", PROP_INT, subtype);
 	RNA_def_property_int_sdna(prop, NULL, "value");
+	RNA_def_property_int_funcs(prop, NULL, NULL, "rna_NodeSocketStandard_int_range");
 	RNA_def_property_ui_text(prop, "Default Value", "Input value used for unconnected socket");
 	RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocketStandard_value_update");
 	RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
@@ -6111,6 +6148,7 @@
 	
 	prop = RNA_def_property(srna, "default_value", PROP_FLOAT, subtype);
 	RNA_def_property_float_sdna(prop, NULL, "value");
+	RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketStandard_vector_range");
 	RNA_def_property_ui_text(prop, "Default Value", "Input value used for unconnected socket");
 	RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_NodeSocketStandard_value_update");
 	RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);




More information about the Bf-blender-cvs mailing list