ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/standard.h
Revision: 1.5
Committed: Sat Dec 15 15:01:35 1990 UTC (33 years, 4 months ago) by greg
Content type: text/plain
Branch: MAIN
Changes since 1.4: +12 -2 lines
Log Message:
changed handling of matrix transformations with new MAT4 & XF types

File Contents

# User Rev Content
1 greg 1.5 /* Copyright (c) 1990 Regents of the University of California */
2 greg 1.1
3     /* SCCSid "$SunId$ LBL" */
4    
5     /*
6     * Miscellaneous definitions required by many routines.
7     */
8    
9     #include <stdio.h>
10    
11     #include <math.h>
12    
13     #include <errno.h>
14    
15 greg 1.5 #include "mat4.h"
16     /* regular transformation */
17     typedef struct {
18     MAT4 xfm; /* transform matrix */
19     double sca; /* scalefactor */
20     } XF;
21     /* complemetary tranformation */
22     typedef struct {
23     XF f; /* forward */
24     XF b; /* backward */
25     } FULLXF;
26 greg 1.1
27     #define FHUGE (1e10) /* large real number */
28     #define FTINY (1e-6) /* small real number */
29    
30     #ifdef M_PI
31     #define PI M_PI
32     #else
33     #define PI 3.14159265358979323846
34     #endif
35 greg 1.2
36     #ifndef F_OK /* mode bits for access(2) call */
37     #define R_OK 4 /* readable */
38     #define W_OK 2 /* writable */
39     #define X_OK 1 /* executable */
40     #define F_OK 0 /* exists */
41     #endif
42 greg 1.1 /* error codes */
43     #define WARNING 1 /* non-fatal error */
44     #define USER 2 /* fatal user-caused error */
45     #define SYSTEM 3 /* fatal system-related error */
46     #define INTERNAL 4 /* fatal program-related error */
47     #define CONSISTENCY 5 /* bad consistency check, abort */
48     #define COMMAND 6 /* interactive error */
49    
50     extern char errmsg[]; /* global buffer for error messages */
51    
52     extern int errno; /* system error number */
53    
54 greg 1.3 /* memory operations */
55     #ifdef STRUCTASSIGN
56     #define copystruct(d,s) (*(d) = *(s))
57     #else
58     #define copystruct(d,s) bcopy((char *)(s),(char *)(d),sizeof(*(d)))
59     #endif
60     #ifndef BSD
61     #define bcopy(s,d,n) (void)memcpy(d,s,n)
62     #define bzero(d,n) (void)memset(d,0,n)
63     #define bcmp(b1,b2,n) memcmp(b1,b2,n)
64     extern char *memcpy(), *memset();
65     #endif
66    
67 greg 1.1 extern char *sskip();
68 greg 1.4 extern char *getpath(), *getenv();
69 greg 1.1 extern char *malloc(), *calloc(), *realloc();
70     extern char *bmalloc(), *savestr(), *savqstr();