- added modifiers_getVirtualModifierList, returns pointer to first modifier
[blender.git] / source / blender / makesdna / DNA_modifier_types.h
index c4c5227fa7382f14d770c68a74c8825e0148e681..29703eb3e54a0248372256d3020a5511a15a77fd 100644 (file)
@@ -12,6 +12,11 @@ typedef enum ModifierType {
        eModifierType_Curve,
        eModifierType_Build,
        eModifierType_Mirror,
+       eModifierType_Decimate,
+       eModifierType_Wave,
+       eModifierType_Armature,
+       eModifierType_Hook,
+       eModifierType_Softbody,
 
        NUM_MODIFIER_TYPES
 } ModifierType;
@@ -21,16 +26,21 @@ typedef enum ModifierType {
         * for render calc.
         */
 typedef enum ModifierMode {
-       eModifierMode_Disabled = 0,
        eModifierMode_Realtime = (1<<0),
        eModifierMode_Render = (1<<1),
        eModifierMode_Editmode = (1<<2),
+       eModifierMode_OnCage = (1<<3),
+       eModifierMode_Expanded = (1<<4),
+       eModifierMode_Virtual = (1<<5),
 } ModifierMode;
 
 typedef struct ModifierData {
        struct ModifierData *next, *prev;
 
        int type, mode;
+       char name[32];
+
+       char *error;
 } ModifierData;
 
 typedef enum {
@@ -71,4 +81,45 @@ typedef struct MirrorModifierData {
        float tolerance;
 } MirrorModifierData;
 
+typedef struct DecimateModifierData {
+       ModifierData modifier;
+
+       float percent;
+       int faceCount;
+} DecimateModifierData;
+
+typedef struct WaveModifierData {
+       ModifierData modifier;
+
+       short flag, pad;
+
+       float startx, starty, height, width;
+       float narrow, speed, damp;
+       
+       float timeoffs, lifetime;
+} WaveModifierData;
+
+typedef struct ArmatureModifierData {
+       ModifierData modifier;
+
+       struct Object *object;
+} ArmatureModifierData;
+
+typedef struct HookModifierData {
+       ModifierData modifier;
+
+       struct Object *object;
+       float parentinv[4][4];  /* matrix making current transform unmodified */
+       float cent[3];                  /* visualization of hook */
+       float falloff;                  /* if not zero, falloff is distance where influence zero */
+       
+       int *indexar;
+       int totindex;
+       float force;
+} HookModifierData;
+
+typedef struct SoftbodyModifierData {
+       ModifierData modifier;
+} SoftbodyModifierData;
+
 #endif