Particle merge: svn merge -r 12653:12664 https://svn.blender.org/svnroot/bf-blender...
[blender-staging.git] / source / blender / makesdna / DNA_modifier_types.h
index 982df45e77a8aa6df1c9ae9828bb0a74611a284b..65eec871404030d5af4875476b91701e4e84705a 100644 (file)
@@ -32,6 +32,8 @@ typedef enum ModifierType {
        eModifierType_ParticleSystem,
        eModifierType_ParticleInstance,
        eModifierType_Explode,
+       eModifierType_Cloth,
+        eModifierType_Collision,
        NUM_MODIFIER_TYPES
 } ModifierType;
 
@@ -341,6 +343,27 @@ typedef struct SoftbodyModifierData {
        ModifierData modifier;
 } SoftbodyModifierData;
 
+typedef struct ClothModifierData {
+   ModifierData                modifier;
+
+   struct Cloth *clothObject; /* The internal data structure for cloth. */
+   struct SimulationSettings *sim_parms; /* definition is in DNA_cloth_types.h */
+   struct CollisionSettings *coll_parms; /* definition is in DNA_cloth_types.h */
+} ClothModifierData;
+
+typedef struct CollisionModifierData {
+       ModifierData            modifier;
+       
+       struct MVert *x; /* position at the beginning of the frame */
+       struct MVert *xnew; /* position at the end of the frame */
+       struct MVert *current_xnew; /* new position at the actual inter-frame step */
+       struct MVert *current_x; /* position at the actual inter-frame step */
+       
+       unsigned int numverts;
+       float time;
+       struct BVH *tree;       /* collision tree for this cloth object */
+} CollisionModifierData;
+
 typedef enum {
        eBooleanModifierOp_Intersect,
        eBooleanModifierOp_Union,