svn merge -r 21041:21301 https://svn.blender.org/svnroot/bf-blender/branches/blender2...
[blender.git] / source / blender / makesdna / DNA_object_force.h
index 718d1a1783466a92c6f0f263d16548fdd9de2fbf..88d9894cf7a16208ec749733a8437157b55cd887 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,26 @@ 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 */
+       int xdata_type; /* type of extra data */
+       char name[64];
+       char prev_name[64];
+       char info[64];
+       struct ListBase mem_cache;
 } PointCache;
 
 typedef struct SBVertex {
@@ -247,6 +263,12 @@ 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
+
+/* PTCACHE_OUTDATED + PTCACHE_FRAMES_SKIPPED */
+#define PTCACHE_REDO_NEEDED                    258
 
 /* ob->softflag */
 #define OB_SB_ENABLE   1