[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [21429] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Wed Jul 8 17:01:28 CEST 2009
Revision: 21429
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21429
Author: ton
Date: 2009-07-08 17:01:28 +0200 (Wed, 08 Jul 2009)
Log Message:
-----------
2.5
Brought back the basics for transform manipulators. Martin will
hook it all up to new transform system.
Some notes:
- Still uses G.moving
- BIF_do_manipulator() is called as a View3D Operator
I've tested selecting handles, added a print to confirm
- BIF_GetTransInfo() returns a dummy struct now, just to get
it running.
- Marked some other issues with XXX
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h
branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
branches/blender2.5/blender/source/blender/editors/transform/transform.c
branches/blender2.5/blender/source/blender/editors/transform/transform.h
branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
branches/blender2.5/blender/source/blender/editors/transform/transform_generics.c
branches/blender2.5/blender/source/blender/editors/transform/transform_manipulator.c
branches/blender2.5/blender/source/blender/editors/transform/transform_orientations.c
branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
Modified: branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/include/BIF_transform.h 2009-07-08 15:01:28 UTC (rev 21429)
@@ -128,8 +128,8 @@
void initManipulator(int mode);
void ManipulatorTransform();
-//int BIF_do_manipulator(struct ScrArea *sa);
-//void BIF_draw_manipulator(struct ScrArea *sa);
+int BIF_do_manipulator(struct bContext *C, short mval[2]);
+void BIF_draw_manipulator(const struct bContext *C);
/* Snapping */
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/drawobject.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -565,58 +565,6 @@
BLI_freelistN(&strings);
}
-void drawsolidcube(float size)
-{
- float n[3];
-
- glPushMatrix();
- glScalef(size, size, size);
-
- n[0]=0; n[1]=0; n[2]=0;
- glBegin(GL_QUADS);
- n[0]= -1.0;
- glNormal3fv(n);
- glVertex3fv(cube[0]); glVertex3fv(cube[1]); glVertex3fv(cube[2]); glVertex3fv(cube[3]);
- n[0]=0;
- glEnd();
-
- glBegin(GL_QUADS);
- n[1]= -1.0;
- glNormal3fv(n);
- glVertex3fv(cube[0]); glVertex3fv(cube[4]); glVertex3fv(cube[5]); glVertex3fv(cube[1]);
- n[1]=0;
- glEnd();
-
- glBegin(GL_QUADS);
- n[0]= 1.0;
- glNormal3fv(n);
- glVertex3fv(cube[4]); glVertex3fv(cube[7]); glVertex3fv(cube[6]); glVertex3fv(cube[5]);
- n[0]=0;
- glEnd();
-
- glBegin(GL_QUADS);
- n[1]= 1.0;
- glNormal3fv(n);
- glVertex3fv(cube[7]); glVertex3fv(cube[3]); glVertex3fv(cube[2]); glVertex3fv(cube[6]);
- n[1]=0;
- glEnd();
-
- glBegin(GL_QUADS);
- n[2]= 1.0;
- glNormal3fv(n);
- glVertex3fv(cube[1]); glVertex3fv(cube[5]); glVertex3fv(cube[6]); glVertex3fv(cube[2]);
- n[2]=0;
- glEnd();
-
- glBegin(GL_QUADS);
- n[2]= -1.0;
- glNormal3fv(n);
- glVertex3fv(cube[7]); glVertex3fv(cube[4]); glVertex3fv(cube[0]); glVertex3fv(cube[3]);
- glEnd();
-
- glPopMatrix();
-}
-
static void drawcube(void)
{
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -70,6 +70,7 @@
#include "BIF_gl.h"
#include "BIF_glutil.h"
+#include "BIF_transform.h"
#include "WM_api.h"
#include "BLF_api.h"
@@ -2019,7 +2020,7 @@
if(rv3d->rflag & RV3D_CLIPPING)
view3d_clr_clipping();
-// BIF_draw_manipulator(ar);
+ BIF_draw_manipulator(C);
if(v3d->zbuf) {
v3d->zbuf= FALSE;
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -63,6 +63,7 @@
#include "BIF_gl.h"
#include "BIF_retopo.h"
+#include "BIF_transform.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -1858,7 +1859,44 @@
}
+/* ***************** manipulator op ******************* */
+
+static int manipulator_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ View3D *v3d = CTX_wm_view3d(C);
+
+ if(!(v3d->twflag & V3D_USE_MANIPULATOR)) return OPERATOR_PASS_THROUGH;
+ if(!(v3d->twflag & V3D_DRAW_MANIPULATOR)) return OPERATOR_PASS_THROUGH;
+
+ /* note; otherwise opengl won't work */
+ view3d_operator_needs_opengl(C);
+
+ if(0==BIF_do_manipulator(C, event->mval))
+ return OPERATOR_PASS_THROUGH;
+
+ return OPERATOR_FINISHED;
+}
+
+void VIEW3D_OT_manipulator(wmOperatorType *ot)
+{
+
+ /* identifiers */
+ ot->name= "3D Manipulator";
+ ot->description = "";
+ ot->idname= "VIEW3D_OT_manipulator";
+
+ /* api callbacks */
+ ot->invoke= manipulator_invoke;
+
+ ot->poll= ED_operator_view3d_active;
+
+ /* rna later */
+
+}
+
+
+
/* ************************* below the line! *********************** */
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -4978,16 +4978,22 @@
break;
case B_MAN_TRANS:
- if( shift==0 || v3d->twtype==0)
+ if( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_TRANSLATE;
+ ED_area_tag_redraw(sa);
+ }
break;
case B_MAN_ROT:
- if( shift==0 || v3d->twtype==0)
+ if( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_ROTATE;
+ ED_area_tag_redraw(sa);
+ }
break;
case B_MAN_SCALE:
- if( shift==0 || v3d->twtype==0)
+ if( shift==0 || v3d->twtype==0) {
v3d->twtype= V3D_MANIP_SCALE;
+ ED_area_tag_redraw(sa);
+ }
break;
case B_NDOF:
break;
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h 2009-07-08 15:01:28 UTC (rev 21429)
@@ -76,6 +76,7 @@
void VIEW3D_OT_view_orbit(struct wmOperatorType *ot);
void VIEW3D_OT_clipping(struct wmOperatorType *ot);
void VIEW3D_OT_cursor3d(struct wmOperatorType *ot);
+void VIEW3D_OT_manipulator(struct wmOperatorType *ot);
void VIEW3D_OT_render_border(struct wmOperatorType *ot);
void VIEW3D_OT_zoom_border(struct wmOperatorType *ot);
void VIEW3D_OT_drawtype(struct wmOperatorType *ot);
Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -79,6 +79,7 @@
WM_operatortype_append(VIEW3D_OT_smoothview);
WM_operatortype_append(VIEW3D_OT_render_border);
WM_operatortype_append(VIEW3D_OT_zoom_border);
+ WM_operatortype_append(VIEW3D_OT_manipulator);
WM_operatortype_append(VIEW3D_OT_cursor3d);
WM_operatortype_append(VIEW3D_OT_select_lasso);
WM_operatortype_append(VIEW3D_OT_setcameratoview);
@@ -136,6 +137,7 @@
km = WM_keymap_add_item(keymap, "SKETCH_OT_draw_preview", MOUSEMOVE, KM_ANY, KM_CTRL, 0);
RNA_boolean_set(km->ptr, "snap", 1);
+ WM_keymap_verify_item(keymap, "VIEW3D_OT_manipulator", ACTIONMOUSE, KM_PRESS, 0, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_cursor3d", ACTIONMOUSE, KM_PRESS, 0, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_viewrotate", MIDDLEMOUSE, KM_PRESS, 0, 0);
Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -454,6 +454,7 @@
#endif
}
+#if 0
static char *transform_to_undostr(TransInfo *t)
{
switch (t->mode) {
@@ -500,6 +501,7 @@
}
return "Transform";
}
+#endif
/* ************************************************* */
@@ -1460,6 +1462,8 @@
void initManipulator(int mode)
{
+ printf("init manipulator mode %d\n", mode);
+
#if 0 // TRANSFORM_FIX_ME
Trans.state = TRANS_RUNNING;
Modified: branches/blender2.5/blender/source/blender/editors/transform/transform.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform.h 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform.h 2009-07-08 15:01:28 UTC (rev 21429)
@@ -481,8 +481,7 @@
void flushTransSeq(TransInfo *t);
/*********************** exported from transform_manipulator.c ********** */
-void draw_manipulator_ext(struct ScrArea *sa, int type, char axis, int col, float vec[3], float mat[][3]);
-int calc_manipulator_stats(struct ScrArea *sa);
+int calc_manipulator_stats(const struct bContext *C);
float get_drawsize(struct ARegion *ar, float *co);
/*********************** TransData Creation and General Handling *********** */
@@ -631,7 +630,7 @@
int addMatrixSpace(struct bContext *C, float mat[3][3], char name[]);
int addObjectSpace(struct bContext *C, struct Object *ob);
-void applyTransformOrientation(struct bContext *C, TransInfo *t);
+void applyTransformOrientation(const struct bContext *C, TransInfo *t);
#define ORIENTATION_NONE 0
@@ -640,7 +639,7 @@
#define ORIENTATION_EDGE 3
#define ORIENTATION_FACE 4
-int getTransformOrientation(struct bContext *C, float normal[3], float plane[3], int activeOnly);
+int getTransformOrientation(const struct bContext *C, float normal[3], float plane[3], int activeOnly);
int createSpaceNormal(float mat[3][3], float normal[3]);
int createSpaceNormalTangent(float mat[3][3], float normal[3], float tangent[3]);
Modified: branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c 2009-07-08 14:32:03 UTC (rev 21428)
+++ branches/blender2.5/blender/source/blender/editors/transform/transform_conversions.c 2009-07-08 15:01:28 UTC (rev 21429)
@@ -2566,6 +2566,7 @@
* It also makes sure gp-frames are still stored in chronological order after
* transform.
*/
+#if 0
static void posttrans_gpd_clean (bGPdata *gpd)
{
bGPDlayer *gpl;
@@ -2650,6 +2651,7 @@
}
}
}
+#endif
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list