diff options
author | Ton Roosendaal <ton@blender.org> | 2005-09-26 19:34:21 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-09-26 19:34:21 +0400 |
commit | 43d290403704a0b953949ac2ca82c251feee0133 (patch) | |
tree | 6a7324f6fb3b83296c3c61c9e96edc707d78b23b /source/blender/makesdna | |
parent | 9656e8be02972740055f3614590645535840acc9 (diff) |
Cleanup and new features for vertex keys.
User doc: http://www.blender3d.org/cms/Shape_Keys.678.0.html
- The mixed use of "Vertex Key","Key" or "RVK" in Blender was a bit
confusing. Also a 'vertex key' assumes keys per vertex, which actually is
only a single key for the entire shape. The discussions on blender.org
forums all mentioned "Shape" or "Blend Shapes", which I think is an OK
name for a "Vertex Key" in the UI. :)
- Most work was code spaghetti cleanup. Doing shape-keys now nicely goes
via the depgraph and DerivedMesh. That then allows to have different
shapes per object, with the new "Pin" feature.
Objects now define what Shape is shown (ob->shapenr)
- Added a Shape Panel in the Edit buttons with the various options
- Fixed a lot of issues in the IpoWindow, with drawing the channels.
For example, deleting a key-line there caused the entire Relative option to
go wrong, same for moving the lines up/down.
Changing key-line order now reflects in order of channels. The active
Shape is drawn more clear now too.
- Noticed it doesnt work yet for curves/lattice. Need modifier advise!
Diffstat (limited to 'source/blender/makesdna')
-rw-r--r-- | source/blender/makesdna/DNA_key_types.h | 6 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_object_types.h | 11 |
2 files changed, 11 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_key_types.h b/source/blender/makesdna/DNA_key_types.h index ea4b1b866a5..a41d93997c1 100644 --- a/source/blender/makesdna/DNA_key_types.h +++ b/source/blender/makesdna/DNA_key_types.h @@ -43,8 +43,8 @@ typedef struct KeyBlock { struct KeyBlock *next, *prev; float pos; - short flag, pad; - short type, rt; + int pad; + short type, adrcode; int totelem; void *data; @@ -77,8 +77,8 @@ typedef struct Key { /* key->type */ #define KEY_NORMAL 0 #define KEY_RELATIVE 1 + /* key->flag */ -#define KEY_LOCKED 1 /* keyblock->type */ #define KEY_LINEAR 0 diff --git a/source/blender/makesdna/DNA_object_types.h b/source/blender/makesdna/DNA_object_types.h index 6bb18fe1df9..b4f0c369d55 100644 --- a/source/blender/makesdna/DNA_object_types.h +++ b/source/blender/makesdna/DNA_object_types.h @@ -190,10 +190,10 @@ typedef struct Object { LBuf lbuf; LBuf port; - float pad3, smoothresh; /* smoothresh is phong interpolation ray_shadow correction in render */ + short fluidsimFlag; /* NT toggle fluidsim participation on/off */ + char shapenr, shapeflag; /* current shape key for menu or pinned, flag for pinning */ + float smoothresh; /* smoothresh is phong interpolation ray_shadow correction in render */ - short fluidsimFlag; /* NT toggle fluidsim participation on/off */ - short dnapadFluidsimDummy1, dnapadFluidsimDummy2, dnapadFluidsimDummy3; /* 8byte align */ struct FluidsimSettings *fluidsimSettings; /* if fluidsim enabled, store additional settings */ struct DerivedMesh *derivedDeform, *derivedFinal; @@ -375,6 +375,11 @@ extern Object workob; #define OB_ADDACT 1024 #define OB_SHOWCONT 2048 +/* ob->shapeflag */ +#define OB_SHAPE_LOCK 1 +#define OB_SHAPE_TEMPLOCK 2 + + /* ob->softflag in DNA_object_force.h */ #ifdef __cplusplus |