diff options
author | Ton Roosendaal <ton@blender.org> | 2005-08-19 16:35:15 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2005-08-19 16:35:15 +0400 |
commit | 9e05d6efb5acb808b43ecb9f8aed9e1fd99eebc8 (patch) | |
tree | a10272e6a06399c5f098afb428443debaefb4431 /source/blender/include/BIF_editarmature.h | |
parent | 92731af84f3f2bd77e844c722a69667de1329efd (diff) |
Armature "Envelope" editing.
For defining the deformation distances of Bones, three values are being
used now. The bone tip and root radius define the bone-shape itself and the
"dist" defines the soft area around it. A full (user) doc is in CMS here;
http://www.blender3d.org/cms/Armature_Envelopes.647.0.html
Note: todo still is allowing both Vertex Deform Groups and these Envelopes
together (and or per Bone).
Also part of this commit is:
- New: Hiding bones in EditMode. This is a separate 'hide flag', so you can
keep the PoseMode hidden Bones separate from EditMode.
(In the future we should do some kind of bone-grouping or so)
- While transform(), the hotkeys G,R,S only switch mode when the previous
mode was compatible. Caused conflicts with Crease/BoneDist/etc.
- Deleting the last VertexGroup now also deletes the entire Mesh 'dvert'
data. Sounds logical, but remember that VertexGroups are partial on a
Mesh, partial on Object. Weird design decision though...
Anyhoo, at this moment the only way to have Bone Envelopes deform, is
by deleting all VertexGroups!
- In PoseMode, the hotkey ALT+S now does both B-Bone size or Envelope,
depending draw type.
- In EditMode, Extrude now also works when only Root points were selected.
- Weight editing is also symmetrical btw, with the "X-axis Mirror" option
set.
Diffstat (limited to 'source/blender/include/BIF_editarmature.h')
-rw-r--r-- | source/blender/include/BIF_editarmature.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/source/blender/include/BIF_editarmature.h b/source/blender/include/BIF_editarmature.h index 73807dab5dc..6afe0903a21 100644 --- a/source/blender/include/BIF_editarmature.h +++ b/source/blender/include/BIF_editarmature.h @@ -43,7 +43,7 @@ typedef struct EditBone struct EditBone *parent;/* Editbones have a one-way link (i.e. children refer to parents. This is converted to a two-way link for normal bones when leaving editmode. */ - void *temp; /* Used to store temporary data */ + void *temp; /* Used to store temporary data */ char name[32]; float roll; /* Roll along axis. We'll ultimately use the axis/angle method @@ -59,17 +59,14 @@ typedef struct EditBone int flag; int parNr; /* Used for retrieving values from the menu system */ - /* Storage for transformation data used by the posing system. - Maybe a better solution would be to make bones a blenderObject - variant? Or perhaps to use a TOTALLY custom transformation scheme - for pose element, rather than trying to use the existing transObject - system? - */ + float dist, weight; float xwidth, length, zwidth; /* put them in order! transform uses this as scale */ float ease1, ease2; + float rad_head, rad_tail; short boneclass, segments; - + + float oldlength; /* for envelope scaling */ } EditBone; @@ -127,6 +124,10 @@ void armature_bone_rename(struct bArmature *arm, char *oldname, char *newname); void armature_flip_names(void); EditBone *armature_bone_get_mirrored(EditBone *ebo); +void hide_selected_armature_bones(void); +void hide_unselected_armature_bones(void); +void show_all_armature_bones(void); + #define BONESEL_ROOT 0x10000000 #define BONESEL_TIP 0x20000000 #define BONESEL_BONE 0x40000000 |