Blender V4.3
armature_intern.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2009 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11struct bArmature;
12struct Base;
13struct bContext;
14struct Bone;
15struct bPoseChannel;
16struct EditBone;
17struct GPUSelectResult;
18struct LinkData;
19struct ListBase;
20struct Object;
21struct Scene;
22struct wmOperatorType;
23
24/* -------------------------------------------------------------------- */
29
34
36
39
49
61
64
74
77
80/* -------------------------------------------------------------------- */
86
89
95
98
107
112
115
117
119
122/* -------------------------------------------------------------------- */
126/* `pose_utils.cc` */
127
128/* Temporary data linking PoseChannels with the F-Curves they affect */
163
164/* ----------- */
165
172void poseAnim_mapping_get(bContext *C, ListBase /*tPChanFCurveLink*/ *pfLinks);
174void poseAnim_mapping_free(ListBase /*tPChanFCurveLink*/ *pfLinks);
175
179void poseAnim_mapping_refresh(bContext *C, Scene *scene, Object *ob);
183void poseAnim_mapping_reset(ListBase *pfLinks);
185void poseAnim_mapping_autoKeyframe(bContext *C, Scene *scene, ListBase *pfLinks, float cframe);
186
192LinkData *poseAnim_mapping_getNextFCurve(ListBase *fcuLinks, LinkData *prev, const char *path);
193
196/* -------------------------------------------------------------------- */
200/* `pose_lib_2.cc` */
201
204
207/* -------------------------------------------------------------------- */
211/* `pose_slide.cc` */
212
218
220
223/* -------------------------------------------------------------------- */
227/* Ideally, many of these defines would not be needed as everything would be strictly
228 * self-contained within each file,
229 * but some tools still have a bit of overlap which makes things messy -- Feb 2013
230 */
231
232EditBone *make_boneList(ListBase *edbo, ListBase *bones, Bone *actBone);
233
234/* Duplicate method. */
235
237void preEditBoneDuplicate(ListBase *editbones);
238void postEditBoneDuplicate(ListBase *editbones, Object *ob);
239EditBone *duplicateEditBone(EditBone *cur_bone, const char *name, ListBase *editbones, Object *ob);
240
241/* Duplicate method (cross objects). */
242
247 EditBone *cur_bone, const char *name, ListBase *editbones, Object *src_ob, Object *dst_ob);
248
250EditBone *add_points_bone(Object *obedit, float head[3], float tail[3]);
251void bone_free(bArmature *arm, EditBone *bone);
252
262
265/* -------------------------------------------------------------------- */
270 const GPUSelectResult *hit_results,
271 int hits,
272 bool findunsel,
273 bool do_nearest,
274 Base **r_base);
276 const GPUSelectResult *hit_results,
277 int hits,
278 bool findunsel,
279 bool do_nearest,
280 Base **r_base);
282 const GPUSelectResult *hit_results,
283 int hits,
284 bool findunsel,
285 bool do_nearest,
286 Base **r_base);
287
290/* -------------------------------------------------------------------- */
298int bone_looper(Object *ob, Bone *bone, void *data, int (*bone_func)(Object *, Bone *, void *));
299
void poseAnim_mapping_autoKeyframe(bContext *C, Scene *scene, ListBase *pfLinks, float cframe)
void ARMATURE_OT_hide(wmOperatorType *ot)
void POSE_OT_hide(wmOperatorType *ot)
Definition pose_edit.cc:709
void ARMATURE_OT_select_similar(wmOperatorType *ot)
void ARMATURE_OT_delete(wmOperatorType *ot)
void ARMATURE_OT_subdivide(wmOperatorType *ot)
void ARMATURE_OT_select_all(wmOperatorType *ot)
void ARMATURE_OT_select_hierarchy(wmOperatorType *ot)
void ARMATURE_OT_assign_to_collection(wmOperatorType *ot)
void POSE_OT_armature_apply(wmOperatorType *ot)
void ARMATURE_OT_collection_create_and_assign(wmOperatorType *ot)
void POSE_OT_transforms_clear(wmOperatorType *ot)
EditBone * duplicateEditBone(EditBone *cur_bone, const char *name, ListBase *editbones, Object *ob)
void poseAnim_mapping_free(ListBase *pfLinks)
void POSE_OT_breakdown(wmOperatorType *ot)
void POSE_OT_paths_range_update(wmOperatorType *ot)
Definition pose_edit.cc:483
void POSE_OT_select_parent(wmOperatorType *ot)
void ARMATURE_OT_select_mirror(wmOperatorType *ot)
void POSE_OT_paste(wmOperatorType *ot)
void armature_tag_select_mirrored(bArmature *arm)
int bone_looper(Object *ob, Bone *bone, void *data, int(*bone_func)(Object *, Bone *, void *))
void POSE_OT_quaternions_flip(wmOperatorType *ot)
Definition pose_edit.cc:828
void ARMATURE_OT_parent_clear(wmOperatorType *ot)
void poseAnim_mapping_reset(ListBase *pfLinks)
void ARMATURE_OT_collection_deselect(wmOperatorType *ot)
void ARMATURE_OT_collection_remove(wmOperatorType *ot)
void ARMATURE_OT_collection_unassign_named(wmOperatorType *ot)
void POSE_OT_paths_update(wmOperatorType *ot)
Definition pose_edit.cc:359
void ARMATURE_OT_roll_clear(wmOperatorType *ot)
void POSELIB_OT_apply_pose_asset(wmOperatorType *ot)
void ARMATURE_OT_fill(wmOperatorType *ot)
void ARMATURE_OT_click_extrude(wmOperatorType *ot)
void ARMATURE_OT_select_less(wmOperatorType *ot)
void POSE_OT_visual_transform_apply(wmOperatorType *ot)
void poseAnim_mapping_get(bContext *C, ListBase *pfLinks)
void POSE_OT_select_hierarchy(wmOperatorType *ot)
bPoseChannel * ED_armature_pick_pchan_from_selectbuffer(blender::Span< Base * > bases, const GPUSelectResult *hit_results, int hits, bool findunsel, bool do_nearest, Base **r_base)
void POSE_OT_select_grouped(wmOperatorType *ot)
Object * poseAnim_object_get(Object *ob_)
void POSE_OT_reveal(wmOperatorType *ot)
Definition pose_edit.cc:771
Bone * ED_armature_pick_bone_from_selectbuffer(blender::Span< Base * > bases, const GPUSelectResult *hit_results, int hits, bool findunsel, bool do_nearest, Base **r_base)
void POSE_OT_select_linked_pick(wmOperatorType *ot)
void ARMATURE_OT_align(wmOperatorType *ot)
void poseAnim_mapping_refresh(bContext *C, Scene *scene, Object *ob)
void ARMATURE_OT_duplicate(wmOperatorType *ot)
void ARMATURE_OT_symmetrize(wmOperatorType *ot)
void ARMATURE_OT_collection_assign(wmOperatorType *ot)
void ARMATURE_OT_extrude(wmOperatorType *ot)
void ARMATURE_OT_flip_names(wmOperatorType *ot)
void ARMATURE_OT_collection_add(wmOperatorType *ot)
void POSE_OT_select_mirror(wmOperatorType *ot)
void POSE_OT_flip_names(wmOperatorType *ot)
Definition pose_edit.cc:532
void ARMATURE_OT_collection_move(wmOperatorType *ot)
void POSE_OT_paths_clear(wmOperatorType *ot)
Definition pose_edit.cc:438
void POSE_OT_blend_with_rest(wmOperatorType *ot)
void ARMATURE_OT_calculate_roll(wmOperatorType *ot)
void ARMATURE_OT_parent_set(wmOperatorType *ot)
void POSE_OT_propagate(wmOperatorType *ot)
void ARMATURE_OT_autoside_names(wmOperatorType *ot)
void POSE_OT_select_all(wmOperatorType *ot)
void POSE_OT_select_constraint_target(wmOperatorType *ot)
void ARMATURE_OT_move_to_collection(wmOperatorType *ot)
void postEditBoneDuplicate(ListBase *editbones, Object *ob)
void ARMATURE_OT_select_linked(wmOperatorType *ot)
void armature_select_mirrored(bArmature *arm)
void POSE_OT_autoside_names(wmOperatorType *ot)
Definition pose_edit.cc:585
void POSE_OT_paths_calculate(wmOperatorType *ot)
Definition pose_edit.cc:284
void POSE_OT_copy(wmOperatorType *ot)
void POSE_OT_rot_clear(wmOperatorType *ot)
void ARMATURE_OT_bone_primitive_add(wmOperatorType *ot)
EditBone * ED_armature_pick_ebone_from_selectbuffer(blender::Span< Base * > bases, const GPUSelectResult *hit_results, int hits, bool findunsel, bool do_nearest, Base **r_base)
void ARMATURE_OT_separate(wmOperatorType *ot)
void POSELIB_OT_blend_pose_asset(wmOperatorType *ot)
void ARMATURE_OT_switch_direction(wmOperatorType *ot)
void POSE_OT_rotation_mode_set(wmOperatorType *ot)
Definition pose_edit.cc:642
void armature_tag_unselect(bArmature *arm)
void ARMATURE_OT_dissolve(wmOperatorType *ot)
void POSE_OT_relax(wmOperatorType *ot)
void ARMATURE_OT_reveal(wmOperatorType *ot)
void ARMATURE_OT_select_linked_pick(wmOperatorType *ot)
void POSE_OT_loc_clear(wmOperatorType *ot)
EditBone * make_boneList(ListBase *edbo, ListBase *bones, Bone *actBone)
void bone_free(bArmature *arm, EditBone *bone)
void preEditBoneDuplicate(ListBase *editbones)
void armature_select_mirrored_ex(bArmature *arm, int flag)
void ARMATURE_OT_collection_unassign(wmOperatorType *ot)
void POSE_OT_push(wmOperatorType *ot)
void POSE_OT_scale_clear(wmOperatorType *ot)
void POSE_OT_select_linked(wmOperatorType *ot)
LinkData * poseAnim_mapping_getNextFCurve(ListBase *fcuLinks, LinkData *prev, const char *path)
EditBone * add_points_bone(Object *obedit, float head[3], float tail[3])
void ARMATURE_OT_select_more(wmOperatorType *ot)
void ARMATURE_OT_collection_select(wmOperatorType *ot)
void ARMATURE_OT_split(wmOperatorType *ot)
void POSE_OT_user_transforms_clear(wmOperatorType *ot)
EditBone * duplicateEditBoneObjects(EditBone *cur_bone, const char *name, ListBase *editbones, Object *src_ob, Object *dst_ob)
void ARMATURE_OT_shortest_path_pick(wmOperatorType *ot)
void POSE_OT_blend_to_neighbors(wmOperatorType *ot)
wmOperatorType * ot
Definition wm_files.cc:4125
uint8_t flag
Definition wm_window.cc:138