Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer. More...
#include <bsdf_isotropic_data.h>
Public Member Functions | |
Bsdf_buffer (Size size) | |
Constructor. More... | |
~Bsdf_buffer () | |
Destructor. More... | |
const Float32 * | get_data () const |
Gives access to the memory block (const). More... | |
Float32 * | get_data () |
Gives access to the memory block (mutable). More... | |
Public Member Functions inherited from mi::base::Interface_implement< neuraylib::IBsdf_buffer > | |
Interface_implement (Uint32 initial=1) | |
Constructor. More... | |
Interface_implement (const Interface_implement< neuraylib::IBsdf_buffer > &other) | |
Copy constructor. More... | |
Interface_implement (Interface_implement &&other) | |
Move constructor. More... | |
Interface_implement< neuraylib::IBsdf_buffer > & | operator= (const Interface_implement< neuraylib::IBsdf_buffer > &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 const Float32 * | get_data () const =0 |
Returns the memory block containing the actual BSDF 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< 0xdf3e6121, ... > | |
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< 0xdf3e6121, ... > | |
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_buffer > | |
Atom32 & | refcount () const |
Get the current refcount. More... | |
Example implementation of the abstract interface mi::neuraylib::IBsdf_buffer.
The size of the memory block is specified in the constructor and cannot be changed later. This simple implementation simply contains the memory block returned by get_data().
|
inline |
Constructor.
size | The number of mi::Float32 elements in the memory block. |
|
inline |
Destructor.
|
inline |
Gives access to the memory block (mutable).
|
inlinevirtual |
Gives access to the memory block (const).
Implements mi::neuraylib::IBsdf_buffer.