RixBXLobeTraits Struct Reference

RixBXLobeTraits Struct Reference

#include <RixBxdfLobe.h>

Classes

struct  Bitfield
 
union  Converter
 

Public Member Functions

PRMAN_INLINE RixBXLobeTraits ()
 Constructor; initializes all fields to zero.
 
PRMAN_INLINE RixBXLobeTraits (unsigned serialized)
 Constructor; initializes from serialization as unsigned short.
 
PRMAN_INLINE RixBXLobeTraits (bool discrete, bool reflect, bool transmit, unsigned short D, unsigned short S, unsigned short U)
 Constructor; sets all fields.
 
PRMAN_INLINE RixBXLobeTraits (RixBXLobeSampled lobe)
 Constructor; sets all fields from a RixBXLobeSampled struct.
 
PRMAN_INLINE bool GetDiscrete () const
 
PRMAN_INLINE bool GetReflect () const
 
PRMAN_INLINE bool GetTransmit () const
 
PRMAN_INLINE bool GetContinuation () const
 
PRMAN_INLINE unsigned short GetDiffuse () const
 
PRMAN_INLINE unsigned short GetSpecular () const
 
PRMAN_INLINE unsigned short GetUser () const
 
PRMAN_INLINE bool GetMaxSpecularDepth () const
 
PRMAN_INLINE bool GetMaxDiffuseDepth () const
 
PRMAN_INLINE void SetDiscrete (bool val)
 
PRMAN_INLINE void SetReflect (bool val)
 
PRMAN_INLINE void SetTransmit (bool val)
 
PRMAN_INLINE void SetContinuation (bool val)
 
PRMAN_INLINE void SetMaxSpecularDepth (bool val)
 
PRMAN_INLINE void SetMaxDiffuseDepth (bool val)
 
PRMAN_INLINE void SetDiffuse (unsigned short bits)
 
PRMAN_INLINE void SetSpecular (unsigned short bits)
 
PRMAN_INLINE void SetUser (unsigned short bits)
 
PRMAN_INLINE void SetNone ()
 Zero all fields.
 
PRMAN_INLINE void SetAll ()
 
PRMAN_INLINE bool HasAny () const
 
PRMAN_INLINE bool HasAnyDiffSpec () const
 
PRMAN_INLINE bool HasAnyDiffuse () const
 
PRMAN_INLINE bool HasAnySpecular () const
 
PRMAN_INLINE bool HasAnyUser () const
 Returns true if any user bits are set.
 
PRMAN_INLINE unsigned Serialize () const
 
PRMAN_INLINE RixBXLobeTraits
const & 
operator&= (RixBXLobeTraits const &rhs)
 Bitwise AND all fields with the right-hand-side.
 
PRMAN_INLINE RixBXLobeTraits
const & 
operator|= (RixBXLobeTraits const &rhs)
 Bitwise OR all fields with the right-hand-side.
 

Detailed Description

This struct represents the characteristics of potentially several lobes of a bxdf in aggregate.

Member Function Documentation

PRMAN_INLINE bool RixBXLobeTraits::HasAny ( ) const

Returns true if any diffuse, specular, or user bits are set, and either the reflect, transmit, or continuation bits are set.

PRMAN_INLINE bool RixBXLobeTraits::HasAnyDiffSpec ( ) const

Returns true if any diffuse or specular bits are set, and either the reflect, transmit, or continuation bits are set.

PRMAN_INLINE bool RixBXLobeTraits::HasAnyDiffuse ( ) const

Returns true if any diffuse bits are set, and either the reflect or transmit bits are set.

PRMAN_INLINE bool RixBXLobeTraits::HasAnySpecular ( ) const

Returns true if any specular bits are set, and either the reflect or transmit bits are set.

PRMAN_INLINE void RixBXLobeTraits::SetAll ( )

Set all bits to true (except for the discreteSubset and continuationSubset which are both set to zero; use SetDiscrete() / SetContinuation() to explicitly set the discreteSubset and continuationSubset bits).


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