MDL SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::Bsdf_isotropic_data Class Reference

Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More...

#include <bsdf_isotropic_data.h>

Inheritance diagram for mi::neuraylib::Bsdf_isotropic_data:

Public Member Functions

 Bsdf_isotropic_data (Uint32 resolution_theta, Uint32 resolution_phi, Bsdf_type type)
 Constructor. More...
 
Uint32 get_resolution_theta () const
 Returns the number of values in theta direction. More...
 
Uint32 get_resolution_phi () const
 Returns the number of values in phi direction. More...
 
Bsdf_type get_type () const
 Returns the type of the values. More...
 
const Bsdf_bufferget_bsdf_buffer () const
 Returns the buffer containing the values (const). More...
 
Bsdf_bufferget_bsdf_buffer ()
 Returns the buffer containing the values (mutable). More...
 
- Public Member Functions inherited from mi::base::Interface_implement< neuraylib::IBsdf_isotropic_data >
 Interface_implement (Uint32 initial=1)
 Constructor. More...
 
 Interface_implement (const Interface_implement< neuraylib::IBsdf_isotropic_data > &other)
 Copy constructor. More...
 
 Interface_implement (Interface_implement &&other)
 Move constructor. More...
 
Interface_implement< neuraylib::IBsdf_isotropic_data > & operator= (const Interface_implement< neuraylib::IBsdf_isotropic_data > &other)
 Assignment operator. More...
 
Interface_implementoperator= (Interface_implement &&other)
 Move assignment. More...
 
virtual Uint32 retain () const
 Increments the reference count. More...
 
virtual Uint32 release () const
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const
 Acquires a const interface. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)
 Acquires a mutable interface. More...
 
Uuid get_iid () const
 Returns the interface ID of the most derived interface. More...
 
virtual Uint32 get_resolution_theta () const =0
 Returns the number of values in theta direction. More...
 
virtual Uint32 get_resolution_phi () const =0
 Returns the number of values in phi direction. More...
 
virtual Bsdf_type get_type () const =0
 Returns the type of the values. More...
 
virtual const IBsdf_bufferget_bsdf_buffer () const =0
 Returns the buffer containing the actual values. More...
 
- Public Member Functions inherited from mi::base::IInterface
virtual Uint32 retain () const =0
 Increments the reference count. More...
 
virtual Uint32 release () const =0
 Decrements the reference count. More...
 
virtual const IInterfaceget_interface (const Uuid &interface_id) const =0
 Acquires a const interface from another. More...
 
template<class T>
const T * get_interface () const
 Acquires a const interface from another. More...
 
virtual IInterfaceget_interface (const Uuid &interface_id)=0
 Acquires a mutable interface from another. More...
 
template<class T>
T * get_interface ()
 Acquires a mutable interface from another. More...
 
virtual Uuid get_iid () const =0
 Returns the interface ID of the most derived interface. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x23fd6d83, ... >
typedef Interface_declare< id1, ... > Self
 Own type. More...
 
typedef Uuid_t< id1, ... > IID
 Declares the interface ID (IID) of this interface. More...
 
- Public Types inherited from mi::base::IInterface
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x23fd6d83, ... >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 
- Static Public Member Functions inherited from mi::base::IInterface
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface. More...
 
- Protected Member Functions inherited from mi::base::Interface_implement< neuraylib::IBsdf_isotropic_data >
Atom32refcount () const
 Get the current refcount. More...
 

Detailed Description

Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data.

The resolution and type of the BSDF data are specified in the constructor and cannot be changed later. This simple implementation creates (the interface owning) the memory block holding all values in its constructor and keeps it for its lifetime. More advanced implementations might convert the data from other representations on the fly in get_bsdf_buffer() and might return a temporary instance of mi::neuraylib::IBsdf_buffer without keeping a reference to that instance.

See also
mi::neuraylib::IBsdf_isotropic_data

Constructor & Destructor Documentation

 Bsdf_isotropic_data()

mi::neuraylib::Bsdf_isotropic_data::Bsdf_isotropic_data ( Uint32  resolution_theta,
Uint32  resolution_phi,
Bsdf_type  type 
)
inline

Constructor.

Member Function Documentation

 get_bsdf_buffer() [1/2]

Bsdf_buffer * mi::neuraylib::Bsdf_isotropic_data::get_bsdf_buffer ( )
inline

Returns the buffer containing the values (mutable).

 get_bsdf_buffer() [2/2]

const Bsdf_buffer * mi::neuraylib::Bsdf_isotropic_data::get_bsdf_buffer ( ) const
inlinevirtual

Returns the buffer containing the values (const).

Implements mi::neuraylib::IBsdf_isotropic_data.

 get_resolution_phi()

Uint32 mi::neuraylib::Bsdf_isotropic_data::get_resolution_phi ( ) const
inlinevirtual

Returns the number of values in phi direction.

Implements mi::neuraylib::IBsdf_isotropic_data.

 get_resolution_theta()

Uint32 mi::neuraylib::Bsdf_isotropic_data::get_resolution_theta ( ) const
inlinevirtual

Returns the number of values in theta direction.

Implements mi::neuraylib::IBsdf_isotropic_data.

 get_type()

Bsdf_type mi::neuraylib::Bsdf_isotropic_data::get_type ( ) const
inlinevirtual

Returns the type of the values.

Implements mi::neuraylib::IBsdf_isotropic_data.