diff options
author | Jean-Luc Peurière <jlp@nerim.net> | 2008-03-13 18:40:24 +0300 |
---|---|---|
committer | Jean-Luc Peurière <jlp@nerim.net> | 2008-03-13 18:40:24 +0300 |
commit | 526d0bec4722900a86d81ff0f5d71504b2b4ad8c (patch) | |
tree | 726fc6e9434695b358d3b9e15eb51526fffe6d67 /source/blender/src/header_view3d.c | |
parent | 09bb791249da886521759ead88b9b36673f6968f (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.c | 81 |
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); |