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

# User Rev Content
1 greg 2.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     }