diff options
author | Nick Samarin <nicks1987@bigmir.net> | 2011-05-17 00:30:59 +0400 |
---|---|---|
committer | Nick Samarin <nicks1987@bigmir.net> | 2011-05-17 00:30:59 +0400 |
commit | a918040902bdeb7c9793168710871e4a3b7777a3 (patch) | |
tree | 7380f00bce5448d777d09f4be4d7127e8eecec49 /source/blender/makesdna/DNA_modifier_types.h | |
parent | daeca2f8262884c436c5678225704b594ce5347b (diff) | |
parent | 99ee18c684da65ba774175c0b57a086e8222464a (diff) |
synched with trunk at revision 36569
Diffstat (limited to 'source/blender/makesdna/DNA_modifier_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 85 |
1 files changed, 72 insertions, 13 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 6e8367385ed..ac5e411e18b 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -1,5 +1,4 @@ -/** - * +/* * $Id$ * * ***** BEGIN GPL LICENSE BLOCK ***** @@ -21,11 +20,16 @@ * ***** END GPL LICENSE BLOCK ***** */ -#include "DNA_listBase.h" - #ifndef DNA_MODIFIER_TYPES_H #define DNA_MODIFIER_TYPES_H +/** \file DNA_modifier_types.h + * \ingroup DNA + */ + +#include "DNA_listBase.h" + + #define MODSTACK_DEBUG 1 /* WARNING ALERT! TYPEDEF VALUES ARE WRITTEN IN FILES! SO DO NOT CHANGE! */ @@ -66,8 +70,6 @@ typedef enum ModifierType { eModifierType_ShapeKey, eModifierType_Solidify, eModifierType_Screw, - /* placeholder, keep this so durian files load in - * trunk with the correct modifier once its merged */ eModifierType_Warp, eModifierType_NavMesh, NUM_MODIFIER_TYPES @@ -104,6 +106,17 @@ typedef enum { eSubsurfModifierFlag_SubsurfUv = (1<<3) } SubsurfModifierFlag; +/* not a real modifier */ +typedef struct MappingInfoModifierData { + ModifierData modifier; + + struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; +} MappingInfoModifierData; + typedef struct SubsurfModifierData { ModifierData modifier; @@ -289,15 +302,19 @@ typedef struct SmokeModifierData { typedef struct DisplaceModifierData { ModifierData modifier; + /* keep in sync with MappingInfoModifierData */ struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; + int pad10; + /* end MappingInfoModifierData */ + float strength; int direction; char defgrp_name[32]; float midlevel; - int texmapping; - struct Object *map_object; - char uvlayer_name[32]; - int uvlayer_tmp, pad; } DisplaceModifierData; /* DisplaceModifierData->direction */ @@ -471,7 +488,7 @@ typedef struct CollisionModifierData { unsigned int numverts; unsigned int numfaces; - float time, pad; /* cfra time of modifier */ + float time_x, time_xnew; /* cfra time of modifier */ struct BVHTree *bvhtree; /* bounding volume hierarchy for this cloth object */ } CollisionModifierData; @@ -585,7 +602,7 @@ typedef struct ParticleInstanceModifierData { typedef enum { eExplodeFlag_CalcFaces = (1<<0), eExplodeFlag_PaSize = (1<<1), - eExplodeFlag_EdgeSplit = (1<<2), + eExplodeFlag_EdgeCut = (1<<2), eExplodeFlag_Unborn = (1<<3), eExplodeFlag_Alive = (1<<4), eExplodeFlag_Dead = (1<<5), @@ -596,6 +613,7 @@ typedef struct ExplodeModifierData { int *facepa; short flag, vgroup; float protect; + char uvname[32]; } ExplodeModifierData; typedef struct MultiresModifierData { @@ -701,13 +719,16 @@ typedef struct SolidifyModifierData { float crease_outer; float crease_rim; int flag; + short mat_ofs; + short mat_ofs_rim; + int pad; } SolidifyModifierData; #define MOD_SOLIDIFY_RIM (1<<0) #define MOD_SOLIDIFY_EVEN (1<<1) #define MOD_SOLIDIFY_NORMAL_CALC (1<<2) #define MOD_SOLIDIFY_VGROUP_INV (1<<3) -#define MOD_SOLIDIFY_RIM_MATERIAL (1<<4) +#define MOD_SOLIDIFY_RIM_MATERIAL (1<<4) /* deprecated, used in do_versions */ typedef struct ScrewModifierData { ModifierData modifier; @@ -730,4 +751,42 @@ typedef struct NavMeshModifierData { ModifierData modifier; } NavMeshModifierData; +typedef struct WarpModifierData { + ModifierData modifier; + + /* keep in sync with MappingInfoModifierData */ + struct Tex *texture; + struct Object *map_object; + char uvlayer_name[32]; + int uvlayer_tmp; + int texmapping; + int pad10; + /* end MappingInfoModifierData */ + + float strength; + + struct Object *object_from; + struct Object *object_to; + struct CurveMapping *curfalloff; + char defgrp_name[32]; /* optional vertexgroup name */ + float falloff_radius; + char flag; /* not used yet */ + char falloff_type; + char pad[2]; +} WarpModifierData; + +#define MOD_WARP_VOLUME_PRESERVE 1 + +typedef enum { + eWarp_Falloff_None = 0, + eWarp_Falloff_Curve = 1, + eWarp_Falloff_Sharp = 2, /* PROP_SHARP */ + eWarp_Falloff_Smooth = 3, /* PROP_SMOOTH */ + eWarp_Falloff_Root = 4, /* PROP_ROOT */ + eWarp_Falloff_Linear = 5, /* PROP_LIN */ + eWarp_Falloff_Const = 6, /* PROP_CONST */ + eWarp_Falloff_Sphere = 7, /* PROP_SPHERE */ + /* PROP_RANDOM not used */ +} WarpModifierFalloff; + #endif |