[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