soc-2008-mxcurioni: merged changes to revision 23516
[blender.git] / source / blender / makesdna / DNA_armature_types.h
index 673855a6932009f7c3da12ede50fdc5acdd42260..590e7dadcdcaec9c5676acf787fdd559b2ba911c 100644 (file)
@@ -31,6 +31,8 @@
 #include "DNA_listBase.h"
 #include "DNA_ID.h"
 
+struct AnimData;
+
 /* this system works on different transformation space levels;
 
 1) Bone Space;         with each Bone having own (0,0,0) origin
@@ -69,8 +71,13 @@ typedef struct Bone {
 
 typedef struct bArmature {
        ID                      id;
+       struct AnimData *adt;
        ListBase        bonebase;
        ListBase        chainbase;
+       ListBase        *edbo;                                  /* editbone listbase, we use pointer so we can check state */
+       
+       void            *sketch;                                /* sketch struct for etch-a-ton */
+       
        int                     flag;
        int                     drawtype;                       
        short           deformflag; 
@@ -98,7 +105,8 @@ typedef enum eArmature_Flag {
        ARM_AUTO_IK                     = (1<<9),
        ARM_NO_CUSTOM           = (1<<10),      /* made option negative, for backwards compat */
        ARM_COL_CUSTOM          = (1<<11),      /* draw custom colours  */
-       ARM_GHOST_ONLYSEL       = (1<<12)       /* when ghosting, only show selected bones (this should belong to ghostflag instead) */
+       ARM_GHOST_ONLYSEL       = (1<<12),      /* when ghosting, only show selected bones (this should belong to ghostflag instead) */
+       ARM_DS_EXPAND           = (1<<13)
 } eArmature_Flag;
 
 /* armature->drawtype */
@@ -154,7 +162,10 @@ typedef enum eBone_Flag {
        BONE_NO_SCALE                           = (1<<15),      /* No parent scale */
        BONE_HIDDEN_PG                          = (1<<16),      /* hidden bone when drawing PoseChannels (for ghost drawing) */
        BONE_DRAWWIRE                           = (1<<17),      /* bone should be drawn as OB_WIRE, regardless of draw-types of view+armature */
-       BONE_NO_CYCLICOFFSET            = (1<<18)       /* when no parent, bone will not get cyclic offset */
+       BONE_NO_CYCLICOFFSET            = (1<<18),      /* when no parent, bone will not get cyclic offset */
+       BONE_EDITMODE_LOCKED            = (1<<19),      /* bone transforms are locked in EditMode */
+       BONE_TRANSFORM_CHILD            = (1<<20),      /* Indicates that a parent is also being transformed */
+       BONE_UNSELECTABLE                       = (1<<21),      /* bone cannot be selected */
 } eBone_Flag;
 
 #endif