Blender V2.61 - r43446
Classes | Defines | Typedefs | Functions

BKE_armature.h File Reference

Go to the source code of this file.

Classes

struct  PoseTarget
struct  PoseTree
struct  Mat4

Defines

#define PBONE_VISIBLE(arm, bone)   (((bone)->layer & (arm)->layer) && !((bone)->flag & BONE_HIDDEN_P))
#define _BONE_VISIBLE(arm, bone)   (((bone)->layer & (arm)->layer) && !((bone)->flag & BONE_HIDDEN_P))

Typedefs

typedef struct PoseTarget PoseTarget
typedef struct PoseTree PoseTree
typedef struct Mat4 Mat4

Functions

struct bArmatureadd_armature (const char *name)
struct bArmatureget_armature (struct Object *ob)
void free_bonelist (struct ListBase *lb)
void free_armature (struct bArmature *arm)
void make_local_armature (struct bArmature *arm)
struct bArmaturecopy_armature (struct bArmature *arm)
int bone_autoside_name (char name[64], int strip_number, short axis, float head, float tail)
struct Boneget_named_bone (struct bArmature *arm, const char *name)
float distfactor_to_bone (float vec[3], float b1[3], float b2[3], float rad1, float rad2, float rdist)
void where_is_armature (struct bArmature *arm)
void where_is_armature_bone (struct Bone *bone, struct Bone *prevbone)
void armature_rebuild_pose (struct Object *ob, struct bArmature *arm)
void where_is_pose (struct Scene *scene, struct Object *ob)
void where_is_pose_bone (struct Scene *scene, struct Object *ob, struct bPoseChannel *pchan, float ctime, int do_extra)
void where_is_pose_bone_tail (struct bPoseChannel *pchan)
void get_objectspace_bone_matrix (struct Bone *bone, float M_accumulatedMatrix[][4], int root, int posed)
void vec_roll_to_mat3 (float *vec, float roll, float mat[][3])
void mat3_to_vec_roll (float mat[][3], float *vec, float *roll)
int get_selected_defgroups (struct Object *ob, char *defbase_sel, int defbase_len)
void armature_mat_world_to_pose (struct Object *ob, float inmat[][4], float outmat[][4])
void armature_loc_world_to_pose (struct Object *ob, float *inloc, float *outloc)
void armature_mat_pose_to_bone (struct bPoseChannel *pchan, float inmat[][4], float outmat[][4])
void armature_loc_pose_to_bone (struct bPoseChannel *pchan, float *inloc, float *outloc)
void armature_mat_pose_to_delta (float delta_mat[][4], float pose_mat[][4], float arm_mat[][4])
void pchan_mat3_to_rot (struct bPoseChannel *pchan, float mat[][3], short use_compat)
void pchan_apply_mat4 (struct bPoseChannel *pchan, float mat[][4], short use_comat)
void pchan_to_mat4 (struct bPoseChannel *pchan, float chan_mat[4][4])
void pchan_calc_mat (struct bPoseChannel *pchan)
void BKE_rotMode_change_values (float quat[4], float eul[3], float axis[3], float *angle, short oldMode, short newMode)
Mat4b_bone_spline_setup (struct bPoseChannel *pchan, int rest)

Detailed Description

Since:
March 2001
Author:
nzc

Definition in file BKE_armature.h.


Define Documentation

#define _BONE_VISIBLE (   arm,
  bone 
)    (((bone)->layer & (arm)->layer) && !((bone)->flag & BONE_HIDDEN_P))

Definition at line 129 of file BKE_armature.h.

#define PBONE_VISIBLE (   arm,
  bone 
)    (((bone)->layer & (arm)->layer) && !((bone)->flag & BONE_HIDDEN_P))

Typedef Documentation

typedef struct Mat4 Mat4
typedef struct PoseTarget PoseTarget
typedef struct PoseTree PoseTree

Function Documentation

