Blender  V2.93
Functions
armature_add.c File Reference
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_constraint_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_ghash.h"
#include "BLI_math.h"
#include "BLI_string_utils.h"
#include "BKE_action.h"
#include "BKE_armature.h"
#include "BKE_constraint.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_fcurve.h"
#include "BKE_idprop.h"
#include "BKE_layer.h"
#include "BKE_lib_id.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "ED_armature.h"
#include "ED_outliner.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "DEG_depsgraph.h"
#include "armature_intern.h"

Go to the source code of this file.

Functions

EditBoneED_armature_ebone_add (bArmature *arm, const char *name)
 
EditBoneED_armature_ebone_add_primitive (Object *obedit_arm, float length, bool view_aligned)
 
static int armature_click_extrude_exec (bContext *C, wmOperator *UNUSED(op))
 
static int armature_click_extrude_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void ARMATURE_OT_click_extrude (wmOperatorType *ot)
 
EditBoneadd_points_bone (Object *obedit, float head[3], float tail[3])
 
static EditBoneget_named_editbone (ListBase *edbo, const char *name)
 
void preEditBoneDuplicate (ListBase *editbones)
 
static bPoseChannelpchan_duplicate_map (const bPose *pose, GHash *name_map, bPoseChannel *pchan_src)
 
void postEditBoneDuplicate (struct ListBase *editbones, Object *ob)
 
static void updateDuplicateSubtarget (EditBone *dup_bone, ListBase *editbones, Object *ob, bool lookup_mirror_subtarget)
 
static void updateDuplicateActionConstraintSettings (EditBone *dup_bone, EditBone *orig_bone, Object *ob, bConstraint *curcon)
 
static void updateDuplicateKinematicConstraintSettings (bConstraint *curcon)
 
static void updateDuplicateLocRotConstraintSettings (Object *ob, bPoseChannel *pchan, bConstraint *curcon)
 
static void updateDuplicateTransformConstraintSettings (Object *ob, bPoseChannel *pchan, bConstraint *curcon)
 
static void updateDuplicateConstraintSettings (EditBone *dup_bone, EditBone *orig_bone, Object *ob)
 
static void updateDuplicateCustomBoneShapes (bContext *C, EditBone *dup_bone, Object *ob)
 
static void copy_pchan (EditBone *src_bone, EditBone *dst_bone, Object *src_ob, Object *dst_ob)
 
EditBoneduplicateEditBoneObjects (EditBone *cur_bone, const char *name, ListBase *editbones, Object *src_ob, Object *dst_ob)
 
EditBoneduplicateEditBone (EditBone *cur_bone, const char *name, ListBase *editbones, Object *ob)
 
static int armature_duplicate_selected_exec (bContext *C, wmOperator *op)
 
void ARMATURE_OT_duplicate (wmOperatorType *ot)
 
static EditBoneget_symmetrized_bone (bArmature *arm, EditBone *bone)
 
static int armature_symmetrize_exec (bContext *C, wmOperator *op)
 
void ARMATURE_OT_symmetrize (wmOperatorType *ot)
 
static int armature_extrude_exec (bContext *C, wmOperator *op)
 
void ARMATURE_OT_extrude (wmOperatorType *ot)
 
static int armature_bone_primitive_add_exec (bContext *C, wmOperator *op)
 
void ARMATURE_OT_bone_primitive_add (wmOperatorType *ot)
 
static int armature_subdivide_exec (bContext *C, wmOperator *op)
 
void ARMATURE_OT_subdivide (wmOperatorType *ot)
 

Function Documentation

◆ add_points_bone()

EditBone* add_points_bone ( Object obedit,
float  head[3],
float  tail[3] 
)

◆ armature_bone_primitive_add_exec()

static int armature_bone_primitive_add_exec ( bContext C,
wmOperator op 
)
static

◆ armature_click_extrude_exec()

static int armature_click_extrude_exec ( bContext C,
wmOperator UNUSEDop 
)
static

◆ armature_click_extrude_invoke()

static int armature_click_extrude_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ armature_duplicate_selected_exec()

static int armature_duplicate_selected_exec ( bContext C,
wmOperator op 
)
static

◆ armature_extrude_exec()

static int armature_extrude_exec ( bContext C,
wmOperator op 
)
static

◆ ARMATURE_OT_bone_primitive_add()

