ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/cv/mgflib/parser.h
(Generate patch)

Comparing ray/src/cv/mgflib/parser.h (file contents):
Revision 1.24 by greg, Thu May 11 20:17:36 1995 UTC vs.
Revision 1.28 by greg, Wed Nov 29 19:55:42 1995 UTC

# Line 8 | Line 8
8  
9   /* must include stdio.h before us */
10  
11 <                        /* Entities (order doesn't really matter) */
11 > #define MG_VMAJOR       1               /* major version number */
12 > #define MG_VMINOR       1               /* minor version number */
13 >
14 >                        /* Entities (list is only appended, never modified) */
15   #define MG_E_COMMENT    0               /* #            */
16   #define MG_E_COLOR      1               /* c            */
17   #define MG_E_CCT        2               /* cct          */
# Line 37 | Line 40
40   #define MG_E_TS         25              /* ts           */
41   #define MG_E_VERTEX     26              /* v            */
42   #define MG_E_XF         27              /* xf           */
43 +                        /* end of Version 1 entities */
44  
45   #define MG_NENTITIES    28              /* total # entities */
46  
47 + #define MG_NELIST       {28}            /* entity count for version 1 and up */
48 +
49   #define MG_NAMELIST     {"#","c","cct","cone","cmix","cspec","cxy","cyl","ed",\
50                          "f","i","ies","ir","m","n","o","p","prism","rd",\
51                          "ring","rs","sides","sph","td","torus","ts","v","xf"}
# Line 49 | Line 55
55   extern char     mg_ename[MG_NENTITIES][MG_MAXELEN];
56  
57                          /* Handler routines for each entity and unknown ones */
52
58   #ifdef NOPROTO
59   extern int      (*mg_ehand[MG_NENTITIES])();
60   extern int      (*mg_uhand)();
# Line 74 | Line 79 | extern unsigned        mg_nunknown;            /* count of unknown enti
79   #define MG_EMEM         8               /* out of memory */
80   #define MG_ESEEK        9               /* file seek error */
81   #define MG_EBADMAT      10              /* bad material specification */
82 + #define MG_ELINE        11              /* input line too long */
83 + #define MG_ECNTXT       12              /* unmatched context close */
84  
85 < #define MG_NERRS        11
85 > #define MG_NERRS        13
86  
87   extern char     *mg_err[MG_NERRS];      /* list of error messages */
88  
# Line 357 | Line 364 | typedef struct xf_spec {
364   extern XF_SPEC  *xf_context;                    /* current transform context */
365   extern char     **xf_argend;                    /* last transform argument */
366  
367 < #define xf_ac(xf)       ((xf)->xac)
367 > #define xf_ac(xf)       ((xf)==NULL ? 0 : (xf)->xac)
368   #define xf_av(xf)       (xf_argend - (xf)->xac)
369  
370 < #define xf_argc         (xf_context==NULL ? 0 : xf_ac(xf_context))
370 > #define xf_argc         xf_ac(xf_context)
371   #define xf_argv         xf_av(xf_context)
372  
373   /*
# Line 386 | Line 393 | extern void    xf_clear();             /* clear xf stack */
393  
394   /* The following are support routines you probably won't call directly */
395  
396 + XF_SPEC         *new_xf();              /* allocate new transform */
397 + void            free_xf();              /* free a transform */
398 + int             xf_aname();             /* name this instance */
399 + long            comp_xfid();            /* compute unique ID */
400   extern void     multmat4();             /* m4a = m4b X m4c */
401   extern void     multv3();               /* v3a = v3b X m4 (vectors) */
402   extern void     multp3();               /* p3a = p3b X m4 (points) */
# Line 402 | Line 413 | extern void    xf_clear(void);                 /* clear xf stack */
413  
414   /* The following are support routines you probably won't call directly */
415  
416 + XF_SPEC         *new_xf(int, char **);          /* allocate new transform */
417 + void            free_xf(XF_SPEC *);             /* free a transform */
418 + int             xf_aname(struct xf_array *);    /* name this instance */
419 + long            comp_xfid(MAT4);                /* compute unique ID */
420   extern void     multmat4(MAT4, MAT4, MAT4);     /* m4a = m4b X m4c */
421   extern void     multv3(FVECT, FVECT, MAT4);     /* v3a = v3b X m4 (vectors) */
422   extern void     multp3(FVECT, FVECT, MAT4);     /* p3a = p3b X m4 (points) */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines