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 |
|
|
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); |