MDL SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IValue Class Referenceabstract

The interface to MDL values. More...

#include <ivalue.h>

Inheritance diagram for mi::neuraylib::IValue:

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 ITypeget_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 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

- 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...
 

Detailed Description

The interface to MDL values.

Values can be created using the value factory mi::neuraylib::IValue_factory.

Member Enumeration Documentation

 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.

Member Function Documentation

 get_kind()

virtual Kind mi::neuraylib::IValue::get_kind ( ) const
pure virtual

Returns the kind of the value.

 get_type() [1/2]

template<class T>
const T * mi::neuraylib::IValue::get_type ( ) const
inline

Returns the type of this value.

 get_type() [2/2]