ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/preload.c
Revision: 2.1
Committed: Wed Jan 20 15:19:17 1993 UTC (31 years, 3 months ago) by greg
Content type: text/plain
Branch: MAIN
Log Message:
Initial revision

File Contents

# Content
1 /* Copyright (c) 1993 Regents of the University of California */
2
3 #ifndef lint
4 static char SCCSid[] = "$SunId$ LBL";
5 #endif
6
7 /*
8 * Preload associated object structures to maximize memory sharing.
9 */
10
11 #include "standard.h"
12 #include "octree.h"
13 #include "object.h"
14 #include "otypes.h"
15 #include "face.h"
16 #include "cone.h"
17
18
19 int
20 load_os(op) /* load associated data for object */
21 register OBJREC *op;
22 {
23 switch (op->otype) {
24 case OBJ_FACE: /* polygon */
25 getface(op);
26 return(1);
27 case OBJ_CONE: /* cone */
28 case OBJ_RING: /* disk */
29 case OBJ_CYLINDER: /* cylinder */
30 case OBJ_CUP: /* inverted cone */
31 case OBJ_TUBE: /* inverted cylinder */
32 getcone(op, 1);
33 return(1);
34 case OBJ_INSTANCE: /* octree instance */
35 getinstance(op, IO_ALL);
36 return(1);
37 default: /* don't bother */
38 return(0);
39 }
40 }
41
42
43 preload_objs() /* preload object data structures */
44 {
45 register OBJECT on;
46 /* note that nobjects may change during */
47 for (on = 0; on < nobjects; on++)
48 load_os(objptr(on));
49 }