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:
authorTon Roosendaal <ton@blender.org>2005-08-19 16:35:15 +0400
committerTon Roosendaal <ton@blender.org>2005-08-19 16:35:15 +0400
commit9e05d6efb5acb808b43ecb9f8aed9e1fd99eebc8 (patch)
treea10272e6a06399c5f098afb428443debaefb4431 /source/blender/include/BIF_editarmature.h
parent92731af84f3f2bd77e844c722a69667de1329efd (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.h17
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