[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53768] trunk/blender/source/blender/ editors/transform/transform.c: transform feature - G-key during transform toggles slide ( edge slide or vertex slide), similar to how trackbacll rotate toggles.
Campbell Barton
ideasman42 at gmail.com
Sun Jan 13 15:22:38 CET 2013
Revision: 53768
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53768
Author: campbellbarton
Date: 2013-01-13 14:22:37 +0000 (Sun, 13 Jan 2013)
Log Message:
-----------
transform feature - G-key during transform toggles slide (edge slide or vertex slide), similar to how trackbacll rotate toggles.
Modified Paths:
--------------
trunk/blender/source/blender/editors/transform/transform.c
Modified: trunk/blender/source/blender/editors/transform/transform.c
===================================================================
--- trunk/blender/source/blender/editors/transform/transform.c 2013-01-13 14:08:53 UTC (rev 53767)
+++ trunk/blender/source/blender/editors/transform/transform.c 2013-01-13 14:22:37 UTC (rev 53768)
@@ -880,20 +880,46 @@
break;
case TFM_MODAL_TRANSLATE:
/* only switch when... */
- if (ELEM3(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL) ) {
+ if (ELEM5(t->mode, TFM_ROTATION, TFM_RESIZE, TFM_TRACKBALL, TFM_EDGE_SLIDE, TFM_VERT_SLIDE)) {
+ if (t->mode == TFM_EDGE_SLIDE) {
+ freeEdgeSlideVerts(t);
+ }
+ else if (t->mode == TFM_VERT_SLIDE) {
+ freeVertSlideVerts(t);
+ }
resetTransRestrictions(t);
restoreTransObjects(t);
initTranslation(t);
initSnapping(t, NULL); // need to reinit after mode change
t->redraw |= TREDRAW_HARD;
+ WM_event_add_mousemove(t->context);
}
- else if (t->mode == TFM_TRANSLATION) {
- if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
- restoreTransObjects(t);
+ else {
+ if (t->obedit && t->obedit->type == OB_MESH) {
+ if (t->mode == TFM_TRANSLATION) {
+ resetTransRestrictions(t);
+ restoreTransObjects(t);
- t->flag ^= T_ALT_TRANSFORM;
- t->redraw |= TREDRAW_HARD;
+ /* first try edge slide */
+ initEdgeSlide(t);
+ /* if that fails, do vertex slide */
+ if (t->state == TRANS_CANCEL) {
+ t->state = TRANS_STARTING;
+ initVertSlide(t);
+ }
+ initSnapping(t, NULL); // need to reinit after mode change
+ t->redraw |= TREDRAW_HARD;
+ WM_event_add_mousemove(t->context);
+ }
}
+ else if (t->options & (CTX_MOVIECLIP | CTX_MASK)) {
+ if (t->mode == TFM_TRANSLATION) {
+ restoreTransObjects(t);
+
+ t->flag ^= T_ALT_TRANSFORM;
+ t->redraw |= TREDRAW_HARD;
+ }
+ }
}
break;
case TFM_MODAL_ROTATE:
@@ -6184,7 +6210,6 @@
else {
madd_v3_v3v3fl(sv->v->co, sv->co_orig_3d, dir, tperc);
}
- printf("%.6f\n", tperc);
}
else {
copy_v3_v3(sv->v->co, sv->co_orig_3d);
More information about the Bf-blender-cvs
mailing list