svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r20937:21899
[blender.git] / source / blender / makesdna / DNA_object_force.h
index 28b5786917d16d4796408c2751144974911ccc63..b5b33610bfe3e2b77826a1fb744f724af5da3533 100644 (file)
@@ -33,6 +33,8 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+
+#include "DNA_listBase.h"
        
 typedef struct PartDeflect {
        short deflect;          /* Deflection flag - does mesh deflect particles*/
@@ -72,12 +74,31 @@ typedef struct PartDeflect {
        int seed; /* wind noise random seed */
 } PartDeflect;
 
+typedef struct PTCacheMem {
+       struct PTCacheMem *next, *prev;
+       int frame, totpoint;
+       float *data;    /* data points */
+       void *xdata;    /* extra data */
+} PTCacheMem;
+
 typedef struct PointCache {
        int flag;               /* generic flag */
+       int step;               /* frames between cached frames */
        int simframe;   /* current frame of simulation (only if SIMULATION_VALID) */
        int startframe; /* simulation start frame */
        int endframe;   /* simulation end frame */
        int editframe;  /* frame being edited (runtime only) */
+       int last_exact; /* last exact frame that's cached */
+
+       /* for external cache files */
+       int totpoint;   /* number of cached points */
+       int index, rt;  /* modifier stack index */
+       
+       char name[64];
+       char prev_name[64];
+       char info[64];
+       char path[240]; /* file path */
+       struct ListBase mem_cache;
 } PointCache;
 
 typedef struct SBVertex {
@@ -221,6 +242,7 @@ typedef struct SoftBody {
 #define PFIELD_HARMONIC        7
 #define PFIELD_CHARGE  8
 #define PFIELD_LENNARDJ        9
+#define PFIELD_BOID            10
 
 
 /* pd->flag: various settings */
@@ -257,9 +279,16 @@ typedef struct SoftBody {
 #define PTCACHE_BAKING                         8
 #define PTCACHE_BAKE_EDIT                      16
 #define PTCACHE_BAKE_EDIT_ACTIVE       32
+#define PTCACHE_DISK_CACHE                     64
+#define PTCACHE_QUICK_CACHE                    128
+#define PTCACHE_FRAMES_SKIPPED         256
+#define PTCACHE_EXTERNAL                       512
+
+/* PTCACHE_OUTDATED + PTCACHE_FRAMES_SKIPPED */
+#define PTCACHE_REDO_NEEDED                    258
 
 /* ob->softflag */
-#define OB_SB_ENABLE   1
+#define OB_SB_ENABLE   1               /* deprecated, use modifier */
 #define OB_SB_GOAL             2
 #define OB_SB_EDGES            4
 #define OB_SB_QUADS            8