1 |
|
/* RCSid $Id$ */ |
2 |
|
/* |
3 |
|
* object.h - header file for routines using objects and object sets. |
4 |
+ |
* |
5 |
+ |
* Include after "standard.h" |
6 |
|
*/ |
7 |
+ |
#ifndef _RAD_OBJECT_H_ |
8 |
+ |
#define _RAD_OBJECT_H_ |
9 |
+ |
#ifdef __cplusplus |
10 |
+ |
extern "C" { |
11 |
+ |
#endif |
12 |
|
|
6 |
– |
#include "copyright.h" |
7 |
– |
|
13 |
|
#ifndef OCTREE |
14 |
|
#define OCTREE int |
15 |
|
#endif |
22 |
|
*/ |
23 |
|
|
24 |
|
typedef struct { |
25 |
+ |
char **sarg; /* string arguments */ |
26 |
+ |
RREAL *farg; /* real arguments */ |
27 |
|
short nsargs; /* # of string arguments */ |
28 |
|
short nfargs; /* # of real arguments */ |
22 |
– |
char **sarg; /* string arguments */ |
23 |
– |
FLOAT *farg; /* real arguments */ |
29 |
|
#ifdef IARGS |
30 |
|
short niargs; /* # of integer arguments */ |
31 |
|
long *iarg; /* integer arguments */ |
41 |
|
*/ |
42 |
|
|
43 |
|
#ifndef OBJECT |
44 |
< |
#ifdef BIGMEM |
45 |
< |
#define OBJECT int4 /* index to object array */ |
44 |
> |
#ifdef SMLMEM |
45 |
> |
#define OBJECT int16 /* index to object array */ |
46 |
|
#else |
47 |
< |
#define OBJECT int2 /* index to object array */ |
47 |
> |
#define OBJECT int32 /* index to object array */ |
48 |
|
#endif |
49 |
|
#endif |
50 |
|
|
57 |
|
} OBJREC; |
58 |
|
|
59 |
|
#ifndef MAXOBJBLK |
60 |
< |
#ifdef BIGMEM |
56 |
< |
#define MAXOBJBLK 65535 /* maximum number of object blocks */ |
57 |
< |
#else |
60 |
> |
#ifdef SMLMEM |
61 |
|
#define MAXOBJBLK 63 /* maximum number of object blocks */ |
62 |
+ |
#else |
63 |
+ |
#define MAXOBJBLK 65535 /* maximum number of object blocks */ |
64 |
|
#endif |
65 |
|
#endif |
66 |
|
|
85 |
|
|
86 |
|
extern void (*addobjnotify[])(); /* people to notify of new objects */ |
87 |
|
|
83 |
– |
#ifdef NOPROTO |
84 |
– |
|
85 |
– |
extern OBJECT objndx(); |
86 |
– |
extern OBJECT lastmod(); |
87 |
– |
extern OBJECT modifier(); |
88 |
– |
extern OBJECT object(); |
89 |
– |
extern void insertobject(); |
90 |
– |
extern void clearobjndx(); |
91 |
– |
extern void insertelem(); |
92 |
– |
extern void deletelem(); |
93 |
– |
extern int inset(); |
94 |
– |
extern int setequal(); |
95 |
– |
extern void setcopy(); |
96 |
– |
extern OBJECT * setsave(); |
97 |
– |
extern void setunion(); |
98 |
– |
extern void setintersect(); |
99 |
– |
extern OCTREE fullnode(); |
100 |
– |
extern void objset(); |
101 |
– |
extern int dosets(); |
102 |
– |
extern void donesets(); |
103 |
– |
extern int otype(); |
104 |
– |
extern void objerror(); |
105 |
– |
extern int readfargs(); |
106 |
– |
extern void freefargs(); |
107 |
– |
extern void readobj(); |
108 |
– |
extern void getobject(); |
109 |
– |
extern OBJECT newobject(); |
110 |
– |
extern void freeobjects(); |
111 |
– |
extern int free_os(); |
112 |
– |
|
113 |
– |
#else |
88 |
|
/* defined in modobject.c */ |
89 |
|
extern OBJECT objndx(OBJREC *op); |
90 |
|
extern OBJECT lastmod(OBJECT obj, char *mname); |
115 |
|
/* defined in readobj.c */ |
116 |
|
extern void readobj(char *inpspec); |
117 |
|
extern void getobject(char *name, FILE *fp); |
118 |
< |
extern OBJECT newobject(); |
118 |
> |
extern OBJECT newobject(void); |
119 |
|
extern void freeobjects(int firstobj, int nobjs); |
120 |
|
/* defined in free_os.c */ |
121 |
|
extern int free_os(OBJREC *op); |
122 |
|
|
123 |
< |
#endif /* NOPROTO */ |
123 |
> |
|
124 |
> |
#ifdef __cplusplus |
125 |
> |
} |
126 |
> |
#endif |
127 |
> |
#endif /* _RAD_OBJECT_H_ */ |
128 |
> |
|