Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_mode_bonesize.c
| Show First 20 Lines • Show All 102 Lines • ▼ Show 20 Lines | static void ElementBoneSize(TransInfo *t, TransDataContainer *tc, TransData *td, float mat[3][3]) | ||||
| size_to_mat3(sizemat, td->iloc); | size_to_mat3(sizemat, td->iloc); | ||||
| mul_m3_m3m3(tmat, tmat, sizemat); | mul_m3_m3m3(tmat, tmat, sizemat); | ||||
| mat3_to_size(td->loc, tmat); | mat3_to_size(td->loc, tmat); | ||||
| td->loc[1] = oldy; | td->loc[1] = oldy; | ||||
| } | } | ||||
| static void applyBoneSize(TransInfo *t, const int UNUSED(mval[2])) | static void applyBoneSize(TransInfo *t, const int UNUSED(mval[2])) | ||||
| { | { | ||||
| float size[3], mat[3][3]; | float mat[3][3]; | ||||
| float ratio = t->values[0]; | |||||
| int i; | int i; | ||||
| char str[UI_MAX_DRAW_STR]; | char str[UI_MAX_DRAW_STR]; | ||||
| copy_v3_fl(size, ratio); | if (t->flag & T_INPUT_IS_VALUES_FINAL) { | ||||
| copy_v3_v3(t->values_final, t->values); | |||||
| } | |||||
| else { | |||||
| float ratio = t->values[0]; | |||||
| snapGridIncrement(t, size); | copy_v3_fl(t->values_final, ratio); | ||||
| if (applyNumInput(&t->num, size)) { | snapGridIncrement(t, t->values_final); | ||||
| constraintNumInput(t, size); | |||||
| } | |||||
| copy_v3_v3(t->values_final, size); | if (applyNumInput(&t->num, t->values_final)) { | ||||
| constraintNumInput(t, t->values_final); | |||||
| } | |||||
| } | |||||
| size_to_mat3(mat, size); | size_to_mat3(mat, t->values_final); | ||||
| if (t->con.applySize) { | if (t->con.applySize) { | ||||
| t->con.applySize(t, NULL, NULL, mat); | t->con.applySize(t, NULL, NULL, mat); | ||||
| } | } | ||||
| copy_m3_m3(t->mat, mat); // used in gizmo | copy_m3_m3(t->mat, mat); // used in gizmo | ||||
| headerBoneSize(t, size, str); | headerBoneSize(t, t->values_final, str); | ||||
| FOREACH_TRANS_DATA_CONTAINER (t, tc) { | FOREACH_TRANS_DATA_CONTAINER (t, tc) { | ||||
| TransData *td = tc->data; | TransData *td = tc->data; | ||||
| for (i = 0; i < tc->data_len; i++, td++) { | for (i = 0; i < tc->data_len; i++, td++) { | ||||
| if (td->flag & TD_NOACTION) { | if (td->flag & TD_NOACTION) { | ||||
| break; | break; | ||||
| } | } | ||||
| Show All 37 Lines | |||||