Blender V4.5
bPoseChannel Struct Reference

#include <DNA_action_types.h>

Public Attributes

struct bPoseChannelnext
struct bPoseChannelprev
IDPropertyprop
IDPropertysystem_properties
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 scale [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
void * _pad2
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 368 of file DNA_action_types.h.

◆ _pad0

char bPoseChannel::_pad0[4]

Definition at line 316 of file DNA_action_types.h.

◆ _pad2

void* bPoseChannel::_pad2

Definition at line 432 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 309 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 419 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 pose_edit_bone_duplicate().

◆ bone

struct Bone* bPoseChannel::bone

Set on read file or rebuild pose.

Definition at line 319 of file DNA_action_types.h.

Referenced by action_flip_pchan(), action_group_colors_set_from_posebone(), blender::ed::transform::add_pose_transdata(), ANIM_armature_bonecoll_show_from_pchan(), ANIM_bonecoll_is_visible_pchan(), blender::animrig::ANIM_bonecolor_posebone_get(), animchan_sync_group(), blender::ed::transform::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_draw_b_bone(), bone_draw_envelope(), bone_draw_wire(), blender::animrig::bone_is_visible_pchan(), bone_mouse_select_menu(), bone_select_menu_exec(), bone_selection_flags_add(), bone_selection_flags_set(), 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(), blender::ed::transform::createTransPose(), 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(), 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(), execute_posetree(), find_bbone_segment_index_straight(), blender::ed::greasepencil::get_bone_mat(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::gimbal_axis_pose(), gizmo_bbone_offset_get(), gizmo_bbone_offset_set(), blender::ed::object::jump_to_bone(), 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_with_depsgraph(), 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(), blender::ed::transform::pose_grab_with_ik(), blender::ed::transform::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(), blender::ed::transform::pose_transform_mirror_update(), poselib_keytag_pose(), rebuild_pose_bone(), rnapointer_pchan_to_bone(), should_draw_relation_to_parent(), skip_fcurve_selected_data(), splineik_evaluate_bone(), splineik_init_tree_from_pchan(), blender::animrig::tests::TEST_F(), blender::animrig::tests::TEST_F(), blender::ed::outliner::tree_element_posechannel_activate(), blender::ed::outliner::tree_element_posechannel_state_get(), blender::animrig::visualkey_get_values(), where_is_ik_bone(), and WIDGETGROUP_armature_spline_poll().

◆ chan_mat

◆ child

struct bPoseChannel* bPoseChannel::child

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

Definition at line 323 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 389 of file DNA_action_types.h.

Referenced by blender::ed::transform::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 338 of file DNA_action_types.h.

Referenced by BKE_pchan_minmax(), BKE_pose_channel_copy_data(), BKE_pose_channel_free_ex(), bone_draw_custom_shape(), blender::ed::transform::createTransPose(), draw_axes(), and update_duplicate_custom_bone_shapes().

◆ custom_rotation_euler

◆ custom_scale

float bPoseChannel::custom_scale

Definition at line 346 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 345 of file DNA_action_types.h.

Referenced by BKE_pchan_minmax(), BKE_pose_blend_read_data(), BKE_pose_channels_remove(), draw_axes(), draw_bone_update_disp_matrix_custom_shape(), and pose_edit_bone_duplicate().

◆ disp_mat

float bPoseChannel::disp_mat[4][4]

For display, pose_mat with bone length applied.

Definition at line 382 of file DNA_action_types.h.

Referenced by WIDGETGROUP_armature_spline_refresh().

◆ 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 384 of file DNA_action_types.h.

Referenced by draw_bone_update_disp_matrix_custom_shape(), and WIDGETGROUP_armature_spline_refresh().

◆ DNA_DEPRECATED [1/5]

float scale_out_x bPoseChannel::DNA_DEPRECATED

Definition at line 415 of file DNA_action_types.h.

◆ DNA_DEPRECATED [2/5]

float scale_out_x scale_out_z bPoseChannel::DNA_DEPRECATED

Definition at line 415 of file DNA_action_types.h.

◆ DNA_DEPRECATED [3/5]

float scale_in_x bPoseChannel::DNA_DEPRECATED

Definition at line 414 of file DNA_action_types.h.

◆ DNA_DEPRECATED [4/5]

float scale_in_x scale_in_z bPoseChannel::DNA_DEPRECATED

Definition at line 414 of file DNA_action_types.h.

◆ DNA_DEPRECATED [5/5]

char bboneflag bPoseChannel::DNA_DEPRECATED

Definition at line 315 of file DNA_action_types.h.

◆ draw_data

bPoseChannelDrawData* bPoseChannel::draw_data

Runtime data for color and bbone segment matrix.

Definition at line 425 of file DNA_action_types.h.

Referenced by BKE_pose_channel_free_ex(), bone_draw_b_bone(), bone_draw_wire(), draw_bone_update_disp_matrix_bbone(), and pchan_draw_data_init().

◆ drawflag

char bPoseChannel::drawflag

Definition at line 314 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 404 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 402 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 326 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 397 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 331 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]

Definition at line 300 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(), 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(), blender::ed::sculpt_paint::greasepencil::WeightPaintOperation::ensure_active_vertex_group_in_object(), is_animating_bone(), joined_armature_fix_links(), joined_armature_fix_links_constraints(), blender::ed::outliner::namebutton_fn(), blender::ed::object::parent_set_with_depsgraph(), 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(), blender::ed::transform::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(), and view_lock_to_active_exec().

◆ next

◆ orig_pchan

struct bPoseChannel* bPoseChannel::orig_pchan

Points to an original pose channel.

Definition at line 428 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 380 of file DNA_action_types.h.

Referenced by blender::ed::object::add_hook_object(), blender::ed::transform::add_pose_transdata(), apply_armature_pose2bones_exec(), blender::ed::transform::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_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_custom_shape(), draw_bone_update_disp_matrix_default(), dvar_eval_locDiff(), dvar_eval_rotDiff(), dvar_eval_transChan(), execute_posetree(), execute_scene(), blender::ed::greasepencil::get_bone_mat(), blender::ed::transform::getTransformOrientation_ex(), blender::ed::transform::gimbal_axis_pose(), blender::ed::transform::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(), 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

◆ protectflag

◆ quat

◆ roll1

◆ roll2

◆ rotAngle

◆ rotAxis

◆ rotmode

◆ runtime

◆ scale

◆ 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 313 of file DNA_action_types.h.

◆ siktree

struct ListBase bPoseChannel::siktree

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

Definition at line 328 of file DNA_action_types.h.

Referenced by splineik_execute_tree(), and splineik_init_tree_from_pchan().

◆ stiffness

float bPoseChannel::stiffness[3]

DOF stiffness.

Definition at line 399 of file DNA_action_types.h.

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

◆ system_properties

IDProperty* bPoseChannel::system_properties

System-defined custom properties storage.

In Blender 4.5, only used to ensure forward compatibility with 5.x blend-files, and data management consistency.

Definition at line 296 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), BKE_pose_channel_free_ex(), fcurves_to_pchan_links_get(), pose_backup_create(), and pose_bone_do_paste().

◆ temp

void* bPoseChannel::temp

Use for outliner.

Definition at line 423 of file DNA_action_types.h.

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


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