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

# Content
1 /* Copyright (c) 1990 Regents of the University of California */
2
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 #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
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
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 /* 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 /* 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 extern char *sskip();
68 extern char *getpath(), *getenv();
69 extern char *malloc(), *calloc(), *realloc();
70 extern char *bmalloc(), *savestr(), *savqstr();