Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_view3d/view3d_snap.c
| Show First 20 Lines • Show All 313 Lines • ▼ Show 20 Lines | for (uint ob_index = 0; ob_index < objects_len; ob_index++) { | ||||
| ED_transverts_free(&tvs); | ED_transverts_free(&tvs); | ||||
| } | } | ||||
| MEM_freeN(objects); | MEM_freeN(objects); | ||||
| } | } | ||||
| else if (obact && (obact->mode & OB_MODE_POSE)) { | else if (obact && (obact->mode & OB_MODE_POSE)) { | ||||
| struct KeyingSet *ks = ANIM_get_keyingset_for_autokeying(scene, ANIM_KS_LOCATION_ID); | struct KeyingSet *ks = ANIM_get_keyingset_for_autokeying(scene, ANIM_KS_LOCATION_ID); | ||||
| CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) | CTX_DATA_BEGIN (C, Object *, ob, selected_editable_objects) | ||||
| { | { | ||||
| /* mixed mode selections are not supported */ | |||||
| if ((ob->mode & OB_MODE_POSE) == 0) { | |||||
| continue; | |||||
| } | |||||
| bPoseChannel *pchan; | bPoseChannel *pchan; | ||||
| bArmature *arm = ob->data; | bArmature *arm = ob->data; | ||||
| float snap_target_local[3]; | float snap_target_local[3]; | ||||
| invert_m4_m4(ob->imat, ob->obmat); | invert_m4_m4(ob->imat, ob->obmat); | ||||
| mul_v3_m4v3(snap_target_local, ob->imat, snap_target_global); | mul_v3_m4v3(snap_target_local, ob->imat, snap_target_global); | ||||
| for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) { | for (pchan = ob->pose->chanbase.first; pchan; pchan = pchan->next) { | ||||
| ▲ Show 20 Lines • Show All 550 Lines • Show Last 20 Lines | |||||