--- ray/src/hd/rholo.h 2003/02/22 02:07:25 3.21 +++ ray/src/hd/rholo.h 2004/06/08 19:48:30 3.25 @@ -1,30 +1,37 @@ -/* RCSid: $Id: rholo.h,v 3.21 2003/02/22 02:07:25 greg Exp $ */ +/* RCSid: $Id: rholo.h,v 3.25 2004/06/08 19:48:30 greg Exp $ */ /* * Header file for rholo program */ +#ifndef _RAD_RHOLO_H_ +#define _RAD_RHOLO_H_ #include "holo.h" +#include "view.h" #include "vars.h" +#ifdef __cplusplus +extern "C" { +#endif + #ifndef RPACKSIZ #define RPACKSIZ 21 /* good packet size */ #endif typedef struct packet { - int2 hd; /* holodeck section (first) */ - int4 bi; /* beam index (second) */ - int4 nr; /* number of rays (third) */ - int4 nc; /* number calculated (fourth) */ + int16 hd; /* holodeck section (first) */ + int32 bi; /* beam index (second) */ + int32 nr; /* number of rays (third) */ + int32 nc; /* number calculated (fourth) */ RAYVAL ra[RPACKSIZ]; /* ray values (fifth) */ float *offset; /* offset array if !vbool(OBSTRUCTIONS) */ struct packet *next; /* next in packet list */ } PACKET; /* a beam packet */ typedef struct { - int2 hd; /* holodeck section (first) */ - int4 bi; /* beam index (second) */ - int4 nr; /* number of rays (third) */ - int4 nc; /* number calculated (fourth) */ + int16 hd; /* holodeck section (first) */ + int32 bi; /* beam index (second) */ + int32 nr; /* number of rays (third) */ + int32 nc; /* number calculated (fourth) */ } PACKHEAD; /* followed by ray values */ #define packsiz(nr) (sizeof(PACKHEAD)+(nr)*sizeof(RAYVAL)) @@ -111,6 +118,35 @@ extern long npacksdone; /* number of packets done */ extern int rtargc; /* rtrace command */ extern char *rtargv[]; -extern PACKET *do_packets(), *get_packets(), *flush_queue(); + /* rholo.c */ +extern void done_packets(PACKET *pl); + /* rholo2.c */ +extern void new_rtrace(void); +extern int done_rtrace(void); +extern void packrays(float *rod, PACKET *p); +extern void donerays(PACKET *p, float *rvl); +extern int getradfile(void); +extern void report(time_t t); + /* rholo2l.c */ +extern int start_rtrace(void); +extern int end_rtrace(void); +extern PACKET *do_packets(PACKET *pl); +extern PACKET *flush_queue(void); + /* rholo3.c */ +extern void init_global(void); +extern int next_packet(PACKET *p, int n); +extern void bundle_set(int op, PACKHEAD *clist, int nents); + /* rholo4.c */ +extern void disp_open(char *dname); +extern void disp_packet(register PACKHEAD *p); +extern int disp_check(int block); +extern int disp_close(void); + /* viewbeams.c */ +extern int nextview(VIEW *vp, FILE *fp); +extern int16 * viewbeams(VIEW *vp, int hr, int vr, BEAMLIST *blp); -extern int2 *viewbeams(); +#ifdef __cplusplus +} +#endif +#endif /* _RAD_RHOLO_H_ */ +