diff options
author | Chris Want <cwant@ualberta.ca> | 2003-04-24 04:48:43 +0400 |
---|---|---|
committer | Chris Want <cwant@ualberta.ca> | 2003-04-24 04:48:43 +0400 |
commit | c95692df7ca0b2d4746e2e7a597b69a6f30c1676 (patch) | |
tree | 413150ab3b6d1b3f82e1a41ea1a78b171edd4330 /source/blender/include | |
parent | 788fa67bdf4a17c2128f15bc1f2fde7d58dd54bb (diff) |
Support for auto-skinning when parenting a mesh to an armature.
Applies to bones that do not have a boneclass of unskinnable
(set per bone in editmode in the button window).
Diffstat (limited to 'source/blender/include')
-rw-r--r-- | source/blender/include/BIF_editarmature.h | 2 | ||||
-rw-r--r-- | source/blender/include/BIF_editdeform.h | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/source/blender/include/BIF_editarmature.h b/source/blender/include/BIF_editarmature.h index fac2eae6bf0..f33349c61e6 100644 --- a/source/blender/include/BIF_editarmature.h +++ b/source/blender/include/BIF_editarmature.h @@ -73,6 +73,7 @@ typedef struct EditBone float rot[3], drot[3]; float quat[4], dquat[4]; float obmat[4][4]; + short boneclass; } EditBone; @@ -106,6 +107,7 @@ void selectconnected_posearmature(void); void select_bone_by_name (struct bArmature *arm, char *name, int select); struct Bone *get_first_selected_bone (void); void auto_align_armature(void); +void create_vgroups_from_armature(Object *ob, Object *par); #define BONESEL_TIP 0x08000000 #define BONESEL_ROOT 0x04000000 diff --git a/source/blender/include/BIF_editdeform.h b/source/blender/include/BIF_editdeform.h index 5fcd0473ce5..94c369bc0c4 100644 --- a/source/blender/include/BIF_editdeform.h +++ b/source/blender/include/BIF_editdeform.h @@ -33,12 +33,18 @@ #ifndef BIF_DEFORM_H #define BIF_DEFORM_H +#define WEIGHT_REPLACE 1 +#define WEIGHT_ADD 2 +#define WEIGHT_SUBTRACT 3 + struct Object; struct MDeformVert; struct MDeformWeight; struct bDeformGroup; +struct bDeformGroup *get_named_vertexgroup (Object *ob, char *name); void unique_vertexgroup_name (struct bDeformGroup *dg, struct Object *ob); +struct bDeformGroup *add_defgroup_name (struct Object *ob, char *name); void add_defgroup (struct Object *ob); void del_defgroup (struct Object *ob); void assign_verts_defgroup (void); @@ -46,6 +52,12 @@ void remove_verts_defgroup (int allverts); void sel_verts_defgroup (int select); struct MDeformWeight *verify_defweight (struct MDeformVert *dv, int defgroup); void verify_defgroups (struct Object *ob); +int get_defgroup_num (struct Object *ob, struct bDeformGroup *dg); +void add_vert_to_defgroup (struct Object *ob, struct bDeformGroup *dg, + int vertnum, float weight, + int assignmode); +void remove_vert_defgroup (struct Object *ob, struct bDeformGroup *dg, + int vertnum); #endif |