ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/common/bsdf_m.h
(Generate patch)

Comparing ray/src/common/bsdf_m.h (file contents):
Revision 3.4 by greg, Fri Apr 8 18:13:48 2011 UTC vs.
Revision 3.6 by greg, Sun Apr 21 22:58:40 2013 UTC

# Line 46 | Line 46 | typedef struct {
46   #define mBSDF_value(b,i,o)      (b)->bsdf[(o)*(b)->ninc + (i)]
47  
48   /* Holder for cumulative distribution (sum of BSDF * projSA) */
49 < typedef struct {
50 <        SD_CDIST_BASE;                  /* base fields; must come first */
49 > typedef struct SDMatCDst_s {
50 >        SD_CDIST_BASE(SDMatCDst_s);     /* base fields; must come first */
51          int             indx;           /* incident angle index */
52          void            *ob_priv;       /* private data for generator */
53          b_vecf          *ob_vec;        /* outbound vector generator */
# Line 62 | Line 62 | extern SDError         SDloadMtx(SDData *sd, ezxml_t wtl);
62  
63   /* Our matrix handling routines */
64   extern SDFunc           SDhandleMtx;
65 +
66 + /******** Klems basis declarations for more intimate access ********/
67 +
68 + #define MAXLATS         46              /* maximum number of latitudes */
69 +
70 + /* BSDF angle specification */
71 + typedef struct {
72 +        char    name[64];               /* basis name */
73 +        int     nangles;                /* total number of directions */
74 +        struct {
75 +                float   tmin;                   /* starting theta */
76 +                int     nphis;                  /* number of phis (0 term) */
77 +        } lat[MAXLATS+1];               /* latitudes */
78 + } ANGLE_BASIS;
79 +
80 + #define MAXABASES       7               /* limit on defined bases */
81 +
82 + extern ANGLE_BASIS      abase_list[MAXABASES];
83 +
84 + extern int              nabases;        /* current number of defined bases */
85 +
86 + /* Get vector for this angle basis index (front exiting) */
87 + extern b_vecf           fo_getvec;
88 +
89 + /* Get index corresponding to the given vector (front exiting) */
90 + extern b_ndxf           fo_getndx;
91 +
92 + /* Get projected solid angle for this angle basis index (universal) */
93 + extern b_ohmf           io_getohm;
94 +
95 + /* Get vector for this angle basis index (back incident) */
96 + extern b_vecf           bi_getvec;
97 +
98 + /* Get index corresponding to the vector (back incident) */
99 + extern b_ndxf           bi_getndx;
100 +
101 + /* Get vector for this angle basis index (back exiting) */
102 + extern b_vecf           bo_getvec;
103 +
104 + /* Get index corresponding to the vector (back exiting) */
105 + extern b_ndxf           bo_getndx;
106 +
107 + /* Get vector for this angle basis index (front incident) */
108 + extern b_vecf           fi_getvec;
109 +
110 + /* Get index corresponding to the vector (front incident) */
111 + extern b_ndxf           fi_getndx;
112  
113   #ifdef __cplusplus
114   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines