[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [25880] trunk/blender/source/blender/ editors/space_view3d: [#20522] alt+b in object mode has an offset depending on the selected object' s origin
Martin Poirier
theeth at yahoo.com
Sun Jan 10 21:31:23 CET 2010
Revision: 25880
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=25880
Author: theeth
Date: 2010-01-10 21:31:23 +0100 (Sun, 10 Jan 2010)
Log Message:
-----------
[#20522] alt+b in object mode has an offset depending on the selected object's origin
View clipping doesn't need object matrix in view transformation (permit NULL object pointer to get global transformation).
Modified Paths:
--------------
trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
trunk/blender/source/blender/editors/space_view3d/view3d_select.c
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_edit.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2010-01-10 20:23:59 UTC (rev 25879)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_edit.c 2010-01-10 20:31:23 UTC (rev 25880)
@@ -2075,7 +2075,7 @@
view3d_operator_needs_opengl(C);
view3d_set_viewcontext(C, &vc);
- view3d_get_transformation(vc.ar, vc.rv3d, vc.obact, &mats);
+ view3d_get_transformation(vc.ar, vc.rv3d, NULL, &mats); /* NULL because we don't want it in object space */
view3d_calculate_clipping(rv3d->clipbb, rv3d->clip, &mats, &rect);
return OPERATOR_FINISHED;
Modified: trunk/blender/source/blender/editors/space_view3d/view3d_select.c
===================================================================
--- trunk/blender/source/blender/editors/space_view3d/view3d_select.c 2010-01-10 20:23:59 UTC (rev 25879)
+++ trunk/blender/source/blender/editors/space_view3d/view3d_select.c 2010-01-10 20:31:23 UTC (rev 25880)
@@ -124,12 +124,19 @@
}
}
+/*
+ * ob == NULL if you want global matrices
+ * */
void view3d_get_transformation(ARegion *ar, RegionView3D *rv3d, Object *ob, bglMats *mats)
{
float cpy[4][4];
int i, j;
- mul_m4_m4m4(cpy, ob->obmat, rv3d->viewmat);
+ if (ob) {
+ mul_m4_m4m4(cpy, ob->obmat, rv3d->viewmat);
+ } else {
+ copy_m4_m4(cpy, rv3d->viewmat);
+ }
for(i = 0; i < 4; ++i) {
for(j = 0; j < 4; ++j) {
More information about the Bf-blender-cvs
mailing list