Blender V5.0
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
8
9#pragma once
10
11#include "DNA_listBase.h"
12
13#include "BLI_span.hh"
14
15struct Base;
16struct Bone;
17struct EditBone;
18struct GPUSelectResult;
19struct IDProperty;
20struct LinkData;
21struct ListBase;
22struct Object;
23struct Scene;
24struct bArmature;
25struct bContext;
26struct bPoseChannel;
27struct wmOperatorType;
28
29/* -------------------------------------------------------------------- */
32
34
39
41
44
54
66
69
79
82
84
85/* -------------------------------------------------------------------- */
88
91
94
100
103
112
117
120
122
124
126
127/* -------------------------------------------------------------------- */
130
131/* `pose_utils.cc` */
132
133/* Temporary data linking PoseChannels with the F-Curves they affect */
169
170/* ----------- */
171
178void poseAnim_mapping_get(bContext *C, ListBase /*tPChanFCurveLink*/ *pfLinks);
180void poseAnim_mapping_free(ListBase /*tPChanFCurveLink*/ *pfLinks);
181
189void poseAnim_mapping_reset(ListBase *pfLinks);
191void poseAnim_mapping_autoKeyframe(bContext *C, Scene *scene, ListBase *pfLinks, float cframe);
192
198LinkData *poseAnim_mapping_getNextFCurve(ListBase *fcuLinks, LinkData *prev, const char *path);
199
201
202/* -------------------------------------------------------------------- */
205
206/* `pose_lib_2.cc` */
207
210
212
213/* -------------------------------------------------------------------- */
216
217/* `pose_slide.cc` */
218
224
226
228
229/* -------------------------------------------------------------------- */
232
233/* Ideally, many of these defines would not be needed as everything would be strictly
234 * self-contained within each file,
235 * but some tools still have a bit of overlap which makes things messy -- Feb 2013
236 */
237
238EditBone *make_boneList(ListBase *edbo, ListBase *bones, Bone *actBone);
239
240/* Duplicate method. */
241
242EditBone *duplicateEditBone(EditBone *cur_bone, const char *name, ListBase *editbones, Object *ob);
243
244/* Duplicate method (cross objects). */
245
250 EditBone *cur_bone, const char *name, ListBase *editbones, Object *src_ob, Object *dst_ob);
251
253EditBone *add_points_bone(Object *obedit, float head[3], float tail[3]);
254void bone_free(bArmature *arm, EditBone *bone);
255
265
267
268/* -------------------------------------------------------------------- */
271
273 const GPUSelectResult *hit_results,
274 int hits,
275 bool findunsel,
276 bool do_nearest,
277 Base **r_base);
279 const GPUSelectResult *hit_results,
280 int hits,
281 bool findunsel,
282 bool do_nearest,
283 Base **r_base);
285 const GPUSelectResult *hit_results,
286 int hits,
287 bool findunsel,
288 bool do_nearest,
289 Base **r_base);
290
292
293/* -------------------------------------------------------------------- */
296
301int bone_looper(Object *ob, Bone *bone, void *data, int (*bone_func)(Object *, Bone *, void *));
302
These structs are the foundation for all linked lists in the library system.
#define C
Definition RandGen.cpp:29
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:702
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:485
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:814
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:361
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:757
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:534
void ARMATURE_OT_collection_move(wmOperatorType *ot)
void POSE_OT_paths_clear(wmOperatorType *ot)
Definition pose_edit.cc:440
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 ARMATURE_OT_select_linked(wmOperatorType *ot)
void armature_select_mirrored(bArmature *arm)
void POSE_OT_autoside_names(wmOperatorType *ot)
Definition pose_edit.cc:587
void POSE_OT_paths_calculate(wmOperatorType *ot)
Definition pose_edit.cc:286
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:644
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 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)
BMesh const char void * data
const char * name
wmOperatorType * ot
Definition wm_files.cc:4237
uint8_t flag
Definition wm_window.cc:145