Blender V4.3
bPoseChannel Struct Reference

#include <DNA_action_types.h>

Public Attributes

struct bPoseChannelnext
 
struct bPoseChannelprev
 
IDPropertyprop
 
ListBase constraints
 
char name [64]
 
short flag
 
short ikflag
 
short protectflag
 
short agrp_index
 
char constflag
 
char selectflag
 
char drawflag
 
char bboneflag DNA_DEPRECATED
 
char _pad0 [4]
 
struct Bonebone
 
struct bPoseChannelparent
 
struct bPoseChannelchild
 
struct ListBase iktree
 
struct ListBase siktree
 
bMotionPathmpath
 
struct Objectcustom
 
struct bPoseChannelcustom_tx
 
float custom_scale
 
float custom_scale_xyz [3]
 
float custom_translation [3]
 
float custom_rotation_euler [3]
 
float custom_shape_wire_width
 
float loc [3]
 
float size [3]
 
float eul [3]
 
float quat [4]
 
float rotAxis [3]
 
float rotAngle
 
short rotmode
 
char _pad [6]
 
float chan_mat [4][4]
 
float pose_mat [4][4]
 
float disp_mat [4][4]
 
float disp_tail_mat [4][4]
 
float constinv [4][4]
 
float pose_head [3]
 
float pose_tail [3]
 
float limitmin [3]
 
float limitmax [3]
 
float stiffness [3]
 
float ikstretch
 
float ikrotweight
 
float iklinweight
 
float roll1
 
float roll2
 
float curve_in_x
 
float curve_in_z
 
float curve_out_x
 
float curve_out_z
 
float ease1
 
float ease2
 
float scale_in_x DNA_DEPRECATED
 
float scale_in_x scale_in_z DNA_DEPRECATED
 
float scale_out_x DNA_DEPRECATED
 
float scale_out_x scale_out_z DNA_DEPRECATED
 
float scale_in [3]
 
float scale_out [3]
 
struct bPoseChannelbbone_prev
 
struct bPoseChannelbbone_next
 
void * temp
 
bPoseChannelDrawDatadraw_data
 
struct bPoseChannelorig_pchan
 
BoneColor color
 
struct bPoseChannel_Runtime runtime
 

Detailed Description

PoseChannel

A bPoseChannel stores the results of Actions and transform information with respect to the rest-position of bArmature bones.

Definition at line 282 of file DNA_action_types.h.

Member Data Documentation

◆ _pad

char bPoseChannel::_pad[6]

Definition at line 361 of file DNA_action_types.h.

◆ _pad0

char bPoseChannel::_pad0[4]

Definition at line 309 of file DNA_action_types.h.

◆ agrp_index

short bPoseChannel::agrp_index

Index of action-group this bone belongs to (0 = default/no group).

Definition at line 302 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data().

◆ bbone_next

◆ bbone_prev

struct bPoseChannel* bPoseChannel::bbone_prev

B-Bone custom handles; set on read file or rebuild pose based on pchan->bone data.

Definition at line 412 of file DNA_action_types.h.

Referenced by BKE_pchan_bbone_handles_get(), BKE_pchan_rebuild_bbone_handles(), BKE_pose_blend_read_data(), BKE_pose_channel_copy_data(), BKE_pose_channels_remove(), and postEditBoneDuplicate().

◆ bone

struct Bone* bPoseChannel::bone

Set on read file or rebuild pose.

Definition at line 312 of file DNA_action_types.h.

