The interface to MDL values. More...
#include <ivalue.h>
Public Types | |
enum | Kind { VK_BOOL , VK_INT , VK_ENUM , VK_FLOAT , VK_DOUBLE , VK_STRING , VK_VECTOR , VK_MATRIX , VK_COLOR , VK_ARRAY , VK_STRUCT , VK_INVALID_DF , VK_TEXTURE , VK_LIGHT_PROFILE , VK_BSDF_MEASUREMENT , VK_FORCE_32_BIT = 0xffffffffU } |
The possible kinds of values. More... | |
Public Types inherited from mi::base::Interface_declare< 0xbf837f4a, ... > | |
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... | |
Public Member Functions | |
virtual Kind | get_kind () const =0 |
Returns the kind of the value. More... | |
virtual const IType * | get_type () const =0 |
Returns the type of this value. More... | |
template<class T> | |
const T * | get_type () const |
Returns the type of this value. 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 | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0xbf837f4a, ... > | |
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... | |
The interface to MDL values.
Values can be created using the value factory mi::neuraylib::IValue_factory.
The possible kinds of values.
Enumerator | |
---|---|
VK_BOOL | A boolean value. See mi::neuraylib::IValue_bool. |
VK_INT | An integer value. See mi::neuraylib::IValue_int. |
VK_ENUM | An enum value. See mi::neuraylib::IValue_enum. |
VK_FLOAT | A float value. See mi::neuraylib::IValue_float. |
VK_DOUBLE | A double value. See mi::neuraylib::IValue_double. |
VK_STRING | A string value. See mi::neuraylib::IValue_string. |
VK_VECTOR | A vector value. See mi::neuraylib::IValue_vector. |
VK_MATRIX | A matrix value. See mi::neuraylib::IValue_matrix. |
VK_COLOR | A color value. See mi::neuraylib::IValue_color. |
VK_ARRAY | An array value. See mi::neuraylib::IValue_array. |
VK_STRUCT | A struct value. See mi::neuraylib::IValue_struct. |
VK_INVALID_DF | An invalid distribution function value. See mi::neuraylib::IValue_invalid_df. |
VK_TEXTURE | A texture value. See mi::neuraylib::IValue_texture. |
VK_LIGHT_PROFILE | A light_profile value. See mi::neuraylib::IValue_light_profile. |
VK_BSDF_MEASUREMENT | A bsdf_measurement value. See mi::neuraylib::IValue_bsdf_measurement. |
|
pure virtual |
Returns the kind of the value.
|
inline |
Returns the type of this value.
|
pure virtual |
Returns the type of this value.
Implemented in mi::neuraylib::IValue_atomic, mi::neuraylib::IValue_bool, mi::neuraylib::IValue_int, mi::neuraylib::IValue_enum, mi::neuraylib::IValue_float, mi::neuraylib::IValue_double, mi::neuraylib::IValue_string, mi::neuraylib::IValue_compound, mi::neuraylib::IValue_vector, mi::neuraylib::IValue_matrix, mi::neuraylib::IValue_color, mi::neuraylib::IValue_array, mi::neuraylib::IValue_struct, mi::neuraylib::IValue_resource, mi::neuraylib::IValue_texture, mi::neuraylib::IValue_light_profile, mi::neuraylib::IValue_bsdf_measurement, and mi::neuraylib::IValue_invalid_df.