neuray API Programmer's Manual

mi::neuraylib::IValue Class Reference

[MDL type system]

Description

The interface to MDL values. Values can be created using the value factory mi::neuraylib::IValue_factory.

Public Enumerations

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.

Public Member Functions

virtual Kind get_kind() const =0
Returns the kind of the value.
virtual const ITypeget_type() const =0
Returns the type of this value.
template< class T>const T* get_type() const
Returns the type of this value.

Enums

enum mi::​neuraylib::​IValue::Kind

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.
VK_FORCE_32_BIT = 0xffffffffU

Member Functions

virtual Kind mi::​neuraylib::​IValue::get_kind() const [pure virtual]

Returns the kind of the value.

virtual const IType* mi::​neuraylib::​IValue::get_type() const [pure virtual]

Returns the type of this value.

template< class T>

const T* mi::​neuraylib::​IValue::get_type() const [inline]

Returns the type of this value.