From BlenderWiki
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