| 7 |
|
|
| 8 |
|
#include "copyright.h" |
| 9 |
|
|
| 10 |
+ |
#include <stdio.h> |
| 11 |
+ |
#include <string.h> |
| 12 |
+ |
#include <time.h> |
| 13 |
+ |
|
| 14 |
+ |
#include "platform.h" |
| 15 |
+ |
#include "resolu.h" |
| 16 |
|
#include "radogl.h" |
| 17 |
|
#include "octree.h" |
| 12 |
– |
#include "platform.h" |
| 18 |
|
|
| 19 |
|
#define MAXLEVEL 16 /* maximum instance hierarchy level */ |
| 20 |
|
|
| 25 |
|
char octfile[256]; /* octree file path */ |
| 26 |
|
} OCTINST; /* octree to instantiate */ |
| 27 |
|
|
| 28 |
< |
static double ogetflt(); |
| 29 |
< |
static long ogetint(); |
| 30 |
< |
static char *ogetstr(); |
| 31 |
< |
static int loadobj(); |
| 32 |
< |
static void skiptree(); |
| 33 |
< |
static void octerror(); |
| 34 |
< |
static OCTINST *getoct(); |
| 28 |
> |
static double ogetflt(void); |
| 29 |
> |
static long ogetint(int); |
| 30 |
> |
static char *ogetstr(char *); |
| 31 |
> |
static int loadobj(void); |
| 32 |
> |
static void skiptree(void); |
| 33 |
> |
static void octerror(int etyp, char *msg); |
| 34 |
> |
static OCTINST *getoct(char *); |
| 35 |
|
|
| 36 |
|
static char *infn; /* input file name */ |
| 37 |
|
static FILE *infp; /* input file stream */ |
| 181 |
|
/* check format */ |
| 182 |
|
if ((objsize = ogetint(2)-OCTMAGIC) <= 0 || |
| 183 |
|
objsize > MAXOBJSIZ || objsize > sizeof(long)) |
| 184 |
< |
octerror("incompatible octree format"); |
| 184 |
> |
octerror(USER, "incompatible octree format"); |
| 185 |
|
if (cent != NULL) { /* get boundaries (compute center) */ |
| 186 |
|
for (i = 0; i < 3; i++) |
| 187 |
|
cent[i] = atof(ogetstr(sbuf)); |