diff options
author | Andre Susano Pinto <andresusanopinto@gmail.com> | 2008-09-27 01:21:20 +0400 |
---|---|---|
committer | Andre Susano Pinto <andresusanopinto@gmail.com> | 2008-09-27 01:21:20 +0400 |
commit | 6cc87a10475922d8bc26c79917294a1c2dbfabf6 (patch) | |
tree | ece35f27467fc93b09747592029b11e30aabf3b6 /source/blender/makesdna | |
parent | eed854b296854d82d5e790c316b2460d6f42198f (diff) | |
parent | b542721f329304f2dc582436b3a5de92dc045956 (diff) |
Merge of SimpleDeform modifier from soc-2008-jaguarandi branch
http://wiki.blender.org/index.php/User:Jaguarandi/SummerOfCode2008/SimpleDeform
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_modifier_types.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_modifier_types.h b/source/blender/makesdna/DNA_modifier_types.h index 3e8f8702003..ae07434a37f 100644 --- a/source/blender/makesdna/DNA_modifier_types.h +++ b/source/blender/makesdna/DNA_modifier_types.h @@ -38,6 +38,7 @@ typedef enum ModifierType { eModifierType_Shrinkwrap, eModifierType_Fluidsim, eModifierType_Mask, + eModifierType_SimpleDeform, NUM_MODIFIER_TYPES } ModifierType; @@ -560,4 +561,32 @@ typedef struct ShrinkwrapModifierData { #define MOD_SHRINKWRAP_PROJECT_OVER_Z_AXIS (1<<2) #define MOD_SHRINKWRAP_PROJECT_OVER_NORMAL 0 /* projection over normal is used if no axis is selected */ + +typedef struct SimpleDeformModifierData { + ModifierData modifier; + + struct Object *origin; /* object to control the origin of modifier space coordinates */ + char vgroup_name[32]; /* optional vertexgroup name */ + float factor; /* factors to control simple deforms */ + float limit[2]; /* lower and upper limit */ + + char mode; /* deform function */ + char axis; /* lock axis (for taper and strech) */ + char originOpts; /* originOptions */ + char pad; + +} SimpleDeformModifierData; + +#define MOD_SIMPLEDEFORM_MODE_TWIST 1 +#define MOD_SIMPLEDEFORM_MODE_BEND 2 +#define MOD_SIMPLEDEFORM_MODE_TAPER 3 +#define MOD_SIMPLEDEFORM_MODE_STRETCH 4 + +#define MOD_SIMPLEDEFORM_LOCK_AXIS_X (1<<0) +#define MOD_SIMPLEDEFORM_LOCK_AXIS_Y (1<<1) + +/* indicates whether simple deform should use the local + coordinates or global coordinates of origin */ +#define MOD_SIMPLEDEFORM_ORIGIN_LOCAL (1<<0) + #endif |