struct bArmature* add_armature ( const char *  name) [read]
void armature_loc_pose_to_bone ( struct bPoseChannel pchan,
float *  inloc,
float *  outloc 
)

Definition at line 1192 of file armature.c.

References armature_mat_pose_to_bone(), copy_v3_v3(), and MAT4_UNITY.

void armature_loc_world_to_pose ( struct Object ob,
float *  inloc,
float *  outloc 
)

Definition at line 1113 of file armature.c.

References armature_mat_world_to_pose(), copy_v3_v3(), and MAT4_UNITY.

void armature_mat_pose_to_bone ( struct bPoseChannel pchan,
float  inmat[][4],
float  outmat[][4] 
)
void armature_mat_pose_to_delta ( float  delta_mat[][4],
float  pose_mat[][4],
float  arm_mat[][4] 
)

Definition at line 1235 of file armature.c.

References invert_m4_m4(), and mult_m4_m4m4().

void armature_mat_world_to_pose ( struct Object ob,
float  inmat[][4],
float  outmat[][4] 
)

Definition at line 1095 of file armature.c.

References invert_m4_m4(), mult_m4_m4m4(), NULL, and Object::obmat.

Referenced by armature_loc_world_to_pose().

void armature_rebuild_pose ( struct Object ob,
struct bArmature arm 
)
Mat4* b_bone_spline_setup ( struct bPoseChannel pchan,
int  rest 
)
void BKE_rotMode_change_values ( float  quat[4],
float  eul[3],
float  axis[3],
float *  angle,
short  oldMode,
short  newMode 
)
int bone_autoside_name ( char  name[64],
int  strip_number,
short  axis,
float  head,
float  tail 
)
struct bArmature* copy_armature ( struct bArmature arm) [read]
float distfactor_to_bone ( float  vec[3],
float  b1[3],
float  b2[3],
float  rad1,
float  rad2,
float  rdist 
)

Definition at line 668 of file armature.c.

References F, normalize_v3(), sqrt(), and sub_v3_v3v3().

Referenced by armature_deform_verts(), dist_bone_deform(), and envelope_bone_weighting().

void free_armature ( struct bArmature arm)
void free_bonelist ( struct ListBase lb)
struct bArmature* get_armature ( struct Object ob) [read]
struct Bone* get_named_bone ( struct bArmature arm,
const char *  name 
) [read]
void get_objectspace_bone_matrix ( struct Bone bone,
float  M_accumulatedMatrix[][4],
int  root,
int  posed 
)
int get_selected_defgroups ( struct Object ob,
char *  defbase_sel,
int  defbase_len 
)
void make_local_armature ( struct bArmature arm)
void mat3_to_vec_roll ( float  mat[][3],
float *  vec,
float *  roll 
)
void pchan_apply_mat4 ( struct bPoseChannel pchan,
float  mat[][4],
short  use_comat 
)
void pchan_calc_mat ( struct bPoseChannel pchan)

Definition at line 2116 of file armature.c.

References bPoseChannel::chan_mat, and pchan_to_mat4().

Referenced by actcon_get_tarmat(), and where_is_pose_bone().

void pchan_mat3_to_rot ( struct bPoseChannel pchan,
float  mat[][3],
short  use_compat 
)
void pchan_to_mat4 ( struct bPoseChannel pchan,
float  chan_mat[4][4] 
)
void vec_roll_to_mat3 ( float *  vec,
float  roll,
float  mat[][3] 
)
void where_is_armature ( struct bArmature arm)

Definition at line 1429 of file armature.c.

References bArmature::bonebase, ListBase::first, Bone::next, NULL, and where_is_armature_bone().

Referenced by do_versions().

void where_is_armature_bone ( struct Bone bone,
struct Bone prevbone 
)
void where_is_pose ( struct Scene scene,
struct Object ob 
)
void where_is_pose_bone ( struct Scene scene,
struct Object ob,
struct bPoseChannel pchan,
float  ctime,
int  do_extra 
)
void where_is_pose_bone_tail ( struct bPoseChannel pchan)