diff options
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 85 |
1 files changed, 83 insertions, 2 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 68aa7600cd1..66685c131d4 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -76,7 +76,9 @@ typedef enum ModifierType { eModifierType_Remesh = 41, eModifierType_Skin = 42, eModifierType_LaplacianSmooth = 43, - eModifierType_Triangulate = 44, + eModifierType_Triangulate = 44, + eModifierType_UVWarp = 45, + eModifierType_MeshCache = 46, NUM_MODIFIER_TYPES } ModifierType; @@ -742,6 +744,8 @@ typedef struct SolidifyModifierData { float offset; /* new surface offset level*/ float offset_fac; /* midpoint of the offset */ float offset_fac_vg; /* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */ + float offset_clamp; /* clamp offset based on surrounding geometry */ + float pad; float crease_inner; float crease_outer; float crease_rim; @@ -1132,6 +1136,7 @@ enum { #define MOD_LAPLACIANSMOOTH_Y (1<<2) #define MOD_LAPLACIANSMOOTH_Z (1<<3) #define MOD_LAPLACIANSMOOTH_PRESERVE_VOLUME (1 << 4) +#define MOD_LAPLACIANSMOOTH_NORMALIZED (1 << 5) typedef struct LaplacianSmoothModifierData { ModifierData modifier; @@ -1140,4 +1145,80 @@ typedef struct LaplacianSmoothModifierData { short flag, repeat; } LaplacianSmoothModifierData; -#endif +typedef struct UVWarpModifierData { + ModifierData modifier; + + char axis_u, axis_v; + char pad[6]; + float center[2]; /* used for rotate/scale */ + + struct Object *object_src; /* source */ + char bone_src[64]; /* optional name of bone target, MAX_ID_NAME-2 */ + struct Object *object_dst; /* target */ + char bone_dst[64]; /* optional name of bone target, MAX_ID_NAME-2 */ + + char vgroup_name[64]; /* optional vertexgroup name, MAX_VGROUP_NAME */ + char uvlayer_name[64]; /* MAX_CUSTOMDATA_LAYER_NAME */ +} UVWarpModifierData; + +/* cache modifier */ +typedef struct MeshCacheModifierData { + ModifierData modifier; + char flag; + char type; /* file format */ + char time_mode; + char play_mode; + + /* axis conversion */ + char forward_axis; + char up_axis; + char flip_axis; + + char interp; + + float factor; + char deform_mode; + char pad[7]; + + /* play_mode == MOD_MESHCACHE_PLAY_CFEA */ + float frame_start; + float frame_scale; + + /* play_mode == MOD_MESHCACHE_PLAY_EVAL */ + /* we could use one float for all these but their purpose is very different */ + float eval_frame; + float eval_time; + float eval_factor; + + char filepath[1024]; // FILE_MAX +} MeshCacheModifierData; + +enum { + MOD_MESHCACHE_TYPE_MDD = 1, + MOD_MESHCACHE_TYPE_PC2 = 2 +}; + +enum { + MOD_MESHCACHE_DEFORM_OVERWRITE = 0, + MOD_MESHCACHE_DEFORM_INTEGRATE = 1 +}; + +enum { + MOD_MESHCACHE_INTERP_NONE = 0, + MOD_MESHCACHE_INTERP_LINEAR = 1, + // MOD_MESHCACHE_INTERP_CARDINAL = 2 +}; + +enum { + MOD_MESHCACHE_TIME_FRAME = 0, + MOD_MESHCACHE_TIME_SECONDS = 1, + MOD_MESHCACHE_TIME_FACTOR = 2, +}; + +enum { + MOD_MESHCACHE_PLAY_CFEA = 0, + MOD_MESHCACHE_PLAY_EVAL = 1, +}; + + +#endif /* __DNA_MODIFIER_TYPES_H__ */ |