Dev:2.4/Source/Animation/ArmatureStructs
ArmatureStructs
DNA Documentation
The Armature Structs
The Bone struct
typedef struct Bone {
struct Bone *next, *prev; /* Next/prev elements within this list */
struct Bone *parent; /* Parent (ik parent if appropriate flag is set */
ListBase childbase; /* Children */
char name[32]; /* Name of the bone - must be unique within the armature */
float roll;
float head[3]; /* Orientation & length are implicit now */
float tail[3]; /* head/tail represents rest state */
int flag;
/* Transformation data used for posing:
The same information stored by other
blenderObjects
*/
float dist, weight;
float loc[3], dloc[3];
float size[3], dsize[3];
float quat[4], dquat[4];
float obmat[4][4]; /* rotation and translation matrix for bone represents current position */
float parmat[4][4];
float defmat[4][4];
float irestmat[4][4]; /* Cached inverse of rest matrix (objectspace)*/
float posemat[4][4]; /* Cached pose matrix (objectspace) never used*/
short boneclass;
short filler1;
short filler2;
short filler3;
}Bone;
The bArmature struct
typedef struct bArmature {
ID id;
ListBase bonebase;
ListBase chainbase;
int flag;
int res1;
int res2;
int res3;
}bArmature;
-- JeremyWall - 21 May 2004