[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15009] branches/apricot/source/blender/ src/transform_snap.c: Fixing snapping normal alignment for non-uniformly scaled objects.
Martin Poirier
theeth at yahoo.com
Tue May 27 16:31:30 CEST 2008
Revision: 15009
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15009
Author: theeth
Date: 2008-05-27 16:31:29 +0200 (Tue, 27 May 2008)
Log Message:
-----------
Fixing snapping normal alignment for non-uniformly scaled objects.
Modified Paths:
--------------
branches/apricot/source/blender/src/transform_snap.c
Modified: branches/apricot/source/blender/src/transform_snap.c
===================================================================
--- branches/apricot/source/blender/src/transform_snap.c 2008-05-27 14:13:16 UTC (rev 15008)
+++ branches/apricot/source/blender/src/transform_snap.c 2008-05-27 14:31:29 UTC (rev 15009)
@@ -892,11 +892,15 @@
if (totvert > 0) {
float imat[4][4];
+ float timat[3][3]; /* transpose inverse matrix for normals */
float ray_start_local[3], ray_normal_local[3];
int test = 1;
Mat4Invert(imat, obmat);
+ Mat3CpyMat4(timat, imat);
+ Mat3Transp(timat);
+
VECCOPY(ray_start_local, ray_start);
VECCOPY(ray_normal_local, ray_normal);
@@ -950,7 +954,8 @@
VECCOPY(loc, location);
VECCOPY(no, normal);
- Mat4Mul3Vecfl(obmat, no);
+ Mat3MulVecfl(timat, no);
+ Normalize(no);
project_int(loc, screen_loc);
@@ -989,7 +994,8 @@
VECCOPY(loc, location);
VECCOPY(no, normal);
- Mat4Mul3Vecfl(obmat, no);
+ Mat3MulVecfl(timat, no);
+ Normalize(no);
project_int(loc, screen_loc);
More information about the Bf-blender-cvs
mailing list