Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Luc Peurière <jlp@nerim.net>2008-03-13 18:40:24 +0300
committerJean-Luc Peurière <jlp@nerim.net>2008-03-13 18:40:24 +0300
commit526d0bec4722900a86d81ff0f5d71504b2b4ad8c (patch)
tree726fc6e9434695b358d3b9e15eb51526fffe6d67 /source/blender/src/header_view3d.c
parent09bb791249da886521759ead88b9b36673f6968f (diff)
final (??) work on NDOF branch
it is now in a state where it can be safely merged with trunk. Note: basic icons were provided but I'm not an icondesigner and working in a 16x15 grid is way too small for me, so feel free to change them.
Diffstat (limited to 'source/blender/src/header_view3d.c')
-rw-r--r--source/blender/src/header_view3d.c81
1 files changed, 58 insertions, 23 deletions
diff --git a/source/blender/src/header_view3d.c b/source/blender/src/header_view3d.c
index 5688b514a95..b5c784aa18a 100644
--- a/source/blender/src/header_view3d.c
+++ b/source/blender/src/header_view3d.c
@@ -4631,6 +4631,19 @@ static char *around_pup(void)
return string;
}
+static char *ndof_pup(void)
+{
+ static char string[512];
+ char *str = string;
+
+ str += sprintf(str, "%s", "ndof mode: %t");
+ str += sprintf(str, "%s", "|turntable %x0");
+ str += sprintf(str, "%s", "|fly %x1");
+ str += sprintf(str, "%s", "|transform %x2");
+ return string;
+}
+
+
static char *propfalloff_pup(void)
{
static char string[512];
@@ -4879,7 +4892,10 @@ void do_view3d_buttons(short event)
G.vd->twtype= V3D_MANIP_SCALE;
allqueue(REDRAWVIEW3D, 1);
break;
-
+ case B_NDOF:
+ allqueue(REDRAWVIEW3D, 1);
+ break;
+
default:
if(event>=B_LAY && event<B_LAY+31) {
@@ -5158,10 +5174,49 @@ void view3d_buttons(void)
uiDefIconButBitS(block, TOG, V3D_ALIGN, B_AROUND, ICON_ALIGN,
xco,0,XIC,YIC,
&G.vd->flag, 0, 0, 0, 0, "Move object centers only");
- uiBlockEndAlign(block);
xco+= XIC+8;
+ uiBlockEndAlign(block);
+
+ uiBlockBeginAlign(block);
+ /* NDOF */
+ if (G.ndofdevice ==0 ) {
+ uiDefIconTextButC(block, ICONTEXTROW,B_NDOF, ICON_NDOF_TURN, ndof_pup(), xco,0,XIC+10,YIC, &(G.vd->ndofmode), 0, 3.0, 0, 0, "Ndof mode");
+
+ xco+= XIC+10;
+
+ uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM,
+ xco,0,XIC,YIC,
+ &G.vd->ndoffilter, 0, 1, 0, 0, "dominant axis");
+ uiBlockEndAlign(block);
+
+ xco+= XIC+8;
+ }
+ uiBlockEndAlign(block);
+
+ /*{
+ char tempstring[256];
+ switch (G.vd->ndofmode) {
+ case 0:
+ sprintf(tempstring,"6dof : %s %s", "turntable",((G.vd->ndoffilter==1) ? "dominant" : ""));
+ break;
+ case 1:
+ sprintf(tempstring,"6dof : %s %s", "fly",((G.vd->ndoffilter==1) ? "dominant" : ""));
+ break;
+ case 2:
+ sprintf(tempstring,"6dof : %s %s", "transform",((G.vd->ndoffilter==1) ? "dominant" : ""));
+ break;
+ default:
+ tempstring[0]=0;
+ break;
+ }
+ uiDefBut(block, LABEL,0,tempstring,
+ xco+=XIC*2,0,150,YIC, 0, 1.0, 0, 0, 0,
+ "");
+
+ }
+*/
/* Transform widget / manipulators */
uiBlockBeginAlign(block);
uiDefIconButBitS(block, TOG, V3D_USE_MANIPULATOR, B_REDR, ICON_MANIPUL,xco,0,XIC,YIC, &G.vd->twflag, 0, 0, 0, 0, "Use 3d transform manipulator (Ctrl Space)");
@@ -5259,27 +5314,7 @@ void view3d_buttons(void)
uiDefIconBut(block, BUT, B_VIEWRENDER, ICON_SCENE_DEHLT, xco,0,XIC,YIC, NULL, 0, 1.0, 0, 0, "Render this window (hold CTRL for anim)");
- {
- char tempstring[256];
- switch (G.vd->ndofmode) {
- case 0:
- sprintf(tempstring,"6dof : %s %s", "turntable",((G.vd->ndoffilter==1) ? "dominant" : ""));
- break;
- case 1:
- sprintf(tempstring,"6dof : %s %s", "fly",((G.vd->ndoffilter==1) ? "dominant" : ""));
- break;
- case 2:
- sprintf(tempstring,"6dof : %s %s", "transform",((G.vd->ndoffilter==1) ? "dominant" : ""));
- break;
- default:
- tempstring[0]=0;
- break;
- }
- uiDefBut(block, LABEL,0,tempstring,
- xco+=XIC*2,0,150,YIC, 0, 1.0, 0, 0, 0,
- "");
-
- }
+
if (ob && (ob->flag & OB_POSEMODE)) {
xco+= XIC/2;
uiBlockBeginAlign(block);