[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [24018] trunk/blender/source/blender: move G_FACESELECT from G.f to mesh->editflag, renamed to ME_EDIT_PAINT_MASK

Campbell Barton ideasman42 at gmail.com
Tue Oct 20 21:27:27 CEST 2009


Revision: 24018
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=24018
Author:   campbellbarton
Date:     2009-10-20 21:27:27 +0200 (Tue, 20 Oct 2009)

Log Message:
-----------
move G_FACESELECT from G.f to mesh->editflag, renamed to ME_EDIT_PAINT_MASK

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/BKE_global.h
    trunk/blender/source/blender/blenkernel/intern/blender.c
    trunk/blender/source/blender/blenkernel/intern/paint.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
    trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
    trunk/blender/source/blender/editors/space_view3d/drawobject.c
    trunk/blender/source/blender/editors/space_view3d/view3d_header.c
    trunk/blender/source/blender/makesdna/DNA_mesh_types.h
    trunk/blender/source/blender/makesrna/intern/rna_mesh.c

Modified: trunk/blender/source/blender/blenkernel/BKE_global.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_global.h	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/blenkernel/BKE_global.h	2009-10-20 19:27:27 UTC (rev 24018)
@@ -110,7 +110,7 @@
 #define G_BACKBUFSEL	(1 <<  4)
 #define G_PICKSEL		(1 <<  5)
 
-#define G_FACESELECT	(1 <<  8)
+/* #define G_FACESELECT	(1 <<  8) use mesh mode */
 
 #define G_DEBUG			(1 << 12)
 #define G_DOSCRIPTLINKS (1 << 13)

Modified: trunk/blender/source/blender/blenkernel/intern/blender.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/blender.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/blenkernel/intern/blender.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -226,8 +226,6 @@
 //	free_vertexpaint();
 
 	G.main= NULL;
-	
-	G.f &= ~(G_FACESELECT);
 }
 
 /* make sure path names are correct for OS */

Modified: trunk/blender/source/blender/blenkernel/intern/paint.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/paint.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/blenkernel/intern/paint.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -29,6 +29,7 @@
 
 #include "DNA_brush_types.h"
 #include "DNA_object_types.h"
+#include "DNA_mesh_types.h"
 #include "DNA_scene_types.h"
 
 #include "BKE_brush.h"
@@ -160,8 +161,7 @@
 
 int paint_facesel_test(Object *ob)
 {
-	return (G.f&G_FACESELECT) && (ob && (ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)));
-
+	return (ob && (((Mesh *)ob->data)->editflag & ME_EDIT_PAINT_MASK) && (ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)));
 }
 
 void paint_init(Paint *p, const char col[3])

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_image.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_image.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -3182,7 +3182,7 @@
 		}
 #endif
 		
-		if (tf->tpage && ((G.f & G_FACESELECT)==0 || mf->flag & ME_FACE_SEL)) {
+		if (tf->tpage && ((((Mesh *)ps->ob->data)->editflag & ME_EDIT_PAINT_MASK)==0 || mf->flag & ME_FACE_SEL)) {
 			
 			float *v1coSS, *v2coSS, *v3coSS, *v4coSS=NULL;
 			
@@ -4290,7 +4290,7 @@
 	if (texpaint) {
 		/* pick new face and image */
 		if (	imapaint_pick_face(vc, s->me, mval, &newfaceindex) &&
-				((G.f & G_FACESELECT)==0 || (s->me->mface+newfaceindex)->flag & ME_FACE_SEL)
+				((s->me->editflag & ME_EDIT_PAINT_MASK)==0 || (s->me->mface+newfaceindex)->flag & ME_FACE_SEL)
 		) {
 			ImBuf *ibuf;
 			

Modified: trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c
===================================================================
--- trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/editors/sculpt_paint/paint_vertex.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -203,7 +203,7 @@
 	return rgba_to_mcol(brush->rgb[0], brush->rgb[1], brush->rgb[2], 1.0f);
 }
 
-void do_shared_vertexcol(Mesh *me)
+static void do_shared_vertexcol(Mesh *me)
 {
 	/* if no mcol: do not do */
 	/* if tface: only the involved faces, otherwise all */
@@ -221,7 +221,7 @@
 	mface= me->mface;
 	mcol= (char *)me->mcol;
 	for(a=me->totface; a>0; a--, mface++, mcol+=16) {
-		if((tface && tface->mode & TF_SHAREDCOL) || (G.f & G_FACESELECT)==0) {
+		if((tface && tface->mode & TF_SHAREDCOL) || (me->editflag & ME_EDIT_PAINT_MASK)==0) {
 			scol= scolmain+4*mface->v1;
 			scol[0]++; scol[1]+= mcol[1]; scol[2]+= mcol[2]; scol[3]+= mcol[3];
 			scol= scolmain+4*mface->v2;
@@ -251,7 +251,7 @@
 	mface= me->mface;
 	mcol= (char *)me->mcol;
 	for(a=me->totface; a>0; a--, mface++, mcol+=16) {
-		if((tface && tface->mode & TF_SHAREDCOL) || (G.f & G_FACESELECT)==0) {
+		if((tface && tface->mode & TF_SHAREDCOL) || (me->editflag & ME_EDIT_PAINT_MASK)==0) {
 			scol= scolmain+4*mface->v1;
 			mcol[1]= scol[1]; mcol[2]= scol[2]; mcol[3]= scol[3];
 			scol= scolmain+4*mface->v2;
@@ -1361,7 +1361,7 @@
 		}
 	}
 			
-	if((G.f & G_FACESELECT) && me->mface) {
+	if((me->editflag & ME_EDIT_PAINT_MASK) && me->mface) {
 		for(index=0; index<totindex; index++) {
 			if(indexar[index] && indexar[index]<=me->totface) {
 				MFace *mface= ((MFace *)me->mface) + (indexar[index]-1);
@@ -1675,7 +1675,7 @@
 	int alpha, i;
 	
 	if((vp->flag & VP_COLINDEX && mface->mat_nr!=ob->actcol-1) ||
-	   (G.f & G_FACESELECT && !(mface->flag & ME_FACE_SEL)))
+	   ((me->editflag & ME_EDIT_PAINT_MASK) && !(mface->flag & ME_FACE_SEL)))
 		return;
 
 	if(vp->mode==VP_BLUR) {

Modified: trunk/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/editors/space_view3d/drawobject.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -6121,7 +6121,7 @@
 	Mesh *me = (Mesh*)ob->data;
 	MCol *colors;
 	int i,j;
-	int face_sel_mode = (G.f & G_FACESELECT) ? 1:0;
+	int face_sel_mode = (me->flag & ME_EDIT_PAINT_MASK) ? 1:0;
 	
 	glColor3ub(0, 0, 0);
 		

Modified: trunk/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_header.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -1818,6 +1818,7 @@
         ED_area_tag_redraw(sa);
 		break;		
 	case B_VIEW_BUTSEDIT:
+		ED_area_tag_redraw(sa);
 		break;
 		
 	default:
@@ -2031,7 +2032,8 @@
  		}
  	} else {
  		if (obedit==NULL && ((ob && ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_WEIGHT_PAINT|OB_MODE_TEXTURE_PAINT)))) {
- 			uiDefIconButBitI(block, TOG, G_FACESELECT, B_VIEW_BUTSEDIT, ICON_FACESEL_HLT,xco,yco,XIC,YIC, &G.f, 0, 0, 0, 0, "Painting Mask (FKey)");
+			Mesh *me= ob->data;
+ 			uiDefIconButBitS(block, TOG, ME_EDIT_PAINT_MASK, B_VIEW_BUTSEDIT, ICON_FACESEL_HLT,xco,yco,XIC,YIC, &me->editflag, 0, 0, 0, 0, "Painting Mask (FKey)");
 			header_xco_step(ar, &xco, &yco, &maxco, XIC+10);
  		} else {
  			/* Manipulators aren't used in weight paint mode */

Modified: trunk/blender/source/blender/makesdna/DNA_mesh_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_mesh_types.h	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/makesdna/DNA_mesh_types.h	2009-10-20 19:27:27 UTC (rev 24018)
@@ -121,6 +121,8 @@
 #define ME_EDIT_MIRROR_Y (1 << 1) // unused so far
 #define ME_EDIT_MIRROR_Z (1 << 2) // unused so far
 
+#define ME_EDIT_PAINT_MASK (1 << 3)
+
 /* me->flag */
 #define ME_ISDONE		1
 #define ME_NOPUNOFLIP	2

Modified: trunk/blender/source/blender/makesrna/intern/rna_mesh.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2009-10-20 19:22:19 UTC (rev 24017)
+++ trunk/blender/source/blender/makesrna/intern/rna_mesh.c	2009-10-20 19:27:27 UTC (rev 24018)
@@ -1615,6 +1615,12 @@
 	RNA_def_property_ui_text(prop, "Z Mirror", "Z Axis mirror editing");
 	 */
 
+	prop= RNA_def_property(srna, "use_paint_mask", PROP_BOOLEAN, PROP_NONE);
+	RNA_def_property_boolean_sdna(prop, NULL, "editflag", ME_EDIT_PAINT_MASK);
+	RNA_def_property_ui_text(prop, "Paint Mask", "Face selection masking for painting");
+
+
+
 	rna_def_texmat_common(srna, "rna_Mesh_texspace_editable");
 
 	RNA_api_mesh(srna);





More information about the Bf-blender-cvs mailing list