Blender V5.0
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 DNA_DEPRECATED
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 299 of file DNA_action_types.h.

Member Data Documentation

◆ _pad

char bPoseChannel::_pad[6]

Definition at line 390 of file DNA_action_types.h.

◆ _pad0

char bPoseChannel::_pad0[4]

Definition at line 338 of file DNA_action_types.h.

◆ _pad2

void* bPoseChannel::_pad2

Definition at line 454 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 330 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 441 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 post_edit_bone_duplicate().

◆ bone

struct Bone* bPoseChannel::bone

Set on read file or rebuild pose.

Definition at line 341 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(), applyarmature_transfer_properties(), blender::bke::armature_vert_task_with_mixer(), armdef_accumulate_bone(), armdef_evaluate(), BKE_bone_parent_transform_calc_from_pchan(), BKE_constraint_apply_for_pose(), BKE_constraint_mat_convertspace(), 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_selectable(), blender::animrig::bone_is_visible(), bone_mouse_select_menu(), blender::ui::bonedropper_sample(), 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(), blender::bke::dist_bone_deform(), 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_armature_pose_select_pick_bone(), ED_pose_bone_select(), execute_posetree(), find_bbone_segment_index_straight(), blender::bke::get_armature_deform_params(), blender::ed::greasepencil::get_bone_mat(), 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::object::parent_set_with_depsgraph(), blender::bke::pchan_bone_deform(), pchan_draw_data_init(), blender::animrig::pose_bone_descendent_iterator(), blender::ed::transform::pose_channel_children_clear_transflag(), pose_channel_in_IK_chain(), blender::animrig::pose_depth_iterator_recursive(), pose_do_bone_select(), blender::ed::transform::pose_grab_with_ik(), blender::ed::transform::pose_grab_with_ik_add(), pose_select_connected_invoke(), pose_select_constraint_target_exec(), pose_select_hierarchy_exec(), pose_select_linked_exec(), pose_select_mirror_exec(), pose_select_parent_exec(), pose_select_same_collection(), blender::ed::transform::pose_transform_mirror_update(), rebuild_pose_bone(), rnapointer_pchan_to_bone(), selectconnected_posebonechildren(), skip_fcurve_selected_data(), splineik_evaluate_bone(), splineik_init_tree_from_pchan(), blender::ed::outliner::tree_element_posechannel_activate(), blender::bke::tests::ArmatureDeformTestBase::update_pose_matrices(), 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 345 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 411 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 360 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(), transform_follows_custom_tx(), and update_duplicate_custom_bone_shapes().

◆ custom_rotation_euler

◆ custom_scale

float bPoseChannel::custom_scale

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

Referenced by BKE_pchan_minmax(), BKE_pose_blend_read_data(), BKE_pose_channel_transform_location(), BKE_pose_channel_transform_orientation(), BKE_pose_channels_remove(), draw_axes(), draw_bone_update_disp_matrix_custom_shape(), post_edit_bone_duplicate(), and transform_follows_custom_tx().

◆ disp_mat

float bPoseChannel::disp_mat[4][4]

For display, pose_mat with bone length applied.

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

Referenced by draw_bone_update_disp_matrix_custom_shape(), and WIDGETGROUP_armature_spline_refresh().

◆ DNA_DEPRECATED [1/6]

float scale_out_x bPoseChannel::DNA_DEPRECATED

Definition at line 437 of file DNA_action_types.h.

◆ DNA_DEPRECATED [2/6]

float scale_out_x scale_out_z bPoseChannel::DNA_DEPRECATED

Definition at line 437 of file DNA_action_types.h.

◆ DNA_DEPRECATED [3/6]

float scale_in_x bPoseChannel::DNA_DEPRECATED

Definition at line 436 of file DNA_action_types.h.

◆ DNA_DEPRECATED [4/6]

float scale_in_x scale_in_z bPoseChannel::DNA_DEPRECATED

Definition at line 436 of file DNA_action_types.h.

◆ DNA_DEPRECATED [5/6]

char bboneflag bPoseChannel::DNA_DEPRECATED

Definition at line 337 of file DNA_action_types.h.

◆ DNA_DEPRECATED [6/6]

char selectflag bPoseChannel::DNA_DEPRECATED

This used to store the selectionflag for serialization but is not longer required since that is now natively stored on the flag property.

Definition at line 335 of file DNA_action_types.h.

◆ draw_data

bPoseChannelDrawData* bPoseChannel::draw_data

Runtime data for color and bbone segment matrix.

Definition at line 447 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

◆ ease1

◆ ease2

◆ eul

◆ flag

short bPoseChannel::flag

Dynamic, for detecting transform changes (ePchan_Flag).

Definition at line 324 of file DNA_action_types.h.

