[net.sources] Oops, forgot scn_assmblr.h in Graphics Source distribution

ken@turtleva.UUCP (Ken Turkowski) (12/28/83)

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!