[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [54482] trunk/blender/source/blender: fix [#34198] Scene unit size and dyntopo detail size

Campbell Barton ideasman42 at gmail.com
Tue Feb 12 06:09:36 CET 2013


Revision: 54482
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54482
Author:   campbellbarton
Date:     2013-02-12 05:09:35 +0000 (Tue, 12 Feb 2013)
Log Message:
-----------
fix [#34198] Scene unit size and dyntopo detail size
there were 2 bugs here.
- int buttons scaling values on input but not on display.
- pixel distances were using PROP_DISTANCE subtype - which isn't correct.

added assert incase PROP_INT values have PROP_DISTANCE subtype applied in future.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/interface.c
    trunk/blender/source/blender/makesrna/RNA_types.h
    trunk/blender/source/blender/makesrna/intern/rna_brush.c
    trunk/blender/source/blender/makesrna/intern/rna_define.c
    trunk/blender/source/blender/makesrna/intern/rna_scene.c
    trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c
    trunk/blender/source/blender/modifiers/intern/MOD_ocean.c

Modified: trunk/blender/source/blender/editors/interface/interface.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/editors/interface/interface.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -1800,9 +1800,9 @@
 #ifdef WITH_PYTHON
 
 	if (str[0] != '\0') {
-		int is_unit_but = ui_is_but_unit(but);
+		bool is_unit_but = (ui_is_but_float(but) && ui_is_but_unit(but));
 		/* only enable verbose if we won't run again with units */
-		if (BPY_button_exec(C, str, value, is_unit_but == FALSE) != -1) {
+		if (BPY_button_exec(C, str, value, is_unit_but == false) != -1) {
 			/* if the value parsed ok without unit conversion this button may still need a unit multiplier */
 			if (is_unit_but) {
 				char str_new[128];

Modified: trunk/blender/source/blender/makesrna/RNA_types.h
===================================================================
--- trunk/blender/source/blender/makesrna/RNA_types.h	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/makesrna/RNA_types.h	2013-02-12 05:09:35 UTC (rev 54482)
@@ -120,6 +120,7 @@
 	PROP_FACTOR = 15,
 	PROP_ANGLE = 16 | PROP_UNIT_ROTATION,
 	PROP_TIME = 17 | PROP_UNIT_TIME,
+	/* distance in 3d space, don't use for pixel distance for eg. */
 	PROP_DISTANCE = 18 | PROP_UNIT_LENGTH,
 
 	/* number arrays */

Modified: trunk/blender/source/blender/makesrna/intern/rna_brush.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_brush.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/makesrna/intern/rna_brush.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -618,7 +618,7 @@
 	RNA_def_property_update(prop, 0, "rna_Brush_update");
 	
 	/* number values */
-	prop = RNA_def_property(srna, "size", PROP_INT, PROP_DISTANCE);
+	prop = RNA_def_property(srna, "size", PROP_INT, PROP_NONE);
 	RNA_def_property_int_funcs(prop, NULL, "rna_Brush_set_size", NULL);
 	RNA_def_property_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS * 10);
 	RNA_def_property_ui_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS, 1, 0);
@@ -645,7 +645,7 @@
 	RNA_def_property_ui_text(prop, "Spacing", "Spacing between brush daubs as a percentage of brush diameter");
 	RNA_def_property_update(prop, 0, "rna_Brush_update");
 
-	prop = RNA_def_property(srna, "smooth_stroke_radius", PROP_INT, PROP_DISTANCE);
+	prop = RNA_def_property(srna, "smooth_stroke_radius", PROP_INT, PROP_NONE);
 	RNA_def_property_range(prop, 10, 200);
 	RNA_def_property_ui_text(prop, "Smooth Stroke Radius", "Minimum distance from last point before stroke continues");
 	RNA_def_property_update(prop, 0, "rna_Brush_update");

Modified: trunk/blender/source/blender/makesrna/intern/rna_define.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/makesrna/intern/rna_define.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -971,6 +971,14 @@
 		{
 			IntPropertyRNA *iprop = (IntPropertyRNA *)prop;
 
+#ifndef RNA_RUNTIME
+			if (subtype == PROP_DISTANCE) {
+				fprintf(stderr, "%s: subtype does not apply to 'PROP_INT' \"%s.%s\"\n", __func__,
+				        CONTAINER_RNA_ID(cont), identifier);
+				DefRNA.error = 1;
+			}
+#endif
+
 			iprop->hardmin = (subtype == PROP_UNSIGNED) ? 0 : INT_MIN;
 			iprop->hardmax = INT_MAX;
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_scene.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/makesrna/intern/rna_scene.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -1870,7 +1870,7 @@
 
 	/* unified paint settings that override the equivalent settings
 	 * from the active brush */
-	prop = RNA_def_property(srna, "size", PROP_INT, PROP_DISTANCE);
+	prop = RNA_def_property(srna, "size", PROP_INT, PROP_NONE);
 	RNA_def_property_int_funcs(prop, NULL, "rna_UnifiedPaintSettings_size_set", NULL);
 	RNA_def_property_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS * 10);
 	RNA_def_property_ui_range(prop, 1, MAX_BRUSH_PIXEL_RADIUS, 1, 0);

Modified: trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/makesrna/intern/rna_sculpt_paint.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -378,7 +378,7 @@
 	                         "Show diffuse color of object and overlay sculpt mask on top of it");
 	RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Sculpt_ShowDiffuseColor_update");
 
-	prop = RNA_def_property(srna, "detail_size", PROP_INT, PROP_DISTANCE);
+	prop = RNA_def_property(srna, "detail_size", PROP_INT, PROP_NONE);
 	RNA_def_property_ui_range(prop, 2, 100, 0, 0);
 	RNA_def_property_ui_text(prop, "Detail Size", "Maximum edge length for dynamic topology sculpting (in pixels)");
 
@@ -632,7 +632,7 @@
 	RNA_def_struct_path_func(srna, "rna_ParticleBrush_path");
 	RNA_def_struct_ui_text(srna, "Particle Brush", "Particle editing brush");
 
-	prop = RNA_def_property(srna, "size", PROP_INT, PROP_DISTANCE);
+	prop = RNA_def_property(srna, "size", PROP_INT, PROP_NONE);
 	RNA_def_property_range(prop, 1, SHRT_MAX);
 	RNA_def_property_ui_range(prop, 1, 100, 10, 3);
 	RNA_def_property_ui_text(prop, "Radius", "Radius of the brush in pixels");

Modified: trunk/blender/source/blender/modifiers/intern/MOD_ocean.c
===================================================================
--- trunk/blender/source/blender/modifiers/intern/MOD_ocean.c	2013-02-12 01:52:55 UTC (rev 54481)
+++ trunk/blender/source/blender/modifiers/intern/MOD_ocean.c	2013-02-12 05:09:35 UTC (rev 54482)
@@ -1,4 +1,4 @@
-/**
+/*
  * ***** BEGIN GPL LICENSE BLOCK *****
  *
  * This program is free software; you can redistribute it and/or
@@ -25,6 +25,10 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
+/** \file blender/modifiers/intern/MOD_ocean.c
+ *  \ingroup modifiers
+ */
+
 #include "MEM_guardedalloc.h"
 
 #include "DNA_customdata_types.h"




More information about the Bf-blender-cvs mailing list