00001 #ifndef __contrib_h__
00002 #define __contrib_h__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "ayam.h"
00016
00017
00018
00019
00020
00021
00024 int ay_ai_init(Tcl_Interp *interp);
00025
00026
00027
00028
00030 typedef struct ay_sm_trafostack_s
00031 {
00032 struct ay_sm_trafostack_s *next;
00036 double movx, movy, movz;
00041 double rotx, roty, rotz;
00046 double scalx, scaly, scalz;
00049 double quat[4];
00050 } ay_sm_trafostack;
00051
00054 int ay_sm_wriballsm(char *file, char *objfile, ay_object *o,
00055 ay_sm_trafostack *trafo, int selonly);
00056
00057
00058
00059
00062 int ay_tree_crtnodefromobj(ay_object *o, ay_object *l, int d,
00063 char **node, char **ins, int *found);
00064
00067 int ay_tree_getclevel(char *node);
00068
00071 ay_object *ay_tree_getobject(char *node);
00072
00075 int ay_tree_registerdrop(ay_treedropcb *cb, unsigned int type_id);
00076
00079 int ay_tree_selecttcmd(ClientData clientData, Tcl_Interp *interp,
00080 int argc, char *argv[]);
00081
00084 int ay_tree_init(Tcl_Interp *interp);
00085
00086
00087
00088
00091 int ay_objsel_processcb(struct Togl *togl, int argc, char *argv[]);
00092
00095 int ay_objsel_getnmfrmndtcmd(ClientData clientData, Tcl_Interp *interp,
00096 int argc, char *argv[]);
00097
00100 #endif