void ARMATURE_OT_bone_primitive_add ( wmOperatorType ot)

◆ ARMATURE_OT_click_extrude()

void ARMATURE_OT_click_extrude ( wmOperatorType ot)

◆ ARMATURE_OT_duplicate()

void ARMATURE_OT_duplicate ( wmOperatorType ot)

◆ ARMATURE_OT_extrude()

void ARMATURE_OT_extrude ( wmOperatorType ot)

◆ ARMATURE_OT_subdivide()

void ARMATURE_OT_subdivide ( wmOperatorType ot)

◆ ARMATURE_OT_symmetrize()

void ARMATURE_OT_symmetrize ( wmOperatorType ot)

◆ armature_subdivide_exec()

static int armature_subdivide_exec ( bContext C,
wmOperator op 
)
static

◆ armature_symmetrize_exec()

static int armature_symmetrize_exec ( bContext C,
wmOperator op 
)
static

◆ copy_pchan()

static void copy_pchan ( EditBone src_bone,
EditBone dst_bone,
Object src_ob,
Object dst_ob 
)
static

◆ duplicateEditBone()

EditBone* duplicateEditBone ( EditBone cur_bone,
const char *  name,
ListBase editbones,
Object ob 
)

◆ duplicateEditBoneObjects()

EditBone* duplicateEditBoneObjects ( EditBone cur_bone,
const char *  name,
ListBase editbones,
Object src_ob,
Object dst_ob 
)

◆ ED_armature_ebone_add()

EditBone* ED_armature_ebone_add ( bArmature arm,
const char *  name 
)

◆ ED_armature_ebone_add_primitive()

EditBone* ED_armature_ebone_add_primitive ( Object obedit_arm,
float  length,
bool  view_aligned 
)

◆ get_named_editbone()

static EditBone* get_named_editbone ( ListBase edbo,
const char *  name 
)
static

Definition at line 291 of file armature_add.c.

References ListBase::first, EditBone::name, EditBone::next, NULL, and STREQ.

Referenced by updateDuplicateSubtarget().

◆ get_symmetrized_bone()

static EditBone* get_symmetrized_bone ( bArmature arm,
EditBone bone 
)
static

◆ pchan_duplicate_map()

static bPoseChannel* pchan_duplicate_map ( const bPose pose,
GHash name_map,
bPoseChannel pchan_src 
)
static

Helper function for postEditBoneDuplicate, return the destination pchan from the original.

Definition at line 317 of file armature_add.c.

References BKE_pose_channel_find_name(), BLI_ghash_lookup(), bPoseChannel::name, and NULL.

Referenced by postEditBoneDuplicate().

◆ postEditBoneDuplicate()

void postEditBoneDuplicate ( struct ListBase editbones,
Object ob 
)

◆ preEditBoneDuplicate()

void preEditBoneDuplicate ( ListBase editbones)

◆ updateDuplicateActionConstraintSettings()

static void updateDuplicateActionConstraintSettings ( EditBone dup_bone,
EditBone orig_bone,
Object ob,
bConstraint curcon 
)
static

◆ updateDuplicateConstraintSettings()

static void updateDuplicateConstraintSettings ( EditBone dup_bone,
EditBone orig_bone,
Object ob 
)
static

◆ updateDuplicateCustomBoneShapes()

static void updateDuplicateCustomBoneShapes ( bContext C,
EditBone dup_bone,
Object ob 
)
static

◆ updateDuplicateKinematicConstraintSettings()

static void updateDuplicateKinematicConstraintSettings ( bConstraint curcon)
static

◆ updateDuplicateLocRotConstraintSettings()

static void updateDuplicateLocRotConstraintSettings ( Object ob,
bPoseChannel pchan,
bConstraint curcon 
)
static

◆ updateDuplicateSubtarget()

static void updateDuplicateSubtarget ( EditBone dup_bone,
ListBase editbones,
Object ob,
bool  lookup_mirror_subtarget 
)
static

◆ updateDuplicateTransformConstraintSettings()

static void updateDuplicateTransformConstraintSettings ( Object ob,
bPoseChannel pchan,
bConstraint curcon 
)
static

Definition at line 655 of file armature_add.c.

References bConstraint::data, bConstraintOb::depsgraph, and NULL.

Referenced by updateDuplicateConstraintSettings().