From BlenderWiki

Jump to: navigation, search

ArmatureStructs

DNA Documentation

Structs

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