Example implementation of the abstract interface mi::neuraylib::IBsdf_isotropic_data. More...
#include <bsdf_isotropic_data.h>
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_buffer * | get_bsdf_buffer () const |
Returns the buffer containing the values (const). More... | |
Bsdf_buffer * | get_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_implement & | operator= (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 IInterface * | get_interface (const Uuid &interface_id) const |
Acquires a const interface. More... | |
virtual IInterface * | get_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_buffer * | get_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 IInterface * | get_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 IInterface * | get_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 > | |
Atom32 & | refcount () const |
Get the current refcount. More... | |
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.
|
inline |
Constructor.
|
inline |
Returns the buffer containing the values (mutable).
|
inlinevirtual |
Returns the buffer containing the values (const).
Implements mi::neuraylib::IBsdf_isotropic_data.
|
inlinevirtual |
Returns the number of values in phi direction.
Implements mi::neuraylib::IBsdf_isotropic_data.
|
inlinevirtual |
Returns the number of values in theta direction.
Implements mi::neuraylib::IBsdf_isotropic_data.
|
inlinevirtual |
Returns the type of the values.
Implements mi::neuraylib::IBsdf_isotropic_data.