WIP commit, (just in case my HD breaks down). Don't expect anything to work. Code...
[blender.git] / source / blender / makesdna / DNA_object_force.h
index 4af5c356a307dd3e4bba2f3e829d4173d980dd8b..062989d07548d8d1fe54e87eef9ce791d35d9766 100644 (file)
@@ -84,7 +84,8 @@ typedef struct SoftBody {
        float maxgoal;
        float defgoal;          /* default goal for vertices without vgroup */
        short vertgroup;        /* index starting at 1 */
-       short pad1;
+  
+       short fuzzyness;      /* */
        
        /* springs */
        float inspring;         /* softbody inner springs */
@@ -93,12 +94,25 @@ typedef struct SoftBody {
        /* baking */
        int sfra, efra;
        int interval;
-       short local, pad2;              /* local==1: use local coords for baking */
+       short local, solverflags;               /* local==1: use local coords for baking */
        
        SBVertex **keys;                        /* array of size totpointkey */
        int totpointkey, totkey;        /* if totpointkey != totpoint or totkey!- (efra-sfra)/interval -> free keys */
        float secondspring;
-       float colball;          /* fixed collision ball zize if > 0 */
+
+       /* self collision*/
+       float colball;          /* fixed collision ball size if > 0 */
+       float balldamp;         /* cooling down collision response  */
+       float ballstiff;        /* pressure the ball is loaded with  */
+       short sbc_mode;
+    short aeroedge,
+               minloops,
+               maxloops,
+               choke,
+               pad3,pad4,pad5
+               ;   
+
+       struct SBScratch *scratch;      /* scratch pad/cache on live time not saved in file */
 } SoftBody;
 
 /* pd->forcefield:  Effector Fields types */
@@ -124,7 +138,12 @@ typedef struct SoftBody {
 #define OB_SB_BAKEDO   128
 #define OB_SB_RESET            256
 #define OB_SB_SELF             512
-#define OB_SB_COLLISIONSET 1024
+#define OB_SB_FACECOLL  1024
+#define OB_SB_EDGECOLL  2048
+#define OB_SB_COLLFINAL 4096
+
+#define SBSO_MONITOR    1 
+#define SBSO_OLDERR     2 
 
 #ifdef __cplusplus
 }