Referenced by action_flip_pchan(), action_group_colors_set_from_posebone(), add_pose_transdata(), ANIM_armature_bonecoll_show_from_pchan(), ANIM_bonecoll_is_visible_pchan(), blender::animrig::ANIM_bonecolor_posebone_get(), animchan_sync_group(), apply_targetless_ik(), applyarmature_transfer_properties(), armature_vert_task_with_dvert(), armdef_accumulate_bone(), armdef_evaluate(), BKE_bone_parent_transform_calc_from_pchan(), BKE_constraint_apply_for_pose(), BKE_constraint_mat_convertspace(), BKE_object_defgroup_selected_get(), BKE_pchan_bbone_deform_clamp_segment_index(), BKE_pchan_bbone_handles_get(), BKE_pchan_bbone_segments_cache_compute(), BKE_pchan_bbone_spline_params_get(), BKE_pchan_bbone_spline_setup(), BKE_pchan_rebuild_bbone_handles(), BKE_pchan_to_mat4(), BKE_pose_bone_done(), BKE_pose_channel_active_or_first_selected(), BKE_pose_eval_bbone_segments(), BKE_pose_eval_bone(), BKE_pose_is_bonecoll_visible(), BKE_pose_rest(), BKE_pose_update_constraint_flags(), BKE_pose_where_is_bone(), BKE_pose_where_is_bone_tail(), bone_collection_assign_named_mode_specific(), bone_mouse_select_menu(), bone_select_menu_exec(), blender::ui::bonedropper_sample(), blender::ed::object::calc_active_center_for_posemode(), can_delete_fcurve(), can_delete_key(), blender::deg::DepsgraphBuilder::check_pchan_has_bbone(), compute_bbone_segment_boundaries(), compute_vertex_mask__armature_mode(), constraint_target_to_mat4(), convert_pose(), convert_tree(), createTransPose(), ArmatureBoneDrawStrategyBBone::culling_test(), ArmatureBoneDrawStrategyEnvelope::culling_test(), dist_bone_deform(), do_circle_select_pose__doSelectBone(), do_lasso_select_pose__do_tag(), do_pose_box_select(), blender::draw::overlay::Armatures::draw_armature_pose(), draw_axes(), ArmatureBoneDrawStrategyBBone::draw_bone(), ArmatureBoneDrawStrategyEnvelope::draw_bone(), ArmatureBoneDrawStrategyWire::draw_bone(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_bbone(), draw_bone_update_disp_matrix_default(), ED_armature_base_and_bone_from_select_buffer(), ED_armature_pick_bone(), ED_armature_pick_bone_from_selectbuffer(), ed_armature_pick_bone_from_selectbuffer_impl(), ED_pose_bone_select(), UnifiedBonePtr::effective_bonecolor(), execute_posetree(), find_bbone_segment_index_straight(), UnifiedBonePtr::flag(), getTransformOrientation_ex(), gimbal_axis_pose(), gizmo_bbone_offset_get(), gizmo_bbone_offset_set(), UnifiedBonePtr::has_parent(), blender::ed::object::jump_to_bone(), motion_path_cache(), blender::ed::outliner::namebutton_fn(), ob_parbone(), blender::ed::outliner::outliner_draw_restrictbuts(), blender::ed::outliner::outliner_select_sync_from_pose_bone(), blender::ed::outliner::outliner_select_sync_to_pose_bone(), blender::ed::object::parent_set(), pchan_bone_deform(), pchan_circle_doSelectJoint(), pchan_draw_data_init(), blender::ed::outliner::pchan_fn(), pose_bone_do_paste(), pose_channel_in_IK_chain(), pose_do_bone_select(), pose_foreachScreenBone(), pose_grab_with_ik(), pose_grab_with_ik_add(), pose_select_constraint_target_exec(), pose_select_hierarchy_exec(), pose_select_mirror_exec(), pose_select_parent_exec(), pose_select_same_collection(), pose_select_same_keyingset(), pose_transform_mirror_update(), poselib_keytag_pose(), UnifiedBonePtr::rad_head(), UnifiedBonePtr::rad_tail(), rebuild_pose_bone(), ArmatureBoneDrawStrategy::should_draw_relation_to_parent(), skip_fcurve_selected_data(), splineik_evaluate_bone(), splineik_init_tree_from_pchan(), blender::ed::outliner::tree_element_posechannel_activate(), blender::ed::outliner::tree_element_posechannel_state_get(), UI_context_copy_to_selected_list(), ui_context_selected_bones_via_pose(), blender::animrig::visualkey_get_values(), where_is_ik_bone(), and WIDGETGROUP_armature_spline_poll().

◆ chan_mat

float bPoseChannel::chan_mat[4][4]

Matrix result of location/rotation/scale components, and evaluation of animation data and constraints.

This is the dynamic component of pose_mat (without Bone.arm_mat).

Definition at line 369 of file DNA_action_types.h.

Referenced by actcon_get_tarmat(), armdef_accumulate_bone(), BKE_pchan_bbone_segments_cache_compute(), BKE_pchan_calc_mat(), BKE_pose_bone_done(), BKE_pose_copy_pchan_result(), BKE_pose_where_is_bone(), dist_bone_deform(), make_dmats(), ob_parbone(), pchan_bone_deform(), pose_channel_flush_to_orig_if_needed(), and where_is_ik_bone().

◆ child

struct bPoseChannel* bPoseChannel::child

Set on read file or rebuild pose, the 'ik' child, for b-bones.

Definition at line 316 of file DNA_action_types.h.

Referenced by BKE_pchan_bbone_handles_get(), BKE_pose_blend_read_data(), and rebuild_pose_bone().

◆ color

◆ constflag

◆ constinv

float bPoseChannel::constinv[4][4]

Inverse result of constraints. doesn't include effect of rest-position, parent, and local transform.

Definition at line 382 of file DNA_action_types.h.

Referenced by add_pose_transdata(), BKE_constraint_apply_for_pose(), BKE_constraints_clear_evalob(), BKE_pose_channel_ensure(), and pose_channel_flush_to_orig_if_needed().

◆ constraints

◆ curve_in_x

◆ curve_in_z

◆ curve_out_x

◆ curve_out_z

◆ custom

struct Object* bPoseChannel::custom

Draws custom object instead of default bone shape.

Note
For the purpose of user interaction (selection, display etc), it's important this value is treated as NULL when ARM_NO_CUSTOM is set.

Definition at line 331 of file DNA_action_types.h.

Referenced by BKE_pchan_minmax(), BKE_pose_channel_copy_data(), BKE_pose_channel_free_ex(), createTransPose(), blender::draw::overlay::Armatures::draw_armature_pose(), draw_axes(), ArmatureBoneDrawStrategyCustomShape::draw_bone(), and updateDuplicateCustomBoneShapes().

◆ custom_rotation_euler

◆ custom_scale

float bPoseChannel::custom_scale

Definition at line 339 of file DNA_action_types.h.

◆ custom_scale_xyz

◆ custom_shape_wire_width

float bPoseChannel::custom_shape_wire_width

◆ custom_translation

◆ custom_tx

struct bPoseChannel* bPoseChannel::custom_tx

This is a specific feature to display with another bones transform. Needed in rare cases for advanced rigs, since alternative solutions are highly complicated.

Note
This depends bPoseChannel.custom being set and the ARM_NO_CUSTOM flag being unset.

Definition at line 338 of file DNA_action_types.h.

Referenced by BKE_pchan_minmax(), BKE_pose_blend_read_data(), BKE_pose_channels_remove(), draw_axes(), postEditBoneDuplicate(), and ArmatureBoneDrawStrategyCustomShape::update_display_matrix().

◆ disp_mat

float bPoseChannel::disp_mat[4][4]

◆ disp_tail_mat

float bPoseChannel::disp_tail_mat[4][4]

For display, pose_mat with bone length applied and translated to tail.

Definition at line 377 of file DNA_action_types.h.

Referenced by UnifiedBonePtr::disp_tail_mat(), UnifiedBonePtr::disp_tail_mat(), ArmatureBoneDrawStrategyCustomShape::update_display_matrix(), and WIDGETGROUP_armature_spline_refresh().

◆ DNA_DEPRECATED [1/5]

char bboneflag bPoseChannel::DNA_DEPRECATED

Definition at line 308 of file DNA_action_types.h.

◆ DNA_DEPRECATED [2/5]

float scale_in_x bPoseChannel::DNA_DEPRECATED

Definition at line 407 of file DNA_action_types.h.

◆ DNA_DEPRECATED [3/5]

float scale_in_x scale_in_z bPoseChannel::DNA_DEPRECATED

Definition at line 407 of file DNA_action_types.h.

◆ DNA_DEPRECATED [4/5]

float scale_out_x bPoseChannel::DNA_DEPRECATED

Definition at line 408 of file DNA_action_types.h.

◆ DNA_DEPRECATED [5/5]

float scale_out_x scale_out_z bPoseChannel::DNA_DEPRECATED

Definition at line 408 of file DNA_action_types.h.

◆ draw_data

◆ drawflag

char bPoseChannel::drawflag

Definition at line 307 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data().

◆ ease1

◆ ease2

◆ eul

◆ flag

◆ ikflag

◆ iklinweight

float bPoseChannel::iklinweight

Weight of joint stretch constraint.

Definition at line 397 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), and BKE_pose_channel_ensure().

