Changeset View
Changeset View
Standalone View
Standalone View
source/blender/makesrna/intern/rna_object.c
| Show First 20 Lines • Show All 397 Lines • ▼ Show 20 Lines | if (ob->parent) { | ||||
| float invmat[4][4]; | float invmat[4][4]; | ||||
| invert_m4_m4(invmat, ob->parentinv); | invert_m4_m4(invmat, ob->parentinv); | ||||
| mul_m4_m4m4(local_mat, invmat, (float(*)[4])values); | mul_m4_m4m4(local_mat, invmat, (float(*)[4])values); | ||||
| } | } | ||||
| else { | else { | ||||
| copy_m4_m4(local_mat, (float(*)[4])values); | copy_m4_m4(local_mat, (float(*)[4])values); | ||||
| } | } | ||||
| /* Don't use compat so we get predictable rotation, and do not use parenting either, | /* Don't use compatible so we get predictable rotation, and do not use parenting either, | ||||
| * because it's a local matrix! */ | * because it's a local matrix! */ | ||||
| BKE_object_apply_mat4(ob, local_mat, false, false); | BKE_object_apply_mat4(ob, local_mat, false, false); | ||||
| } | } | ||||
| static void rna_Object_matrix_basis_get(PointerRNA *ptr, float values[16]) | static void rna_Object_matrix_basis_get(PointerRNA *ptr, float values[16]) | ||||
| { | { | ||||
| Object *ob = (Object *)ptr->owner_id; | Object *ob = (Object *)ptr->owner_id; | ||||
| BKE_object_to_mat4(ob, (float(*)[4])values); | BKE_object_to_mat4(ob, (float(*)[4])values); | ||||
| ▲ Show 20 Lines • Show All 2,947 Lines • Show Last 20 Lines | |||||