From 7f6bb8d8ccd49b3f14f9799962bfa37d47beef68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Luc=20Peuri=C3=A8re?= Date: Thu, 16 Aug 2007 22:00:29 +0000 Subject: [PATCH] sculpt mode ndof transforms. please test, especially with multires conditions --- intern/ghost/intern/GHOST_SystemCarbon.cpp | 4 +++- source/blender/src/space.c | 26 +++++++++++++++++++++- source/blender/src/transform.c | 8 +------ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/intern/ghost/intern/GHOST_SystemCarbon.cpp b/intern/ghost/intern/GHOST_SystemCarbon.cpp index 756de42f227..7f1a2467d1a 100644 --- a/intern/ghost/intern/GHOST_SystemCarbon.cpp +++ b/intern/ghost/intern/GHOST_SystemCarbon.cpp @@ -486,7 +486,9 @@ bool GHOST_SystemCarbon::processEvents(bool waitForEvent) * are, but we get a lot of them */ if (i!='cgs ') { - printf("Missed - Class: '%.4s', Kind: %d\n", &i, ::GetEventKind(event)); + if (i!='tblt') { // tablet event. we use the one packaged in the mouse event + printf("Missed - Class: '%.4s', Kind: %d\n", &i, ::GetEventKind(event)); + } } } ::ReleaseEvent(event); diff --git a/source/blender/src/space.c b/source/blender/src/space.c index 6250061f94c..31f458085db 100644 --- a/source/blender/src/space.c +++ b/source/blender/src/space.c @@ -1476,6 +1476,31 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) do_layer_buttons(11); break; case ACCENTGRAVEKEY: do_layer_buttons(-1); break; + + case NDOFMOTION: + if (G.vd->ndofmode == 0) { + viewmoveNDOF(1); + } else if (G.vd->ndofmode == 1) { + viewmoveNDOFfly(1); + } else { + if (OBACT) { + ndof_transform(); + } + } + break; + + case NDOFBUTTON: + if (val == 1) { + G.vd->ndofmode +=1; + if (G.vd->ndofmode > 2) /* we have currently 3 modes : 0 original, 1 fly, 2 transform */ + G.vd->ndofmode = 0; + } + if (val == 2) { + G.vd->ndoffilter =(G.vd->ndoffilter == 1 ? 0 : 1); + } + allqueue(REDRAWHEADERS, 0); + break; + } /* Redraw buttons window as well as view 3d (for floating panel) */ @@ -1577,7 +1602,6 @@ static void winqreadview3dspace(ScrArea *sa, void *spacedata, BWinEvent *evt) ndof_transform(); } } - break; case NDOFBUTTON: diff --git a/source/blender/src/transform.c b/source/blender/src/transform.c index d8bd30796f2..e6ee597db29 100755 --- a/source/blender/src/transform.c +++ b/source/blender/src/transform.c @@ -3184,13 +3184,7 @@ void ndof_do_transform(float *fval) special_aftertrans_update(&Trans); } - - - - if (change) { - ; - } - + /* send events out for redraws */ viewRedrawPost(&Trans);