Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/transform/transform_constraints.c
| Show First 20 Lines • Show All 396 Lines • ▼ Show 20 Lines | static void applyAxisConstraintVec(const TransInfo *t, | ||||
| copy_v3_v3(out, in); | copy_v3_v3(out, in); | ||||
| if (!td && t->con.mode & CON_APPLY) { | if (!td && t->con.mode & CON_APPLY) { | ||||
| bool is_snap_to_point = false, is_snap_to_edge = false, is_snap_to_face = false; | bool is_snap_to_point = false, is_snap_to_edge = false, is_snap_to_face = false; | ||||
| mul_m3_v3(t->con.pmtx, out); | mul_m3_v3(t->con.pmtx, out); | ||||
| if (activeSnap(t)) { | if (activeSnap(t)) { | ||||
| if (validSnap(t)) { | if (validSnap(t)) { | ||||
| is_snap_to_edge = (t->tsnap.snapElem & SCE_SNAP_MODE_EDGE) != 0; | is_snap_to_edge = (t->tsnap.snapElem & SCE_SNAP_MODE_EDGE) != 0; | ||||
| is_snap_to_face = (t->tsnap.snapElem & SCE_SNAP_MODE_FACE) != 0; | is_snap_to_face = (t->tsnap.snapElem & SCE_SNAP_MODE_FACE_RAYCAST) != 0; | ||||
| is_snap_to_point = !is_snap_to_edge && !is_snap_to_face; | is_snap_to_point = !is_snap_to_edge && !is_snap_to_face; | ||||
| } | } | ||||
| else if (t->tsnap.snapElem & SCE_SNAP_MODE_GRID) { | else if (t->tsnap.snapElem & SCE_SNAP_MODE_GRID) { | ||||
| is_snap_to_point = true; | is_snap_to_point = true; | ||||
| } | } | ||||
| } | } | ||||
| /* With snap points, a projection is alright, no adjustments needed. */ | /* With snap points, a projection is alright, no adjustments needed. */ | ||||
| ▲ Show 20 Lines • Show All 771 Lines • Show Last 20 Lines | |||||