◆ ikrotweight

float bPoseChannel::ikrotweight

Weight of joint rotation constraint.

Definition at line 395 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), BKE_pose_channel_ensure(), and joint_callback().

◆ ikstretch

float bPoseChannel::ikstretch

◆ iktree

struct ListBase bPoseChannel::iktree

"IK trees" - only while evaluating pose.

Definition at line 319 of file DNA_action_types.h.

Referenced by convert_tree(), iksolver_execute_tree(), initialize_chain(), and initialize_posetree().

◆ limitmax

◆ limitmin

float bPoseChannel::limitmin[3]

DOF constraint, note! - these are stored in degrees, not radians.

Definition at line 390 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), BKE_pose_channel_ensure(), convert_channels(), convert_tree(), draw_bone_degrees_of_freedom(), execute_posetree(), and mirror_pose_bone().

◆ loc

◆ mpath

bMotionPath* bPoseChannel::mpath

Motion path cache for this bone.

Definition at line 324 of file DNA_action_types.h.

Referenced by animviz_verify_motionpaths(), BKE_pose_channel_free_ex(), and motionpaths_calc_bake_targets().

◆ name

char bPoseChannel::name[64]

Need to match bone name length: MAXBONENAME.

Definition at line 293 of file DNA_action_types.h.

Referenced by actcon_get_tarmat(), action_flip_pchan(), animviz_verify_motionpaths(), applyarmature_adjust_edit_position(), applyarmature_process_selected_recursive(), BKE_constraint_apply_for_pose(), BKE_pose_bone_done(), BKE_pose_channel_ensure(), BKE_pose_channels_is_valid(), BKE_pose_channels_remove(), BKE_pose_constraints_evaluate(), BKE_pose_eval_bbone_segments(), BKE_pose_eval_bone(), BKE_pose_iktree_evaluate(), BKE_pose_splineik_evaluate(), bone_mouse_select_menu(), blender::deg::DepsgraphRelationBuilder::build_driver_data(), blender::deg::DepsgraphNodeBuilder::build_driver_id_property(), blender::deg::DepsgraphRelationBuilder::build_driver_id_property(), blender::deg::DepsgraphRelationBuilder::build_driver_variables(), blender::deg::DepsgraphNodeBuilder::build_ik_pose(), blender::deg::DepsgraphRelationBuilder::build_ik_pose(), blender::deg::DepsgraphRelationBuilder::build_inter_ik_chains(), blender::deg::DepsgraphNodeBuilder::build_pose_constraints(), blender::deg::DepsgraphNodeBuilder::build_splineik_pose(), blender::deg::DepsgraphRelationBuilder::build_splineik_pose(), can_delete_fcurve(), can_delete_key(), blender::ed::object::constraint_add_exec(), blender::deg::RNANodeQuery::construct_node_identifier(), copy_animedit_keys(), blender::animrig::default_channel_group_for_path(), DEG_get_evaluated_rna_pointer(), draw_bone_name(), ED_armature_bone_rename(), ED_armature_join_objects_exec(), ED_wpaint_ensure_data(), joined_armature_fix_links(), joined_armature_fix_links_constraints(), UnifiedBonePtr::name(), blender::ed::outliner::namebutton_fn(), blender::ed::object::parent_set(), pchan_clear_loc_with_mirrored(), pchan_clear_rot_with_mirrored(), pchan_clear_scale_with_mirrored(), pchan_duplicate_map(), pose_bone_do_paste(), pose_foreachScreenBone(), pose_select_mirror_exec(), pose_select_same_keyingset(), pose_transform_mirror_update(), blender::ui::sample_data_from_3d_view(), blender::ui::sample_data_from_outliner(), separate_armature_bones(), skip_fcurve_selected_data(), blender::ed::object::test_constraint(), blender::ed::outliner::TreeElementPoseChannel::TreeElementPoseChannel(), and view_lock_to_active_exec().

