Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesdna/DNA_simulation_types.h')
-rw-r--r--source/blender/makesdna/DNA_simulation_types.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_simulation_types.h b/source/blender/makesdna/DNA_simulation_types.h
index 113c301bb9e..93ba9c425f0 100644
--- a/source/blender/makesdna/DNA_simulation_types.h
+++ b/source/blender/makesdna/DNA_simulation_types.h
@@ -22,6 +22,7 @@
#define __DNA_SIMULATION_TYPES_H__
#include "DNA_ID.h"
+#include "DNA_customdata_types.h"
typedef struct Simulation {
ID id;
@@ -30,12 +31,49 @@ typedef struct Simulation {
struct bNodeTree *nodetree;
int flag;
- int _pad1[1];
+ int _pad;
+
+ /** List containing SimulationState objects. */
+ struct ListBase states;
} Simulation;
+typedef struct SimulationState {
+ struct SimulationState *next;
+ struct SimulationState *prev;
+
+ /** This is only initialized on cow copies of the simulation. It points to the state on the
+ * original data block. That is where the cache is stored. */
+ struct SimulationState *orig_state;
+
+ /** eSimulationStateType */
+ int type;
+ int _pad;
+
+ char name[64];
+} SimulationState;
+
+typedef struct ParticleSimulationState {
+ SimulationState head;
+
+ /** Contains the state of the particles at time current_frame. */
+ float current_frame;
+ int tot_particles;
+ struct CustomData attributes;
+
+ /** Caches the state of the particles over time. The cache only exists on the original data
+ * block, not on cow copies. */
+ struct PointCache *point_cache;
+ struct ListBase ptcaches;
+} ParticleSimulationState;
+
/* Simulation.flag */
enum {
SIM_DS_EXPAND = (1 << 0),
};
+/* SimulationCache.type */
+typedef enum eSimulationStateType {
+ SIM_STATE_TYPE_PARTICLES = 0,
+} eSimulationStateType;
+
#endif /* __DNA_SIMULATION_TYPES_H__ */