![]() |
RenderMan
26.0
|
#include <RixBxdfLobe.h>
Public Member Functions | |
PRMAN_INLINE | RixBXLobeWeights () |
Constructor; sets the number of diffuse, specular, and user lobes to zero. More... | |
PRMAN_INLINE | RixBXLobeWeights (int numPoints, int numDiffuseLobes, int numSpecularLobes, int numUserLobes, RtColorRGB *diffuseLobes[], RtColorRGB *specularLobes[], RtColorRGB *userLobes[], int offset=0) |
Constructor; sets all fields to the values given. More... | |
PRMAN_INLINE | RixBXLobeWeights (RixBXLobeWeights const &that) |
Copy constructor. More... | |
PRMAN_INLINE RixBXLobeWeights & | operator= (RixBXLobeWeights const &that) |
Assignment. More... | |
PRMAN_INLINE RtColorRGB const * | GetDiffuseLobe (int i) const |
PRMAN_INLINE RtColorRGB const * | GetSpecularLobe (int i) const |
PRMAN_INLINE RtColorRGB const * | GetUserLobe (int i) const |
PRMAN_INLINE RtColorRGB * | GetDiffuseLobe (int i) |
PRMAN_INLINE RtColorRGB * | GetSpecularLobe (int i) |
PRMAN_INLINE RtColorRGB * | GetUserLobe (int i) |
PRMAN_INLINE int | GetNumPoints () const |
PRMAN_INLINE void | SetNumPoints (int numPoints) |
PRMAN_INLINE int | GetOffset () const |
PRMAN_INLINE void | SetOffset (int offset) |
PRMAN_INLINE RixBXLobeTraits | GetActiveLobeTraits () const |
PRMAN_INLINE void | SetActiveLobeTraits (RixBXLobeTraits lobes) |
PRMAN_INLINE void | AddActiveLobeTraits (RixBXLobeTraits lobes) |
PRMAN_INLINE int | GetNumDiffuseLobes () const |
PRMAN_INLINE int | GetNumSpecularLobes () const |
PRMAN_INLINE int | GetNumUserLobes () const |
PRMAN_INLINE RtColorRGB * | AddActiveLobe (RixBXLobeSampled lobe, bool doInitializeWeights=true) |
Add a particular lobe to the set of active lobes, and also optionally zero out all of the weights. More... | |
PRMAN_INLINE void | GetActiveLobes (RixBXActiveLobeWeights &r) const |
Return just the active lobes in the provided RixBXActiveLobeWeights. More... | |
PRMAN_INLINE void | GetActiveLobesIntersection (RixBXLobeWeights const &rhs, RixBXActiveLobeWeights &activeLhs, RixBXActiveLobeWeights &activeRhs) const |
Return the intersection of the active lobes for both this and another RixBXLobeWeights. More... | |
PRMAN_INLINE void | CopyWeightAtIndex (int index, RixBXActiveLobeWeights const &src, bool includeUserLobes=false) |
PRMAN_INLINE void | AddWeightAtIndex (int index, RixBXActiveLobeWeights const &src, bool includeUserLobes=false) |
PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights | ( | ) |
Constructor; sets the number of diffuse, specular, and user lobes to zero.
PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights | ( | int | numPoints, |
int | numDiffuseLobes, | ||
int | numSpecularLobes, | ||
int | numUserLobes, | ||
RtColorRGB * | diffuseLobes[], | ||
RtColorRGB * | specularLobes[], | ||
RtColorRGB * | userLobes[], | ||
int | offset = 0 |
||
) |
Constructor; sets all fields to the values given.
PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights | ( | RixBXLobeWeights const & | that) |
Copy constructor.
PRMAN_INLINE RtColorRGB * RixBXLobeWeights::AddActiveLobe | ( | RixBXLobeSampled | lobe, |
bool | doInitializeWeights = true |
||
) |
Add a particular lobe to the set of active lobes, and also optionally zero out all of the weights.
Returns a pointer into the lobe weights.
References RixBXLobeSampled::GetDiffuse(), RixBXLobeTraits::GetDiffuse(), RixBXLobeSampled::GetLpeId(), RixBXLobeTraits::GetSpecular(), RixBXLobeSampled::GetUser(), RixBXLobeTraits::GetUser(), and RixBXLobeSampled::GetValid().
PRMAN_INLINE void RixBXLobeWeights::AddActiveLobeTraits | ( | RixBXLobeTraits | lobes) |
PRMAN_INLINE void RixBXLobeWeights::AddWeightAtIndex | ( | int | index, |
RixBXActiveLobeWeights const & | src, | ||
bool | includeUserLobes = false |
||
) |
References RixBXActiveLobeWeights::GetDiffuseLobe(), GetDiffuseLobe(), RixBXActiveLobeWeights::GetDiffuseLpeId(), RixBXActiveLobeWeights::GetNumDiffuseLobes(), RixBXActiveLobeWeights::GetNumSpecularLobes(), RixBXActiveLobeWeights::GetNumUserLobes(), RixBXActiveLobeWeights::GetSpecularLobe(), GetSpecularLobe(), RixBXActiveLobeWeights::GetSpecularLpeId(), RixBXActiveLobeWeights::GetUserLobe(), GetUserLobe(), and RixBXActiveLobeWeights::GetUserLpeId().
PRMAN_INLINE void RixBXLobeWeights::CopyWeightAtIndex | ( | int | index, |
RixBXActiveLobeWeights const & | src, | ||
bool | includeUserLobes = false |
||
) |
References RixBXActiveLobeWeights::GetDiffuseLobe(), GetDiffuseLobe(), RixBXActiveLobeWeights::GetDiffuseLpeId(), RixBXActiveLobeWeights::GetNumDiffuseLobes(), RixBXActiveLobeWeights::GetNumSpecularLobes(), RixBXActiveLobeWeights::GetNumUserLobes(), RixBXActiveLobeWeights::GetSpecularLobe(), GetSpecularLobe(), RixBXActiveLobeWeights::GetSpecularLpeId(), RixBXActiveLobeWeights::GetUserLobe(), GetUserLobe(), and RixBXActiveLobeWeights::GetUserLpeId().
PRMAN_INLINE void RixBXLobeWeights::GetActiveLobes | ( | RixBXActiveLobeWeights & | r) | const |
Return just the active lobes in the provided RixBXActiveLobeWeights.
References RixBXLobeTraits::GetDiffuse(), RixBXLobeTraits::GetSpecular(), RixBXLobeTraits::GetUser(), and RixFindFirstSetBit().
Referenced by RixBXChooseLobe().
PRMAN_INLINE void RixBXLobeWeights::GetActiveLobesIntersection | ( | RixBXLobeWeights const & | rhs, |
RixBXActiveLobeWeights & | activeLhs, | ||
RixBXActiveLobeWeights & | activeRhs | ||
) | const |
Return the intersection of the active lobes for both this and another RixBXLobeWeights.
References RixBXLobeTraits::GetDiffuse(), RixBXLobeTraits::GetSpecular(), RixBXLobeTraits::GetUser(), and RixFindFirstSetBit().
PRMAN_INLINE RixBXLobeTraits RixBXLobeWeights::GetActiveLobeTraits | ( | ) | const |
PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetDiffuseLobe | ( | int | i) | const |
Referenced by AddWeightAtIndex(), and CopyWeightAtIndex().
PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetDiffuseLobe | ( | int | i) |
PRMAN_INLINE int RixBXLobeWeights::GetNumDiffuseLobes | ( | ) | const |
PRMAN_INLINE int RixBXLobeWeights::GetNumPoints | ( | ) | const |
PRMAN_INLINE int RixBXLobeWeights::GetNumSpecularLobes | ( | ) | const |
PRMAN_INLINE int RixBXLobeWeights::GetNumUserLobes | ( | ) | const |
PRMAN_INLINE int RixBXLobeWeights::GetOffset | ( | ) | const |
PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetSpecularLobe | ( | int | i) | const |
Referenced by AddWeightAtIndex(), and CopyWeightAtIndex().
PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetSpecularLobe | ( | int | i) |
PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetUserLobe | ( | int | i) | const |
Referenced by AddWeightAtIndex(), and CopyWeightAtIndex().
PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetUserLobe | ( | int | i) |
PRMAN_INLINE RixBXLobeWeights & RixBXLobeWeights::operator= | ( | RixBXLobeWeights const & | that) |
Assignment.
PRMAN_INLINE void RixBXLobeWeights::SetActiveLobeTraits | ( | RixBXLobeTraits | lobes) |
PRMAN_INLINE void RixBXLobeWeights::SetNumPoints | ( | int | numPoints) |
PRMAN_INLINE void RixBXLobeWeights::SetOffset | ( | int | offset) |