[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48874] branches/soc-2012-bratwurst/source /blender/editors/transform/transform_manipulator.c: Another experiment with arranging the two-dimension scale/ translate manipulators such that they don' t overlap and their function is a bit more obvious.
Jorge Rodriguez
bs.vino at gmail.com
Thu Jul 12 21:29:38 CEST 2012
Revision: 48874
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48874
Author: vino
Date: 2012-07-12 19:29:38 +0000 (Thu, 12 Jul 2012)
Log Message:
-----------
Another experiment with arranging the two-dimension scale/translate manipulators such that they don't overlap and their function is a bit more obvious. It's a bit more cluttered than before though.
Modified Paths:
--------------
branches/soc-2012-bratwurst/source/blender/editors/transform/transform_manipulator.c
Modified: branches/soc-2012-bratwurst/source/blender/editors/transform/transform_manipulator.c
===================================================================
--- branches/soc-2012-bratwurst/source/blender/editors/transform/transform_manipulator.c 2012-07-12 19:19:03 UTC (rev 48873)
+++ branches/soc-2012-bratwurst/source/blender/editors/transform/transform_manipulator.c 2012-07-12 19:29:38 UTC (rev 48874)
@@ -1238,48 +1238,56 @@
draw_manipulator_axes(v3d, rv3d, colcode, drawflags & MAN_SCALE_X, drawflags & MAN_SCALE_Y, drawflags & MAN_SCALE_Z);
/* Z cube */
- glTranslatef(0.0, 0.0, dz);
if (drawflags & MAN_SCALE_Z) {
- if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_Z);
- manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_SCALE_Z);
- drawsolidcube(cusize);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, dz);
+ if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_Z);
+ manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_SCALE_Z);
+ drawsolidcube(cusize);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(0.0, 0.0, -dz*0.3f);
- if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_XZ);
- manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_SCALE_XZ);
- glScalef(1.5, 0.3, 1.5);
- drawsolidcube(cywid);
+ glTranslatef(dz*0.35f, 0.0, dz*0.35f);
+ if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_XZ);
+ manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_SCALE_XZ);
+ glScalef(1.5, 0.3, 1.5);
+ drawsolidcube(cywid);
glPopMatrix();
}
+
/* X cube */
- glTranslatef(dz, 0.0, -dz);
if (drawflags & MAN_SCALE_X) {
- if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_X);
- manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_SCALE_X);
- drawsolidcube(cusize);
+ glPushMatrix();
+ glTranslatef(dz, 0.0, 0.0);
+ if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_X);
+ manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_SCALE_X);
+ drawsolidcube(cusize);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(-dz*0.3f, 0.0, 0.0);
- if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_XY);
- manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_SCALE_XY);
- glScalef(1.5, 1.5, 0.3);
- drawsolidcube(cywid);
+ glTranslatef(dz*0.35f, dz*0.35f, 0.0);
+ if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_XY);
+ manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_SCALE_XY);
+ glScalef(1.5, 1.5, 0.3);
+ drawsolidcube(cywid);
glPopMatrix();
}
+
/* Y cube */
- glTranslatef(-dz, dz, 0.0);
if (drawflags & MAN_SCALE_Y) {
- if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_Y);
- manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_SCALE_Y);
- drawsolidcube(cusize);
+ glPushMatrix();
+ glTranslatef(0.0, dz, 0.0);
+ if (G.f & G_PICKSEL) glLoadName(MAN_SCALE_Y);
+ manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_SCALE_Y);
+ drawsolidcube(cusize);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(0.0, -dz*0.3f, 0.0);
- if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_YZ);
- manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_SCALE_YZ);
- glScalef(0.3, 1.5, 1.5);
- drawsolidcube(cywid);
+ glTranslatef(0.0, dz*0.35f, dz*0.35f);
+ if(G.f & G_PICKSEL) glLoadName(MAN_SCALE_YZ);
+ manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_SCALE_YZ);
+ glScalef(0.3, 1.5, 1.5);
+ drawsolidcube(cywid);
glPopMatrix();
}
@@ -1374,52 +1382,61 @@
else dz = 1.0f;
/* Z Cone */
- glTranslatef(0.0, 0.0, dz);
if (drawflags & MAN_TRANS_Z) {
- if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_Z);
- manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_TRANS_Z);
- draw_cone(qobj, cylen, cywid);
+ glPushMatrix();
+ glTranslatef(0.0, 0.0, dz);
+ if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_Z);
+ manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_TRANS_Z);
+ draw_cone(qobj, cylen, cywid);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(0.0, 0.0, -dz*0.3f);
- if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_XZ);
- manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_TRANS_XZ);
- glScalef(1.5, 0.3, 1.5);
- drawsolidcube(cywid);
+ glTranslatef(dz*0.45f, 0.0, dz*0.45f);
+ if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_XZ);
+ manipulator_setcolor(v3d, 'Z', colcode, axisBlendAngle(rv3d->twangle[2]), MAN_TRANS_XZ);
+ glScalef(1.3, 0.3, 1.3);
+ glRotatef(45.0f, 0.0, 1.0, 0.0);
+ draw_cone(qobj, cylen, cywid);
glPopMatrix();
}
+
/* X Cone */
- glTranslatef(dz, 0.0, -dz);
if (drawflags & MAN_TRANS_X) {
- if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_X);
- glRotatef(90.0, 0.0, 1.0, 0.0);
- manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_TRANS_X);
- draw_cone(qobj, cylen, cywid);
- glRotatef(-90.0, 0.0, 1.0, 0.0);
+ glPushMatrix();
+ glTranslatef(dz, 0.0, 0.0);
+ if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_X);
+ glRotatef(90.0, 0.0, 1.0, 0.0);
+ manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_TRANS_X);
+ draw_cone(qobj, cylen, cywid);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(-dz*0.3f, 0.0, 0.0);
- if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_XY);
- manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_TRANS_XY);
- glScalef(1.5, 1.5, 0.3);
- drawsolidcube(cywid);
+ glTranslatef(dz*0.45f, dz*0.45f, 0.0);
+ if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_XY);
+ manipulator_setcolor(v3d, 'X', colcode, axisBlendAngle(rv3d->twangle[0]), MAN_TRANS_XY);
+ glScalef(1.3, 1.3, 0.3);
+ glRotatef(90.0, -0.707, 0.707, 0.0);
+ draw_cone(qobj, cylen, cywid);
glPopMatrix();
}
+
/* Y Cone */
- glTranslatef(-dz, dz, 0.0);
if (drawflags & MAN_TRANS_Y) {
- if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_Y);
- glRotatef(-90.0, 1.0, 0.0, 0.0);
- manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_TRANS_Y);
- draw_cone(qobj, cylen, cywid);
- glRotatef(90.0, 1.0, 0.0, 0.0);
+ glPushMatrix();
+ glTranslatef(0.0, dz, 0.0);
+ if (G.f & G_PICKSEL) glLoadName(MAN_TRANS_Y);
+ glRotatef(-90.0, 1.0, 0.0, 0.0);
+ manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_TRANS_Y);
+ draw_cone(qobj, cylen, cywid);
+ glPopMatrix();
glPushMatrix();
- glTranslatef(0.0, -dz*0.3f, 0.0);
- if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_YZ);
- manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_TRANS_YZ);
- glScalef(0.3, 1.5, 1.5);
- drawsolidcube(cywid);
+ glTranslatef(0.0, dz*0.45f, dz*0.45f);
+ if(G.f & G_PICKSEL) glLoadName(MAN_TRANS_YZ);
+ manipulator_setcolor(v3d, 'Y', colcode, axisBlendAngle(rv3d->twangle[1]), MAN_TRANS_YZ);
+ glScalef(0.3, 1.3, 1.3);
+ glRotatef(-45.0f, 1.0, 0.0, 0.0);
+ draw_cone(qobj, cylen, cywid);
glPopMatrix();
}
More information about the Bf-blender-cvs
mailing list