[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29142] branches/branch-farsthary: Added smoothness property to unlimited clay, it controls the subdivission smoothness for further user control over sculpting

Raul Fernandez Hernandez farsthary at gmail.com
Tue Jun 1 21:54:05 CEST 2010


Revision: 29142
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29142
Author:   farsthary
Date:     2010-06-01 21:54:05 +0200 (Tue, 01 Jun 2010)

Log Message:
-----------
Added smoothness property to unlimited clay, it controls the subdivission smoothness for further user control over sculpting 

Modified Paths:
--------------
    branches/branch-farsthary/release/scripts/ui/space_view3d_toolbar.py
    branches/branch-farsthary/source/blender/blenkernel/intern/brush.c
    branches/branch-farsthary/source/blender/blenloader/intern/readfile.c
    branches/branch-farsthary/source/blender/editors/sculpt_paint/sculpt.c
    branches/branch-farsthary/source/blender/makesdna/DNA_brush_types.h
    branches/branch-farsthary/source/blender/makesrna/intern/rna_brush.c

Modified: branches/branch-farsthary/release/scripts/ui/space_view3d_toolbar.py
===================================================================
--- branches/branch-farsthary/release/scripts/ui/space_view3d_toolbar.py	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/release/scripts/ui/space_view3d_toolbar.py	2010-06-01 19:54:05 UTC (rev 29142)
@@ -584,6 +584,7 @@
             col.prop(brush,"use_dynamic_subdiv")
             if brush.use_dynamic_subdiv ==True:
                 col.prop(brush,"detail",slider=True)
+                col.prop(brush,"smoothness",slider=True)
 
         # Texture Paint Mode #
 

Modified: branches/branch-farsthary/source/blender/blenkernel/intern/brush.c
===================================================================
--- branches/branch-farsthary/source/blender/blenkernel/intern/brush.c	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/source/blender/blenkernel/intern/brush.c	2010-06-01 19:54:05 UTC (rev 29142)
@@ -84,6 +84,7 @@
 	brush->sculpt_tool = SCULPT_TOOL_DRAW;
 	brush->flag |= BRUSH_SPACE;
 	brush->detail = 0.25f;
+	brush->smoothness = 0.5f;
 
 	brush_curve_preset(brush, CURVE_PRESET_SMOOTH);
 	

Modified: branches/branch-farsthary/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/branch-farsthary/source/blender/blenloader/intern/readfile.c	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/source/blender/blenloader/intern/readfile.c	2010-06-01 19:54:05 UTC (rev 29142)
@@ -10772,9 +10772,14 @@
 		
 	}
 	Brush *brush;
-	for (brush= main->brush.first; brush; brush= brush->id.next)
+	for (brush= main->brush.first; brush; brush= brush->id.next){
 		if(brush->detail == 0.0f)
-			brush->detail = 0.25f;
+			brush->detail = 0.3f;
+		if (brush->smoothness == 0.0f)
+			brush->smoothness = 0.5f;
+	
+	}
+		
 	/* WATCH IT!!!: pointers from libdata have not been converted yet here! */
 	/* WATCH IT 2!: Userdef struct init has to be in editors/interface/resources.c! */
 

Modified: branches/branch-farsthary/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- branches/branch-farsthary/source/blender/editors/sculpt_paint/sculpt.c	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/source/blender/editors/sculpt_paint/sculpt.c	2010-06-01 19:54:05 UTC (rev 29142)
@@ -116,6 +116,7 @@
 	float clip_tolerance[3];
 	float initial_mouse[2];
 	float detail;
+	float smoothness;
 
 	/* Variants */
 	float radius;
@@ -577,24 +578,24 @@
 	 		Object *obedit= ob;
 			Mesh *me= obedit->data;			
 			EditEdge *eed;
+			float detail = ss->cache->detail * ss->cache->radius;
+			float smoothness = ss->cache->smoothness;
 			 
 			for(eed = me->edit_mesh->edges.first; eed; eed = eed->next){
 				if (eed->f & SELECT)
 				{
 					sub_v3_v3v3(diff, eed->v1->co, eed->v2->co);
-					edgeLength = len_v3(diff);
-					
-					float detail = ss->cache->detail * ss->cache->radius;  
+					edgeLength = len_v3(diff);					  
 															
 					if (edgeLength < detail)
 						EM_select_edge(eed, 0);	
 					else	
-						EM_select_edge(eed, 1);						
+						EM_select_edge(eed, 1);			
 				
 				}									
 					
 			}									
-			esubdivideflag(obedit, me->edit_mesh, SELECT,0.4,0,B_SMOOTH,1, SUBDIV_CORNER_PATH, SUBDIV_SELECT_INNER);			
+			esubdivideflag(obedit, me->edit_mesh, SELECT,smoothness,0,B_SMOOTH,1, SUBDIV_CORNER_PATH, SUBDIV_SELECT_INNER);			
 			
 			/* Clear selection */
 			for(eed = me->edit_mesh->edges.first; eed; eed = eed->next)
@@ -1768,7 +1769,10 @@
 
 	cache->vc = vc;
 	cache->brush = brush;
-	if (brush->flag & BRUSH_SUBDIV) cache->detail = brush->detail;
+	if (brush->flag & BRUSH_SUBDIV){
+		cache->detail = brush->detail;
+		cache->smoothness = brush->smoothness;
+	} 
 
 	cache->mats = MEM_callocN(sizeof(bglMats), "sculpt bglMats");
 	view3d_get_transformation(vc->ar, vc->rv3d, vc->obact, cache->mats);

Modified: branches/branch-farsthary/source/blender/makesdna/DNA_brush_types.h
===================================================================
--- branches/branch-farsthary/source/blender/makesdna/DNA_brush_types.h	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/source/blender/makesdna/DNA_brush_types.h	2010-06-01 19:54:05 UTC (rev 29142)
@@ -56,7 +56,8 @@
 	
 	short flag, blend;			/* general purpose flag, blend mode */
 	int size;					/* brush diameter */
-	float detail,pad;			/* dynamic subdivission detail */
+	float detail;				/* dynamic subdivission detail */
+	float smoothness;			/* dynamic subdivission smoothness*/
 	float jitter;				/* jitter the position of the brush */
 	float spacing;				/* spacing of paint operations */
 	int smooth_stroke_radius;		/* turning radius (in pixels) for smooth stroke */

Modified: branches/branch-farsthary/source/blender/makesrna/intern/rna_brush.c
===================================================================
--- branches/branch-farsthary/source/blender/makesrna/intern/rna_brush.c	2010-06-01 19:48:55 UTC (rev 29141)
+++ branches/branch-farsthary/source/blender/makesrna/intern/rna_brush.c	2010-06-01 19:54:05 UTC (rev 29142)
@@ -172,6 +172,11 @@
 	RNA_def_property_ui_text(prop, "Detail", "Dynamic subdivission detail");
 	RNA_def_property_update(prop, 0, "rna_Brush_update");
 	
+	prop= RNA_def_property(srna, "smoothness", PROP_FLOAT, PROP_NONE);
+	RNA_def_property_range(prop, 0.0f, 1.0f);
+	RNA_def_property_ui_text(prop, "Smoothness", "Dynamic subdivission smoothness");
+	RNA_def_property_update(prop, 0, "rna_Brush_update");
+	
 	prop= RNA_def_property(srna, "jitter", PROP_FLOAT, PROP_NONE);
 	RNA_def_property_float_sdna(prop, NULL, "jitter");
 	RNA_def_property_range(prop, 0.0f, 1.0f);





More information about the Bf-blender-cvs mailing list