37 #ifndef RixShadingParam_h 38 #define RixShadingParam_h 79 #ifndef RIX_SHADING_PARAM_MEMCATEGORY 80 #error RIX_SHADING_PARAM_MEMCATEGORY must be defined prior to inclusion 113 bool promoteToVarying =
false)
117 paramId, -1, const_cast<float const **>(&
data.f1), dflt, promoteToVarying);
127 bool promoteToVarying =
false)
131 paramId, -1, const_cast<RtFloat3 const **>(&
data.f3), dflt, promoteToVarying);
140 bool promoteToVarying =
false)
144 paramId, -1, const_cast<RtColorRGB const **>(&
data.rgb), dflt, promoteToVarying);
154 bool promoteToVarying =
false)
158 paramId, -1, const_cast<int const **>(&
data.i1), dflt, promoteToVarying);
177 data.f1 =
const_cast<float *
>(dflt);
191 data.i1 =
const_cast<int *
>(dflt);
337 return RixConstants::k_ZeroF3;
359 return RixConstants::k_ZeroRGB;
368 if(i==0) {
data.f1[0] = v; }
400 for(
int i = 1; i < numPts; i++)
407 for(
int i = 1; i < numPts; i++)
416 for(
int i = 1; i < numPts; i++)
int GetValueI() const
Definition: RixShadingParam.h:275
RixShadingContext is analogous to a RenderMan grid - it is a group of 1 or more points that may be sh...
Definition: RixShading.h:663
Definition: RixShadingParam.h:83
void InitEvalC(RixShadingContext const *sCtx, int paramId, RtColorRGB *dflt, bool promoteToVarying=false)
Definition: RixShadingParam.h:136
RixShadingParam()
Definition: RixShadingParam.h:86
RixSCType type
Definition: RixShadingParam.h:102
void InitEvalV(RixShadingContext const *sCtx, int paramId, RtFloat3 *dflt, bool promoteToVarying=false)
Definition: RixShadingParam.h:123
void InitEmptyF(float const *dflt=NULL)
Definition: RixShadingParam.h:166
Definition: RixShading.h:356
float GetValueF() const
Definition: RixShadingParam.h:297
pxrcore::ColorRGB RtColorRGB
Definition: RiTypesHelper.h:520
void const * value
output values
Definition: RixPattern.h:66
void Bind(RixPattern::OutputSpec &o, int paramId)
Definition: RixShadingParam.h:378
int * i1
Definition: RixShadingParam.h:96
RtColorRGB const & GetValueC(int i) const
Definition: RixShadingParam.h:347
Definition: RixShading.h:436
RixSCDetail detail
output detail may be determined by inputs
Definition: RixPattern.h:65
MemCategory
Definition: RixShading.h:1223
Definition: RixShading.h:358
float RtFloat
Definition: ri.h:54
RixSCDetail
RixSCDetail enumerates the valid sizing qualifiers for SC parameters.
Definition: RixShading.h:432
void InitReserveV(RixShadingContext::Allocator &pool, int numPts)
Definition: RixShadingParam.h:264
Definition: RixShading.h:435
bool IsValid() const
Definition: RixShadingParam.h:104
RtFloat3 const & GetValueV(int i) const
Definition: RixShadingParam.h:325
Definition: RixShading.h:359
void InitEmptyV(RtFloat3 *dflt=NULL)
Definition: RixShadingParam.h:194
Definition: RixShading.h:434
void InitEmptyI(int const *dflt=NULL)
Definition: RixShadingParam.h:180
pxrcore::Float3 RtFloat3
Definition: RiTypesHelper.h:69
int paramId
into param table
Definition: RixPattern.h:64
Definition: RixShading.h:360
RtFloat3 * f3
Definition: RixShadingParam.h:98
RixSCType
RixSCType enumerates the valid atomic datatypes.
Definition: RixShading.h:349
void InitEmptyC(RtColorRGB const *dflt=NULL)
Definition: RixShadingParam.h:208
float * f1
Definition: RixShadingParam.h:97
RtColorRGB const & GetValueC() const
Definition: RixShadingParam.h:341
Definition: RixShading.h:354
float GetValueF(int i) const
Definition: RixShadingParam.h:303
Definition: RixShading.h:353
virtual RixSCDetail EvalParam(int paramId, int arrayIndex, int const **result, int const *dflt=NULL, bool promoteToVarying=false) const =0
EvalParam.
void InitReserveF(RixShadingContext::Allocator &pool, int numPts, float dflt)
Definition: RixShadingParam.h:225
Definition: RixShading.h:357
Allocator is a utility (fully inlined) class to assist with tedious memory pool allocations.
Definition: RixShading.h:1363
void InitEvalI(RixShadingContext const *sCtx, int paramId, int *dflt, bool promoteToVarying=false)
Definition: RixShadingParam.h:150
union RixShadingParam::@5 data
void SetValue(int i, float v)
Definition: RixShadingParam.h:364
void InitReserveI(RixShadingContext::Allocator &pool, int numPts, int dflt)
Definition: RixShadingParam.h:238
void InitEvalF(RixShadingContext const *sCtx, int paramId, float *dflt, bool promoteToVarying=false)
Definition: RixShadingParam.h:109
void InitReserveC(RixShadingContext::Allocator &pool, int numPts, RtColorRGB const &dflt)
Definition: RixShadingParam.h:251
T * AllocFor(MemCategory memcat, int num)
Definition: RixShading.h:1375
Definition: RixPattern.h:62
int GetValueI(int i) const
Definition: RixShadingParam.h:281
RtFloat3 const & GetValueV() const
Definition: RixShadingParam.h:319
void PromoteToVarying(int numPts)
Definition: RixShadingParam.h:387
Definition: RixShading.h:351
RixSCDetail detail
Definition: RixShadingParam.h:101
RtColorRGB * rgb
Definition: RixShadingParam.h:99