◆ next

◆ orig_pchan

struct bPoseChannel* bPoseChannel::orig_pchan

Points to an original pose channel.

Definition at line 421 of file DNA_action_types.h.

Referenced by BKE_pose_bone_done(), BKE_pose_eval_bbone_segments(), constraint_find_original(), and pose_channel_flush_to_orig_if_needed().

◆ parent

◆ pose_head

◆ pose_mat

float bPoseChannel::pose_mat[4][4]

Channel matrix in the armature object space, i.e. pose_mat = bone->arm_mat * chan_mat.

Definition at line 373 of file DNA_action_types.h.

Referenced by blender::ed::object::add_hook_object(), add_pose_transdata(), apply_armature_pose2bones_exec(), apply_targetless_ik(), applyarmature_process_selected_recursive(), armdef_get_tarmat(), base_callback(), bc_bone_matrix_local_get(), BKE_bone_parent_transform_calc_from_pchan(), BKE_camera_object_dof_distance(), BKE_constraint_apply_for_pose(), BKE_constraint_target_matrix_get(), BKE_constraints_clear_evalob(), BKE_constraints_make_evalob(), BKE_gpencil_layer_transform_matrix_get(), BKE_gpencil_update_layer_transforms(), BKE_object_modifier_gpencil_hook_reset(), BKE_object_modifier_hook_reset(), BKE_pchan_bbone_spline_params_get(), BKE_pchan_minmax(), BKE_pose_bone_done(), BKE_pose_copy_pchan_result(), BKE_pose_eval_bone(), BKE_pose_where_is_bone(), BKE_pose_where_is_bone_tail(), constraint_target_to_mat4(), convert_pose(), convert_tree(), blender::deform_drawing(), deformVerts_do(), draw_axes(), draw_bone_degrees_of_freedom(), draw_bone_update_disp_matrix_bbone(), draw_bone_update_disp_matrix_default(), dvar_eval_locDiff(), dvar_eval_rotDiff(), dvar_eval_transChan(), execute_posetree(), execute_scene(), getTransformOrientation_ex(), gimbal_axis_pose(), handle_armature_parent_orientation(), make_dmats(), matrix_from_obj_pchan(), matrix_from_obj_pchan(), MOD_get_texture_coords(), ob_parbone(), parent_relative_pose_mat(), pose_channel_flush_to_orig_if_needed(), splineik_evaluate_bone(), target_callback(), ArmatureBoneDrawStrategyCustomShape::update_display_matrix(), view3d_viewmatrix_set(), blender::animrig::visualkey_get_values(), and where_is_ik_bone().

