Cleanup: Use enum to indicate the current orientation

Improves readability.
This commit is contained in:
Germano Cavalcante 2021-05-11 22:40:56 -03:00
parent 4bb2a5b5cb
commit 47f4f3c932
3 changed files with 12 additions and 8 deletions

View File

@ -782,7 +782,7 @@ static bool transform_event_modal_constraint(TransInfo *t, short modal_type)
}
else {
short orient_index = 1;
if (t->orient_curr == 0 || ELEM(constraint_curr, -1, constraint_new)) {
if (t->orient_curr == O_DEFAULT || ELEM(constraint_curr, -1, constraint_new)) {
/* Successive presses on existing axis, cycle orientation modes. */
orient_index = (short)((t->orient_curr + 1) % (int)ARRAY_SIZE(t->orient));
}
@ -1426,7 +1426,7 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
mat3_to_size(t->values_final, tmat);
}
BLI_assert(t->orient_curr == 0);
BLI_assert(t->orient_curr == O_DEFAULT);
unit_m3(t->spacemtx);
t->orient[0].type = V3D_ORIENT_GLOBAL;
}

View File

@ -602,7 +602,12 @@ typedef struct TransInfo {
short type;
float matrix[3][3];
} orient[3];
short orient_curr;
enum {
O_DEFAULT = 0,
O_SCENE,
O_SET,
} orient_curr;
/** backup from view3d, to restore on end. */
short gizmo_flag;

View File

@ -953,9 +953,8 @@ void startConstraint(TransInfo *t)
void stopConstraint(TransInfo *t)
{
if (t->orient_curr != 0) {
t->orient_curr = 0;
transform_orientations_current_set(t, t->orient_curr);
if (t->orient_curr != O_DEFAULT) {
transform_orientations_current_set(t, O_DEFAULT);
}
t->con.mode &= ~(CON_APPLY | CON_SELECT);
@ -971,8 +970,8 @@ void stopConstraint(TransInfo *t)
void initSelectConstraint(TransInfo *t)
{
if (t->orient_curr == 0) {
transform_orientations_current_set(t, 1);
if (t->orient_curr == O_DEFAULT) {
transform_orientations_current_set(t, O_SCENE);
}
setUserConstraint(t, CON_APPLY | CON_SELECT, "%s");