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:
authorCampbell Barton <ideasman42@gmail.com>2013-01-21 19:41:00 +0400
committerCampbell Barton <ideasman42@gmail.com>2013-01-21 19:41:00 +0400
commitcaac27dcbc4fb652fbb417b4b312493b0ef0eea0 (patch)
treecb974c99dd41d9b15fdbe4518ea581d53ae6e666 /source/blender/makesdna/DNA_modifier_types.h
parent4c0ebedc66c849e2b019f3932bd2208dd9667428 (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.h56
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__ */