◆ pose_tail

◆ prev

struct bPoseChannel * bPoseChannel::prev

Definition at line 285 of file DNA_action_types.h.

Referenced by rebuild_pose_bone().

◆ prop

IDProperty* bPoseChannel::prop

◆ protectflag

◆ quat

◆ roll1

◆ roll2

◆ rotAngle

◆ rotAxis

◆ rotmode

◆ runtime

◆ scale_in

◆ scale_out

◆ selectflag

char bPoseChannel::selectflag

Copy of bone flag, so you can work with library armatures, not for runtime use.

Definition at line 306 of file DNA_action_types.h.

◆ siktree

struct ListBase bPoseChannel::siktree

Spline-IK "trees" - only while evaluating pose.

Definition at line 321 of file DNA_action_types.h.

Referenced by splineik_execute_tree(), and splineik_init_tree_from_pchan().

◆ size

◆ stiffness

float bPoseChannel::stiffness[3]

DOF stiffness.

Definition at line 392 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), BKE_pose_channel_ensure(), convert_tree(), and execute_posetree().

◆ temp

void* bPoseChannel::temp

Use for outliner.

Definition at line 416 of file DNA_action_types.h.

Referenced by blender::ed::outliner::TreeElementPoseBase::expand().


The documentation for this struct was generated from the following file: