diff options
author | Campbell Barton <ideasman42@gmail.com> | 2007-09-10 23:32:44 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2007-09-10 23:32:44 +0400 |
commit | 0bd32f3ac60393fca5af17534c8ee90e20664cbd (patch) | |
tree | 37593e75c494bd53a44f26b1797447edef9989e0 /source/blender/src/editview.c | |
parent | 1f0b07c37b4fc51955b8738d9f1922623d98b87c (diff) |
Changes to "Face Select" mode
* Does not indicate that UV's exist, nor does it add UV's when used.
* Only accessible for texturepaint, vertexpaint and weightpaint from a button in the header (Paint Selection Mask)
* Not accessible from the mode menu, this is only an option that applies to paint modes.
This dosnt effect DNA, face select (G_FACESELECT) can be enabled at any time but is only used when paint modes are enabled.
Other changes
* UKey is uv unwrap in editmode, Ukey for undo was editmode only anyway.
* UVCalc in editmode adds a UV Layer if there is not one alredy.
* texture draw in editmode does not draw the face dots (they are get in the way of texturing)
* some missing updates were added.
* removed manipulator from when paint modes are enabled since the manipulator is not drawn in the 3d view.
Diffstat (limited to 'source/blender/src/editview.c')
-rw-r--r-- | source/blender/src/editview.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/source/blender/src/editview.c b/source/blender/src/editview.c index 80bebf0ec68..176821e0cc9 100644 --- a/source/blender/src/editview.c +++ b/source/blender/src/editview.c @@ -575,7 +575,7 @@ static void do_lasso_select_facemode(short mcords[][2], short moves, short selec static void do_lasso_select(short mcords[][2], short moves, short select) { if(G.obedit==NULL) { - if(G.f & G_FACESELECT) + if(FACESEL_PAINT_TEST) do_lasso_select_facemode(mcords, moves, select); else if(G.f & (G_VERTEXPAINT|G_TEXTUREPAINT|G_WEIGHTPAINT)) ; @@ -1102,10 +1102,6 @@ void set_active_base(Base *base) if(G.f & G_TEXTUREPAINT) set_texturepaint(); /* Switch off tex paint */ } - /* always end this */ - if(G.f & G_FACESELECT) { - set_faceselect(); /* toggle */ - } } /* sets scene->basact */ @@ -1670,7 +1666,7 @@ void borderselect(void) int a, index; short hits, val; - if(G.obedit==NULL && (G.f & G_FACESELECT)) { + if(G.obedit==NULL && (FACESEL_PAINT_TEST)) { face_borderselect(); return; } @@ -1683,8 +1679,11 @@ void borderselect(void) val= get_border(&rect, 3); if (!a) setlinestyle(0); - if(val==0) + if(val==0) { + if (EM_texFaceCheck()) + allqueue(REDRAWIMAGE, 0); return; + } if(G.obedit) { if(G.obedit->type==OB_MESH) { @@ -1919,7 +1918,7 @@ static void mesh_selectionCB(int selecting, Object *editobj, short *mval, float EditMesh *em = G.editMesh; int bbsel; - if(!G.obedit && (G.f&G_FACESELECT)) { + if(!G.obedit && (FACESEL_PAINT_TEST)) { Mesh *me = get_mesh(OBACT); if (me) { |