Page MenuHome

cyclesel5.txt

cyclesel5.txt

? .tm_project.cache
? blender.prj
? blender.pws
? cyclesel.txt
? cyclesel2.txt
? cyclesel3.txt
? cyclesel4.txt
? cyclesel5.txt
? movefromj.txt
? movefromj2.txt
? movefromj3.txt
? movefromj4.txt
? movefromj5.txt
? movefromj6wip.txt
? negadeg.txt
? negadeg1.txt
? obj
? renderpanel.txt
? shear.patch
? shear2.txt
? texupdown.txt
? texupdown2.txt
? texupdown3.txt
? texupdown4.txt
? texupdown5wip.txt
? extern/ffmpeg/config.h
? extern/ffmpeg/config.log
? extern/ffmpeg/config.mak
? extern/ffmpeg/libavcodec-uninstalled.pc
? extern/ffmpeg/libavcodec.pc
? extern/ffmpeg/libavformat-uninstalled.pc
? extern/ffmpeg/libavformat.pc
? extern/ffmpeg/libavutil-uninstalled.pc
? extern/ffmpeg/libavutil.pc
? extern/ffmpeg/libpostproc-uninstalled.pc
? extern/ffmpeg/libpostproc.pc
? tools/Blender.pyc
? tools/__init__.pyc
? tools/bcolors.pyc
? tools/btools.pyc
Index: source/blender/include/BIF_editmesh.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/include/BIF_editmesh.h,v
retrieving revision 1.67
diff -u -p -r1.67 BIF_editmesh.h
--- source/blender/include/BIF_editmesh.h 8 Jun 2006 05:41:57 -0000 1.67
+++ source/blender/include/BIF_editmesh.h 28 Aug 2006 08:57:23 -0000
@@ -118,9 +118,9 @@ extern int EM_init_backbuf_circle(short
extern int EM_check_backbuf(unsigned int index);
extern void EM_free_backbuf(void);
+extern void EM_selectmode_cycle(unsigned int direction);
extern void EM_selectmode_menu(void);
-
extern void vertexnoise(void);
extern void vertexsmooth(void);
extern void righthandfaces(int select);
@@ -225,4 +225,3 @@ void pathselect(void);
void loop_to_region(void);
void region_to_loop(void);
#endif
-
Index: source/blender/makesdna/DNA_scene_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_scene_types.h,v
retrieving revision 1.76
diff -u -p -r1.76 DNA_scene_types.h
--- source/blender/makesdna/DNA_scene_types.h 28 Jul 2006 00:56:34 -0000 1.76
+++ source/blender/makesdna/DNA_scene_types.h 28 Aug 2006 08:57:24 -0000
@@ -514,9 +514,13 @@ typedef struct Scene {
#define SCE_ADDSCENAME 1
/* sce->selectmode */
-#define SCE_SELECT_VERTEX 1
-#define SCE_SELECT_EDGE 2
-#define SCE_SELECT_FACE 4
+#define SCE_SELECT_VERTEX 1
+#define SCE_SELECT_EDGE 2
+#define SCE_SELECT_VERTEX_AND_EDGE 3
+#define SCE_SELECT_FACE 4
+#define SCE_SELECT_VERTEX_AND_FACE 5
+#define SCE_SELECT_EDGE_AND_FACE 6
+#define SCE_SELECT_VERTEX_AND_EDGE_AND_FACE 7
/* sce->recalc (now in use by previewrender) */
#define SCE_PRV_CHANGED 1
@@ -553,4 +557,3 @@ typedef struct Scene {
#endif
#endif
-
Index: source/blender/makesdna/DNA_userdef_types.h
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/makesdna/DNA_userdef_types.h,v
retrieving revision 1.56
diff -u -p -r1.56 DNA_userdef_types.h
--- source/blender/makesdna/DNA_userdef_types.h 8 Jun 2006 19:05:58 -0000 1.56
+++ source/blender/makesdna/DNA_userdef_types.h 28 Aug 2006 08:57:24 -0000
@@ -223,6 +223,7 @@ extern UserDef U; /* from usiblender.c !
#define USER_HIDE_DOT 65536
#define USER_SHOW_ROTVIEWICON 131072
#define USER_SHOW_VIEWPORTNAME 262144
+#define USER_CYCLE_SELMODE 524288
/* transopts */
@@ -265,4 +266,3 @@ extern UserDef U; /* from usiblender.c !
#endif
-
Index: source/blender/src/editmesh_mods.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/editmesh_mods.c,v
retrieving revision 1.110
diff -u -p -r1.110 editmesh_mods.c
--- source/blender/src/editmesh_mods.c 28 Aug 2006 03:14:54 -0000 1.110
+++ source/blender/src/editmesh_mods.c 28 Aug 2006 08:57:24 -0000
@@ -2474,8 +2474,66 @@ void editmesh_deselect_by_material(int i
EM_selectmode_flush();
}
-void EM_selectmode_menu(void)
+void EM_selectmode_cycle(unsigned int direction)
{
+ int selectModes[] = {SCE_SELECT_VERTEX, SCE_SELECT_VERTEX_AND_EDGE, SCE_SELECT_EDGE, SCE_SELECT_EDGE_AND_FACE, SCE_SELECT_FACE, SCE_SELECT_VERTEX_AND_FACE};
+ const char *undoStrings[] = {"Vertex","Vertex\\Edge","Edge","Edge\\Face","Face","Vertex\\Face"};
+ int amountOfSelectModes = 6;
+
+ static char undoBegin[] = "Selectmode Set: ";
+ static char undoEnd[] = " ";
+
+ int i = 0;
+
+ /*the user can select all selection modes at once which is not in the
+ sequence. this exceptional case is handled here*/
+ if (G.scene->selectmode == SCE_SELECT_VERTEX_AND_EDGE_AND_FACE) {
+ G.scene->selectmode= SCE_SELECT_VERTEX;
+ EM_selectmode_set();
+ countall();
+ BIF_undo_push("Selectmode Set: Vertex ");
+ }
+ else {
+ for(i; i<amountOfSelectModes; i++) {
+ //forward
+ if (direction == 1) {
+ int j = i+1;
+ /*special case in which we have to "jump" to start*/
+ if (i == amountOfSelectModes-1) {
+ j = 0;
+ }
+ if (G.scene->selectmode == selectModes[i]) {
+ G.scene->selectmode= selectModes[j];
+ EM_selectmode_set();
+ countall();
+ char *undoText = strcat(undoBegin, undoStrings[j]);
+ BIF_undo_push(strcat(undoText, undoEnd));
+ break;
+ }
+ }
+ //backwards
+ else {
+ if (G.scene->selectmode == selectModes[i]) {
+ int j = i-1;
+ /*special case in which we have to "jump" to end*/
+ if (i == 0) {
+ j = amountOfSelectModes-1;
+ }
+ G.scene->selectmode= selectModes[j];
+ EM_selectmode_set();
+ countall();
+ char *undoText = strcat(undoBegin, undoStrings[j]);
+ BIF_undo_push(strcat(undoText, undoEnd));
+ break;
+ }
+ }
+ }
+ }
+ allqueue(REDRAWVIEW3D, 1);
+}
+
+void EM_selectmode_menu(void)
+{
int val;
if(G.scene->selectmode & SCE_SELECT_VERTEX) pupmenu_set_active(1);
@@ -3265,4 +3323,3 @@ void vertices_to_sphere(void)
#endif
BIF_undo_push("To Sphere");
}
-
Index: source/blender/src/space.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/space.c,v
retrieving revision 1.375
diff -u -p -r1.375 space.c
--- source/blender/src/space.c 27 Aug 2006 13:29:00 -0000 1.375
+++ source/blender/src/space.c 28 Aug 2006 08:57:25 -0000
@@ -2760,6 +2760,12 @@ void drawinfospace(ScrArea *sa, void *sp
uiDefBut(block, LABEL,0,"Middle Mouse Button:",
(xpos+(2*edgsp)+(4*mpref)+(4*midsp)),y6label,mpref,buth,
0, 0, 0, 0, 0, "");
+
+ uiDefButBitI(block, TOG, USER_CYCLE_SELMODE, B_DRAWINFO, "Cycle Selection Mode",
+ (xpos+edgsp+(3*mpref)+(4*midsp)),y1,mpref,buth,
+ &(U.uiflag), 0, 0, 0, 0,
+ "Cycle through selection modes by using ctrl-tab and ctrl-shift-tab");
+
uiBlockBeginAlign(block);
uiBlockSetCol(block, TH_BUT_SETTING1); /* mutually exclusive toggles, start color */
uiDefButBitI(block, TOGN, USER_VIEWMOVE, B_DRAWINFO, "Rotate View",
Index: source/blender/src/toets.c
===================================================================
RCS file: /cvsroot/bf-blender/blender/source/blender/src/toets.c,v
retrieving revision 1.82
diff -u -p -r1.82 toets.c
--- source/blender/src/toets.c 20 Jul 2006 10:36:55 -0000 1.82
+++ source/blender/src/toets.c 28 Aug 2006 08:57:25 -0000
@@ -664,8 +664,21 @@ int blenderqread(unsigned short event, s
else enter_posemode();
}
else if(ob->type==OB_MESH) {
- if(ob==G.obedit) EM_selectmode_menu();
+ if(ob==G.obedit) {
+ if (U.uiflag & USER_CYCLE_SELMODE) EM_selectmode_cycle(1);
+ else EM_selectmode_menu();
+ }
else set_wpaint();
+ }
+ }
+ }
+ else if(G.qual == (LR_SHIFTKEY | LR_CTRLKEY)) {
+ Object *ob= OBACT;
+ if(ob) {
+ if(ob->type==OB_MESH) {
+ if(ob==G.obedit) {
+ if (U.uiflag & USER_CYCLE_SELMODE) EM_selectmode_cycle(0);
+ }
}
}
}

File Metadata

Mime Type
text/x-diff
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
30/43/fbd55c7b2a7735b0b4cab0fbf10e

Event Timeline