RixBXLobeWeights Struct Reference

RixBXLobeWeights Struct Reference

Public Member Functions

PRMAN_INLINE RixBXLobeWeights ()
 
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.
 
PRMAN_INLINE RixBXLobeWeights (RixBXLobeWeights const &that)
 Copy constructor.
 
PRMAN_INLINE RixBXLobeWeightsoperator= (RixBXLobeWeights const &that)
 Assignment.
 
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)
 
PRMAN_INLINE void GetActiveLobes (RixBXActiveLobeWeights &r)
 Return just the active lobes in the provided RixBXActiveLobeWeights.
 
PRMAN_INLINE void GetActiveLobesIntersection (RixBXLobeWeights &rhs, RixBXActiveLobeWeights &activeLhs, RixBXActiveLobeWeights &activeRhs)
 
PRMAN_INLINE void CopyWeightAtIndex (int index, RixBXActiveLobeWeights const &src, bool includeUserLobes=false)
 
PRMAN_INLINE void AddWeightAtIndex (int index, RixBXActiveLobeWeights const &src, bool includeUserLobes=false)
 

Constructor & Destructor Documentation

PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights ( )

Constructor; sets the number of diffuse, specular, and user lobes to zero.

Member Function Documentation

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.

PRMAN_INLINE void RixBXLobeWeights::GetActiveLobesIntersection ( RixBXLobeWeights rhs,
RixBXActiveLobeWeights activeLhs,
RixBXActiveLobeWeights activeRhs 
)

Return the intersection of the active lobes for both this and another RixBXLobeWeights.


The documentation for this struct was generated from the following file: