diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-01-21 19:41:00 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-01-21 19:41:00 +0400 |
commit | caac27dcbc4fb652fbb417b4b312493b0ef0eea0 (patch) | |
tree | cb974c99dd41d9b15fdbe4518ea581d53ae6e666 /source/blender/makesdna/DNA_modifier_types.h | |
parent | 4c0ebedc66c849e2b019f3932bd2208dd9667428 (diff) |
mesh-cache deform modifier,
supports MDD and PC2 formats.
see wiki docs:
http://wiki.blender.org/index.php/Doc:2.6/Manual/Modifiers/Deform/Mesh_Cache
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index feeaff0d4fb..2f9da059fc0 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -77,7 +77,8 @@ typedef enum ModifierType { eModifierType_Skin = 42, eModifierType_LaplacianSmooth = 43, eModifierType_Triangulate = 44, - eModifierType_UVWarp = 45, + eModifierType_UVWarp = 45, + eModifierType_MeshCache = 46, NUM_MODIFIER_TYPES } ModifierType; @@ -1158,4 +1159,57 @@ typedef struct UVWarpModifierData { 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; + + char pad[4]; + + /* 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_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__ */ |