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 void ay_sm_wriballsm(char *file, char *objfile, ay_object *o,
00055 ay_sm_trafostack *trafo,
00056 int rwidth, int rheight,
00057 int selonly);
00058
00059
00060
00061
00064 int ay_tree_crtnodefromobj(ay_object *o, ay_object *l, int d,
00065 char **node, char **ins, int *found);
00066
00069 void ay_tree_getclevel(char *node);
00070
00073 ay_object *ay_tree_getobject(char *node);
00074
00077 int ay_tree_registerdrop(ay_treedropcb *cb, unsigned int type_id);
00078
00081 int ay_tree_selecttcmd(ClientData clientData, Tcl_Interp *interp,
00082 int argc, char *argv[]);
00083
00086 int ay_tree_init(Tcl_Interp *interp);
00087
00088
00089
00090
00093 int ay_objsel_processcb(struct Togl *togl, int argc, char *argv[]);
00094
00097 int ay_objsel_getnmfrmndtcmd(ClientData clientData, Tcl_Interp *interp,
00098 int argc, char *argv[]);
00099
00102 #endif