Referenced by blender::ed::transform::add_pose_transdata(), animchan_sync_group(), BKE_object_defgroup_selected_get(), BKE_pose_constraints_evaluate(), BKE_pose_copy_pchan_result(), BKE_pose_eval_bone(), bone_collection_select(), blender::animrig::bone_is_selected(), bone_selection_flags_add(), bone_selection_flags_set(), blender::deg::DepsgraphRelationBuilder::build_ik_pose(), blender::deg::DepsgraphRelationBuilder::build_splineik_pose(), blender::ed::object::calc_active_center_for_posemode(), can_delete_fcurve(), compute_vertex_mask__armature_mode(), convert_channels(), dgroup_skinnable_cb(), do_circle_select_pose__doSelectBone(), draw_bone_name(), draw_bone_relations(), ed_armature_pick_bone_from_selectbuffer_impl(), ED_armature_pose_select_pick_bone(), ED_pose_bone_select(), execute_scene(), fcurves_to_pchan_links_get(), init_scene(), initialize_chain(), initialize_posetree(), blender::ed::outliner::outliner_select_sync_from_pose_bone(), blender::ed::outliner::outliner_select_sync_to_pose_bone(), pchan_circle_doSelectJoint(), blender::ed::outliner::pchan_fn(), pose_bone_do_paste(), pose_do_bone_select(), blender::ed::transform::pose_grab_with_ik(), pose_select_connected_invoke(), pose_select_constraint_target_exec(), pose_select_hierarchy_exec(), pose_select_linked_exec(), pose_select_parent_exec(), pose_select_same_keyingset(), pose_slide_apply(), pose_slide_rest_pose_apply(), selectconnected_posebonechildren(), 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::editor::animation::tests::TEST_F(), transform_follows_custom_tx(), blender::ed::outliner::tree_element_posechannel_activate(), blender::ed::outliner::tree_element_posechannel_state_get(), and where_is_ik_bone().

◆ ikflag

◆ iklinweight

float bPoseChannel::iklinweight

Weight of joint stretch constraint.

Definition at line 426 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 424 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 348 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 419 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 353 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 321 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(), blender::animrig::pose_bone_descendent_iterator(), pose_bone_do_paste(), blender::animrig::pose_depth_iterator_recursive(), 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 450 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

struct bPoseChannel* bPoseChannel::parent

Set on read file or rebuild pose.

Definition at line 343 of file DNA_action_types.h.

Referenced by blender::ed::transform::add_pose_transdata(), blender::ed::transform::apply_targetless_ik(), applyarmature_process_selected_recursive(), base_callback(), BKE_armature_ik_solver_find_root(), BKE_armature_splineik_solver_find_root(), BKE_bone_parent_transform_calc_from_pchan(), BKE_pchan_bbone_handles_get(), BKE_pose_blend_read_data(), BKE_pose_update_constraint_flags(), BKE_pose_where_is_bone(), bone_draw_envelope(), blender::deg::DepsgraphRelationBuilder::build_ik_pose(), blender::deg::DepsgraphRelationBuilder::build_inter_ik_chains(), blender::deg::DepsgraphRelationBuilder::build_splineik_pose(), convert_pose(), convert_tree(), draw_bone_degrees_of_freedom(), draw_bone_relations(), execute_posetree(), blender::ed::outliner::TreeElementPoseBase::expand(), blender::ed::transform::gimbal_axis_pose(), blender::ed::transform::handle_armature_parent_orientation(), initialize_chain(), initialize_posetree(), make_dmats(), parent_relative_pose_mat(), pchan_draw_ik_lines(), pose_bone_is_below_one_of(), pose_bone_runtime_flag_test_recursive(), blender::ed::transform::pose_grab_with_ik(), blender::ed::transform::pose_grab_with_ik_add(), pose_select_connected_invoke(), pose_select_hierarchy_exec(), pose_select_linked_exec(), pose_select_parent_exec(), rebuild_pose_bone(), should_draw_relation_to_parent(), splineik_init_tree_from_pchan(), target_callback(), blender::animrig::visualkey_can_use(), and where_is_ik_bone().

◆ 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 402 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(), 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_channel_transform_location(), BKE_pose_channel_transform_orientation(), 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::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 302 of file DNA_action_types.h.

Referenced by rebuild_pose_bone().

◆ prop

IDProperty* bPoseChannel::prop

User-defined custom properties storage on this PoseChannel. Typically Accessed through the 'dict' syntax from Python.

Definition at line 308 of file DNA_action_types.h.

Referenced by BKE_pose_channel_copy_data(), BKE_pose_channel_free_ex(), fcurves_to_pchan_links_get(), blender::animrig::get_keyable_id_property_paths(), blender::io::fbx::pchan_EnsureProperties(), pose_backup_create(), and pose_bone_do_paste().

◆ protectflag

◆ quat

◆ roll1

◆ roll2

◆ rotAngle

◆ rotAxis

◆ rotmode

◆ runtime

◆ scale

◆ scale_in

◆ scale_out

◆ siktree

struct ListBase bPoseChannel::siktree

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

Definition at line 350 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 421 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. Used to store data dynamically defined either by Blender itself (e.g. the GeoNode modifier), or some python script, extension etc.

Typically accessed through RNA paths (C.object.my_dynamic_float_property = 33.3), when wrapped/defined by RNA.

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

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


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