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_modifier_types.h')
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h
index 431fcb7a243..8bbc2493632 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -94,6 +94,10 @@ typedef enum ModifierType {
eModifierType_WeightedNormal = 54,
eModifierType_Weld = 55,
eModifierType_Fluid = 56,
+ eModifierType_BParticles = 57,
+ eModifierType_BParticlesOutput = 58,
+ eModifierType_FunctionDeform = 59,
+ eModifierType_FunctionPoints = 60,
NUM_MODIFIER_TYPES,
} ModifierType;
@@ -2116,6 +2120,68 @@ enum {
#define MOD_MESHSEQ_READ_ALL \
(MOD_MESHSEQ_READ_VERT | MOD_MESHSEQ_READ_POLY | MOD_MESHSEQ_READ_UV | MOD_MESHSEQ_READ_COLOR)
+typedef struct FunctionDeformModifierData {
+ ModifierData modifier;
+ float control1;
+ int control2;
+ struct bNodeTree *function_tree;
+} FunctionDeformModifierData;
+
+typedef struct FunctionPointsModifierData {
+ ModifierData modifier;
+ float control1;
+ int control2;
+ struct bNodeTree *function_tree;
+} FunctionPointsModifierData;
+
+typedef struct BParticlesAttributeCacheFloat {
+ char name[64];
+ unsigned int floats_per_particle;
+ char _pad[4];
+ float *values;
+} BParticlesAttributeCacheFloat;
+
+typedef struct BParticlesTypeCache {
+ char name[64];
+ unsigned int particle_amount;
+
+ unsigned int num_attributes_float;
+ BParticlesAttributeCacheFloat *attributes_float;
+} BParticlesTypeCache;
+
+typedef struct BParticlesFrameCache {
+ unsigned int num_particle_types;
+ float frame;
+ BParticlesTypeCache *particle_types;
+} BParticlesFrameCache;
+
+typedef enum eBParticlesOutputType {
+ MOD_BPARTICLES_OUTPUT_POINTS,
+ MOD_BPARTICLES_OUTPUT_TETRAHEDONS,
+ MOD_BPARTICLES_OUTPUT_NONE,
+} eBParticlesOutputType;
+
+typedef struct BParticlesModifierData {
+ ModifierData modifier;
+
+ /* eBParticlesOutputType */
+ unsigned int output_type;
+
+ unsigned int num_cached_frames;
+ struct bNodeTree *node_tree;
+ BParticlesFrameCache *cached_frames;
+} BParticlesModifierData;
+
+typedef struct BParticlesOutputModifierData {
+ ModifierData modifier;
+ struct Object *source_object;
+ char source_particle_system[64];
+
+ /* eBParticlesOutputType */
+ unsigned int output_type;
+ char _pad[4];
+} BParticlesOutputModifierData;
+
#ifdef __cplusplus
}
#endif