From 59672145a98f144a0d2eab059937d6d9bf3194ca Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 27 Jul 2005 10:37:20 +0000 Subject: Cleanup & goodies for rigging geeks! :) - PoseMode: Wkey menu, "Flip Left/Right Names". On selected bones, it flips the L/R tags in names, and calls the proper code to rename everything that's related (constraint targets, bone-childs, etc). - PoseMode: Shift+S snapmenu: snap cursor to selected now works - Outliner: select bones now correctly sets 'active' flag for bones, updating the UI as well. Also made sure you cannot select hidden bones in outliner. - 3DWindow: in PoseMode/EditMode draws name of active Bone too (with user option "Draw active object name" set. - Added the new Armature/PoseMode options in View3D pulldowns. Cleanup: - moved Pose code from editaction.c to poseobject.c - removed BSE_editaction.h and BSE_editaction_types.h, moved contents of it to BIF_editaction.h. One include per C file should be fine. :) I know the src/ structure would require more elaborated includes, but we don't have that now... --- source/blender/include/BIF_editaction.h | 45 ++++++++++++++++++++++++++++++--- 1 file changed, 41 insertions(+), 4 deletions(-) (limited to 'source/blender/include/BIF_editaction.h') diff --git a/source/blender/include/BIF_editaction.h b/source/blender/include/BIF_editaction.h index 6463e075995..c2443d24ea9 100644 --- a/source/blender/include/BIF_editaction.h +++ b/source/blender/include/BIF_editaction.h @@ -38,13 +38,39 @@ #define SET_IPO_LINEAR 2 #define SET_IPO_BEZIER 3 +#define CHANNELHEIGHT 16 +#define CHANNELSKIP 2 +#define NAMEWIDTH 128 +#define SLIDERWIDTH 125 + +#define CHANNEL_FILTER_LOC 0x00000001 /* Show location keys */ +#define CHANNEL_FILTER_ROT 0x00000002 /* Show rotation keys */ +#define CHANNEL_FILTER_SIZE 0x00000004 /* Show size keys */ +#define CHANNEL_FILTER_CON 0x00000008 /* Show constraint keys */ +#define CHANNEL_FILTER_RGB 0x00000010 /* Show object color keys */ + +#define CHANNEL_FILTER_CU 0x00010000 /* Show curve keys */ +#define CHANNEL_FILTER_ME 0x00020000 /* Show mesh keys */ +#define CHANNEL_FILTER_LA 0x00040000 /* Show lamp keys */ + + +struct bAction; +struct bActionChannel; +struct bPoseChannel; +struct Object; +struct Ipo; +struct BWinEvent; +struct Key; + /* Key operations */ void delete_meshchannel_keys(struct Key *key); void delete_actionchannel_keys(void); void duplicate_meshchannel_keys(struct Key *key); void duplicate_actionchannel_keys(void); void transform_actionchannel_keys(char mode); -void transform_meshchannel_keys(char mode, Key *key); +void transform_meshchannel_keys(char mode, struct Key *key); +struct Key *get_action_mesh_key(void); +int get_nearest_key_num(struct Key *key, short *mval, float *x); /* Handles */ void sethandles_meshchannel_keys(int code, struct Key *key); @@ -52,14 +78,25 @@ void sethandles_actionchannel_keys(int code); /* Ipo type */ void set_ipotype_actionchannels(int ipotype); +void set_exprap_action(int mode); /* Select */ void borderselect_mesh(struct Key *key); void borderselect_action(void); -void deselect_actionchannel_keys(bAction *act, int test); -void deselect_meshchannel_keys (Key *key, int test); +void deselect_actionchannel_keys(struct bAction *act, int test); +void deselect_actionchannels (struct bAction *act, int test); +void deselect_meshchannel_keys (struct Key *key, int test); +int select_channel(struct bAction *act, struct bActionChannel *chan, int selectmode); +void select_actionchannel_by_name (struct bAction *act, char *name, int select); + +/* Action */ +struct bActionChannel* get_hilighted_action_channel(struct bAction* action); +void set_action_key (struct bAction *act, struct bPoseChannel *chan, int adrcode, short makecurve); +struct bAction *add_empty_action(void); +void winqreadactionspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt); +struct bAction *bake_action_with_client (struct bAction *act, struct Object *arm, float tolerance); -int select_channel(bAction *act, bActionChannel *chan, int selectmode); +void remake_action_ipos(struct bAction *act); #endif -- cgit v1.2.3