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 */


_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to