diff options
author | Gaia Clary <gaia.clary@machinimatrix.org> | 2013-07-12 16:58:01 +0400 |
---|---|---|
committer | Gaia Clary <gaia.clary@machinimatrix.org> | 2013-07-12 16:58:01 +0400 |
commit | 24c77647d2a388f294fb56bd5772c2c0e17dd392 (patch) | |
tree | adef3b66cfc6988864a3a54fc44b9875bcb1041c /source/blender/blenkernel/intern/object.c | |
parent | 1d205f4446316377f87b1862a5be39470b6b03b0 (diff) |
Moved code for calculating local_matrix to BKE funtion for reuse
Diffstat (limited to 'source/blender/blenkernel/intern/object.c')
-rw-r--r-- | source/blender/blenkernel/intern/object.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c index 957bd84cd90..e79a759407b 100644 --- a/source/blender/blenkernel/intern/object.c +++ b/source/blender/blenkernel/intern/object.c @@ -1736,6 +1736,18 @@ void BKE_object_to_mat4(Object *ob, float mat[4][4]) add_v3_v3v3(mat[3], ob->loc, ob->dloc); } +void BKE_object_matrix_local_get(struct Object *ob, float mat[4][4]) +{ + if (ob->parent) { + float invmat[4][4]; /* for inverse of parent's matrix */ + invert_m4_m4(invmat, ob->parent->obmat); + mul_m4_m4m4(mat, invmat, ob->obmat); + } + else { + copy_m4_m4(mat, ob->obmat); + } +} + /* extern */ int enable_cu_speed = 1; |