RenderManAPI  24.0
RixBXLobeWeights Struct Reference

#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 RixBXLobeWeightsoperator= (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 RtColorRGBGetDiffuseLobe (int i)
 
PRMAN_INLINE RtColorRGBGetSpecularLobe (int i)
 
PRMAN_INLINE RtColorRGBGetUserLobe (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 RtColorRGBAddActiveLobe (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)
 

Constructor & Destructor Documentation

◆ RixBXLobeWeights() [1/3]

PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights ( )

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

◆ RixBXLobeWeights() [2/3]

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.

◆ RixBXLobeWeights() [3/3]

PRMAN_INLINE RixBXLobeWeights::RixBXLobeWeights ( RixBXLobeWeights const &  that)

Copy constructor.

Member Function Documentation

◆ AddActiveLobe()

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().

◆ AddActiveLobeTraits()

PRMAN_INLINE void RixBXLobeWeights::AddActiveLobeTraits ( RixBXLobeTraits  lobes)

◆ AddWeightAtIndex()

◆ CopyWeightAtIndex()

◆ GetActiveLobes()

PRMAN_INLINE void RixBXLobeWeights::GetActiveLobes ( RixBXActiveLobeWeights r) const

◆ GetActiveLobesIntersection()

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().

◆ GetActiveLobeTraits()

PRMAN_INLINE RixBXLobeTraits RixBXLobeWeights::GetActiveLobeTraits ( ) const

◆ GetDiffuseLobe() [1/2]

PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetDiffuseLobe ( int  i) const

◆ GetDiffuseLobe() [2/2]

PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetDiffuseLobe ( int  i)

◆ GetNumDiffuseLobes()

PRMAN_INLINE int RixBXLobeWeights::GetNumDiffuseLobes ( ) const

◆ GetNumPoints()

PRMAN_INLINE int RixBXLobeWeights::GetNumPoints ( ) const

◆ GetNumSpecularLobes()

PRMAN_INLINE int RixBXLobeWeights::GetNumSpecularLobes ( ) const

◆ GetNumUserLobes()

PRMAN_INLINE int RixBXLobeWeights::GetNumUserLobes ( ) const

◆ GetOffset()

PRMAN_INLINE int RixBXLobeWeights::GetOffset ( ) const

◆ GetSpecularLobe() [1/2]

PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetSpecularLobe ( int  i) const

◆ GetSpecularLobe() [2/2]

PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetSpecularLobe ( int  i)

◆ GetUserLobe() [1/2]

PRMAN_INLINE RtColorRGB const * RixBXLobeWeights::GetUserLobe ( int  i) const

◆ GetUserLobe() [2/2]

PRMAN_INLINE RtColorRGB * RixBXLobeWeights::GetUserLobe ( int  i)

◆ operator=()

PRMAN_INLINE RixBXLobeWeights & RixBXLobeWeights::operator= ( RixBXLobeWeights const &  that)

Assignment.

◆ SetActiveLobeTraits()

PRMAN_INLINE void RixBXLobeWeights::SetActiveLobeTraits ( RixBXLobeTraits  lobes)

◆ SetNumPoints()

PRMAN_INLINE void RixBXLobeWeights::SetNumPoints ( int  numPoints)

◆ SetOffset()

PRMAN_INLINE void RixBXLobeWeights::SetOffset ( int  offset)

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