[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18353] branches/blender2.5/blender/source /blender/editors/space_view3d: 2.5

Michael Fox mfoxdogg at gmail.com
Tue Jan 6 01:19:48 CET 2009


Revision: 18353
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18353
Author:   mfoxdogg
Date:     2009-01-06 01:19:47 +0100 (Tue, 06 Jan 2009)

Log Message:
-----------
  2.5
******
small commit, ported cameratoview3d, please check i have the correct naming and notifier

Modified Paths:
--------------
    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/space_view3d/view3d_view.c

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-01-05 23:53:37 UTC (rev 18352)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h	2009-01-06 00:19:47 UTC (rev 18353)
@@ -116,6 +116,7 @@
 
 /* view3d_view.c */
 void VIEW3D_OT_smoothview(struct wmOperatorType *ot);
+void VIEW3D_OT_setcameratoview(struct wmOperatorType *ot);
 
 void view3d_operator_needs_opengl(const struct bContext *C);
 

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-01-05 23:53:37 UTC (rev 18352)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c	2009-01-06 00:19:47 UTC (rev 18353)
@@ -77,6 +77,7 @@
 	WM_operatortype_append(VIEW3D_OT_render_border);
 	WM_operatortype_append(VIEW3D_OT_cursor3d);
 	WM_operatortype_append(VIEW3D_OT_lasso_select);
+	WM_operatortype_append(VIEW3D_OT_setcameratoview);
 	
 	transform_operatortypes();
 }
@@ -130,6 +131,8 @@
 	
 	WM_keymap_add_item(keymap, "VIEW3D_OT_clipping", BKEY, KM_PRESS, KM_ALT, 0);
 	WM_keymap_add_item(keymap, "VIEW3D_OT_render_border", BKEY, KM_PRESS, KM_SHIFT, 0);
+	
+	WM_keymap_add_item(keymap, "VIEW3D_OT_set_camera_to_view", PAD0, KM_PRESS, KM_ALT|KM_CTRL, 0);
 
 	/* TODO - this is just while we have no way to load a text datablock */
 	RNA_string_set(WM_keymap_add_item(keymap, "SCRIPT_OT_run_pyfile", PKEY, KM_PRESS, 0, 0)->ptr, "filename", "test.py");

Modified: branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c	2009-01-05 23:53:37 UTC (rev 18352)
+++ branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c	2009-01-06 00:19:47 UTC (rev 18353)
@@ -380,7 +380,47 @@
 	
 	ot->poll= ED_operator_view3d_active;
 }
+static int view3d_setcameratoview_exec(bContext *C, wmOperator *op)
+{
+	ScrArea *sa= CTX_wm_area(C);
+	View3D *v3d= sa->spacedata.first;
+	Object *ob;
+	float dvec[3];
+	
+	ob= v3d->camera;
+	dvec[0]= v3d->dist*v3d->viewinv[2][0];
+	dvec[1]= v3d->dist*v3d->viewinv[2][1];
+	dvec[2]= v3d->dist*v3d->viewinv[2][2];					
+	VECCOPY(ob->loc, dvec);
+	VecSubf(ob->loc, ob->loc, v3d->ofs);
+	v3d->viewquat[0]= -v3d->viewquat[0];
+	/*  */
+	/*if (ob->transflag & OB_QUAT) {
+		QUATCOPY(ob->quat, v3d->viewquat);
+	} else {*/
+	QuatToEul(v3d->viewquat, ob->rot);
+	/*}*/
+	v3d->viewquat[0]= -v3d->viewquat[0];
+	
+	ob->recalc= OB_RECALC_OB;
+	
+	WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, CTX_data_scene(C));
+	
+	return OPERATOR_FINISHED;
 
+}
+void VIEW3D_OT_setcameratoview(wmOperatorType *ot)
+{
+	
+	/* identifiers */
+	ot->name= "Align Camera To View";
+	ot->idname= "VIEW3D_OT_set_camera_to_view";
+	
+	/* api callbacks */
+	ot->exec= view3d_setcameratoview_exec;	
+	ot->poll= ED_operator_view3d_active;
+}
+
 /* ********************************** */
 
 /* create intersection coordinates in view Z direction at mouse coordinates */





More information about the Bf-blender-cvs mailing list