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

Comparing ray/src/common/bsdf.h (file contents):
Revision 2.21 by greg, Sat Jan 26 04:00:25 2013 UTC vs.
Revision 2.25 by schorsch, Fri Jan 5 20:15:50 2018 UTC

# Line 25 | Line 25
25  
26   #include "fvect.h"
27   #include "ccolor.h"
28 + #include "platform.h"
29  
30   #ifdef __cplusplus
31   extern "C" {
32   #endif
33  
33 #ifdef _WIN32
34 #define strcasecmp      stricmp
35 #endif
36
34   #define SDnameLn        128             /* maximum BSDF name length */
35   #define SDmaxCh         3               /* maximum # spectral channels */
36  
# Line 58 | Line 55 | extern "C" {
55   typedef enum {SDEnone=0, SDEmemory, SDEfile, SDEformat, SDEargument,
56                  SDEdata, SDEsupport, SDEinternal, SDEunknown} SDError;
57  
58 < /* English ASCII strings corresponding to ennumerated errors */
58 > /* English strings corresponding to ennumerated errors */
59   extern const char       *SDerrorEnglish[];
60  
61 < /* Additional information on last error (ASCII English) */
61 > /* Pointer to error list in preferred language */
62 > extern const char       **SDerrorList;
63 >
64 > /* Additional information on last error (generally in English) */
65   extern char             SDerrorDetail[];
66  
67   /* Holder for BSDF value and spectral color */
# Line 84 | Line 84 | extern const SDCDst    SDemptyCD;      /* empty distribution *
84   typedef struct SDComp_s SDComponent;
85  
86   /* Methods needed to handle BSDF components (nothing is optional) */
87 + #ifdef __cplusplus
88 + /* in C++, the const puts the type into the local anonymous namespace,
89 +   making it a private (and different) type for each file using this header.
90 + */
91 + typedef struct {
92 + #else
93   typedef const struct {
94 + #endif
95                                          /* return non-diffuse BSDF */
96          int             (*getBSDFs)(float coef[SDmaxCh], const FVECT outVec,
97                                      const FVECT inVec, SDComponent *sdc);
# Line 123 | Line 130 | typedef struct {
130          char            matn[SDnameLn]; /* material name */
131          char            makr[SDnameLn]; /* manufacturer */
132          char            *mgf;           /* geometric description (if any) */
133 <        float           dim[3];         /* width, height, thickness (meters) */
133 >        double          dim[3];         /* width, height, thickness (meters) */
134          SDValue         rLambFront;     /* diffuse front reflectance */
135          SDValue         rLambBack;      /* diffuse rear reflectance */
136          SDValue         tLamb;          /* diffuse transmission */
# Line 152 | Line 159 | extern int             SDretainSet;    /* =SDretainNone by default *
159  
160   #define SDisLoaded(sd)  ((sd)->rLambFront.spec.flags != 0)
161  
162 < /* Report an error to the indicated stream (in English) */
163 < extern SDError          SDreportEnglish(SDError ec, FILE *fp);
162 > /* Report an error to the indicated stream */
163 > extern SDError          SDreportError(SDError ec, FILE *fp);
164  
165   /* Shorten file path to useable BSDF name, removing suffix */
166   extern void             SDclipName(char res[SDnameLn], const char *fname);
# Line 201 | Line 208 | extern void            SDdisk2square(double sq[2], double diskx,
208   */
209  
210   /* Get BSDF from cache (or load and cache it on first call) */
211 < /* Report any problems to stderr (in English), return NULL on failure */
211 > /* Report any problems to stderr, return NULL on failure */
212   extern const SDData     *SDcacheFile(const char *fname);
213  
214   /* Free a BSDF from our cache (clear all if sd==NULL) */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines