Revision: 37138
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37138
Author:   jwilkins
Date:     2011-06-03 16:49:49 +0000 (Fri, 03 Jun 2011)
Log Message:
-----------
Revision: 29285
Author: nicholasbishop
Date: 4:44:11 PM, Sunday, June 06, 2010
Message:
* Sculpting now pays attention to the mask

Modified Paths:
--------------
    branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c

Property Changed:
----------------
    branches/soc-2011-onion/


Property changes on: branches/soc-2011-onion
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-29265,29277,29284,29324,29350
/trunk/blender:36833-37054
   + /branches/soc-2010-jwilkins:28499-37009
/branches/soc-2010-nicolasbishop:28448-29285,29324,29350
/trunk/blender:36833-37054

Modified: branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c
===================================================================
--- branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c        
2011-06-03 16:20:20 UTC (rev 37137)
+++ branches/soc-2011-onion/source/blender/editors/sculpt_paint/sculpt.c        
2011-06-03 16:49:49 UTC (rev 37138)
@@ -823,7 +823,7 @@
 
 /* Return a multiplier for brush strength on a particular vertex. */
 /* XXX: a lot of this code is the same as code in paint_stroke for loading the 
overlay */
-static float tex_strength(SculptSession *ss, Brush *br, float *point, const 
float len)
+static float tex_strength(SculptSession *ss, Brush *br, float *point, float 
*mask, const float len)
 {
        MTex *mtex = &br->mtex;
        float avg= 1;
@@ -955,6 +955,9 @@
 
        avg *= brush_curve_strength(br, len, ss->cache->radius); /* Falloff 
curve */
 
+       if (mask)
+               avg *= *mask;
+
        return avg;
 }
 
@@ -1207,7 +1210,7 @@
                origno= unode->no;
 
                if(sculpt_brush_test(&test, vd.co)) {
-                       const float fade = bstrength*tex_strength(ss, brush, 
vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+                       const float fade = bstrength*tex_strength(ss, brush, 
vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
                        float avg[3], val[3];
 
                        neighbor_average(ss, avg, vd.vert_indices[vd.i]);
@@ -1307,7 +1310,7 @@
                                fno= data[index].no;
 
                                if(sculpt_brush_test(&test, co)) {
-                                       const float fade = 
bstrength*tex_strength(ss, brush, co, test.dist)*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, ss->cache->view_normal, 
origno[k]);
+                                       const float fade = 
bstrength*tex_strength(ss, brush, co, &(data[x + y*gridsize].mask), 
test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[k]);
                                        float *avg, val[3];
                                        float n;
 
@@ -1419,7 +1422,7 @@
                        if (sculpt_brush_test(&test, vd.co)) {
                        //if(sculpt_brush_test_cyl(&test, vd.co, 
ss->cache->location, an)) {
                                /* offset vertex */
-                               float fade = tex_strength(ss, brush, vd.co, 
test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               float fade = tex_strength(ss, brush, vd.co, 
vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], offset, fade);
 
@@ -1473,7 +1476,7 @@
                        if (sculpt_brush_test(&test, vd.co)) {
                        //if(sculpt_brush_test_cyl(&test, vd.co, 
ss->cache->location, an)) {
                                /* offset vertex */
-                               float fade = tex_strength(ss, brush, vd.co, 
test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               float fade = tex_strength(ss, brush, vd.co, 
vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], offset, fade);
 
@@ -1541,7 +1544,7 @@
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
                                /* offset vertex */
-                               const float fade = tex_strength(ss, brush, 
vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_start, an, origno[vd.i]);
+                               const float fade = tex_strength(ss, brush, 
vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_start, an, origno[vd.i]);
                                float val1[3];
                                float val2[3];
 
@@ -1591,7 +1594,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
-                               float fade = bstrength*tex_strength(ss, brush, 
vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+                               float fade = bstrength*tex_strength(ss, brush, 
vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
                                float val[3];
 
                                sub_v3_v3v3(val, test.location, vd.co);
@@ -1657,7 +1660,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, origco[vd.i])) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], grab_delta, fade);
 
@@ -1707,7 +1710,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], cono, fade);
 
@@ -1765,7 +1768,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], grab_delta, fade);
 
@@ -1817,7 +1820,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, origco[vd.i])) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_v3fl(proxy[vd.i], cono, fade);
 
@@ -1866,7 +1869,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, origco[vd.i])) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, origco[vd.i], vd.mask, test.dist)*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
 
                                mul_v3_m3v3(proxy[vd.i], m, origco[vd.i]);
                                sub_v3_v3(proxy[vd.i], origco[vd.i]);
@@ -1990,7 +1993,7 @@
 
                BLI_pbvh_vertex_iter_begin(ss->pbvh, nodes[n], vd, 
PBVH_ITER_UNIQUE) {
                        if(sculpt_brush_test(&test, vd.co)) {
-                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
+                               const float fade = bstrength*tex_strength(ss, 
brush, vd.co, vd.mask, test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, ss->cache->view_normal, origno[vd.i]);
                                float val[3];
 
                                if(vd.fno) copy_v3_v3(val, vd.fno);
@@ -2350,7 +2353,7 @@
                                sub_v3_v3v3(val, intr, vd.co);
 
                                if (plane_trim(ss->cache, brush, val, &fade)) {
-                                       fade *= bstrength*tex_strength(ss, 
brush, vd.co, sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
+                                       fade *= bstrength*tex_strength(ss, 
brush, vd.co, vd.mask, sqrt(test.dist))*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
 
                                        mul_v3_v3fl(proxy[vd.i], val, fade);
 
@@ -2433,7 +2436,7 @@
                                        sub_v3_v3v3(val, intr, vd.co);
 
                                        if (plane_trim(ss->cache, brush, val, 
&fade)) {
-                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, vd.mask, 
sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                                mul_v3_v3fl(proxy[vd.i], val, 
fade);
 
@@ -2536,7 +2539,7 @@
                                        sub_v3_v3v3(val, intr, vd.co);
 
                                        if (plane_trim(ss->cache, brush, val, 
&fade)) {
-                                               fade *= 
cube_fade*bstrength*tex_strength(ss, brush, vd.co, test.dist)*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+                                               fade *= 
cube_fade*bstrength*tex_strength(ss, brush, vd.co, vd.mask, 
test.dist)*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                                mul_v3_v3fl(proxy[vd.i], val, 
fade);
 
@@ -2607,7 +2610,7 @@
                                        sub_v3_v3v3(val, intr, vd.co);
 
                                        if (plane_trim(ss->cache, brush, val, 
&fade)) {
-                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, vd.mask, 
sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 
                                                mul_v3_v3fl(proxy[vd.i], val, 
fade);
 
@@ -2678,7 +2681,7 @@
                                        sub_v3_v3v3(val, intr, vd.co);
 
                                        if (plane_trim(ss->cache, brush, val, 
&fade)) {
-                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, sqrt(test.dist))*frontface(brush, 
ss->cache->frontface_start, ss->cache->frontface_range, an, origno[vd.i]);
+                                               fade *= 
bstrength*tex_strength(ss, brush, vd.co, vd.mask, 
sqrt(test.dist))*frontface(brush, ss->cache->frontface_start, 
ss->cache->frontface_range, an, origno[vd.i]);
 

@@ Diff output truncated at 10240 characters. @@
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to