Oops, forgot scn_assmblr.h in Graphics Source distribution
Ken Turkowski
ken at turtleva.UUCP
Wed Dec 28 15:57:59 AEST 1983
echo x - hsalgs/scn_assmblr.h
cat >hsalgs/scn_assmblr.h <<'!Funky!Stuff!'
/* ----------------------------------------------------------------
scn_assmblr.h - header for scn_assmblr.c, obj_sort.c, task_master.c,
bbox_task.c
contains all common definitions and data structures
--------------------------------------------------------------------
*/
#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define NULLCHAR '\0'
#define LINE_LENGTH 160 /* length of input line */
#define MAX_OBJECTS 256 /* must be multiple of 32 */
#define STACK_LIMIT 16 /* maximum depth of recursion on input files */
#define MAXROT 8 /* maximum number of concatenated rotations */
#define sqr(x) ((x)*(x))
#define DtoR 3.14159 / 180. /* convert degrees to radians */
/* 1st several objects are predefined - object offsets*/
#define BKG 0 /* background */
#define FRG 1 /* foreground */
#define CI 2 /* center-of-interest */
#define EP 3 /* eyepoint offset */
#define LIT 4 /* offset for first light source (space for 16) */
#define FIRST_OBJ 20 /* offset for first real object */
/* --- object descriptions - non-null name means it's active - up through 1st
light are always active (eyepoint, center_of_interest, etc.) -------- */
typedef struct { char name[LINE_LENGTH]; /* object name */
char filename[LINE_LENGTH]; /* definition file name */
char display[LINE_LENGTH]; /* display program name */
float scale[3];
float rotbas[MAXROT][3],rotend[MAXROT][3],angle[MAXROT];
float postn[3];
char new_mtx,clipped; float mtx[4][4],comp_mtx[4][4];
char new_clr,clr_num; float clr[3];
char supported; /* set if "on" another object */
short parent; /* index of object attached to */
float box[6]; /* bounding box limits */
float centroid[3],radius; /* bounding sphere */
float xfmd_ctr[3],xfmd_radius,depth; /* sort aids */
short touched; /* tag for indicating access occurrence */
} object_def;
!Funky!Stuff!
More information about the Comp.sources.unix
mailing list