Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ivalue.h File Reference

Values of the MDL type system. More...

Go to the source code of this file.

Classes

class  mi::neuraylib::IValue
 The interface to MDL values. More...
 
class  mi::neuraylib::IValue_atomic
 An atomic value. More...
 
class  mi::neuraylib::IValue_bool
 A value of type boolean. More...
 
class  mi::neuraylib::IValue_int
 A value of type integer. More...
 
class  mi::neuraylib::IValue_enum
 A value of type enum. More...
 
class  mi::neuraylib::IValue_float
 A value of type float. More...
 
class  mi::neuraylib::IValue_double
 A value of type double. More...
 
class  mi::neuraylib::IValue_string
 A value of type string. More...
 
class  mi::neuraylib::IValue_string_localized
 A value of type string which can be used to obtain the original, non-localized value of a localized string. More...
 
class  mi::neuraylib::IValue_compound
 A compound value. More...
 
class  mi::neuraylib::IValue_vector
 A value of type vector. More...
 
class  mi::neuraylib::IValue_matrix
 A value of type matrix. More...
 
class  mi::neuraylib::IValue_color
 A value of type color. More...
 
class  mi::neuraylib::IValue_array
 A value of type array. More...
 
class  mi::neuraylib::IValue_struct
 A value of type struct. More...
 
class  mi::neuraylib::IValue_resource
 Base class for resource values. More...
 
class  mi::neuraylib::IValue_texture
 A texture value. More...
 
class  mi::neuraylib::IValue_light_profile
 A light profile value. More...
 
class  mi::neuraylib::IValue_bsdf_measurement
 A BSDF measurement value. More...
 
class  mi::neuraylib::IValue_invalid_df
 An invalid distribution function value. More...
 
class  mi::neuraylib::IValue_list
 An ordered collection of values identified by name or index. More...
 
class  mi::neuraylib::IValue_factory
 The interface for creating values. More...
 

Namespaces

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::neuraylib
 Namespace for the MDL API.
 

Constant Groups

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::neuraylib
 Namespace for the MDL API.
 

Functions

template<class T >
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const T &v)
 Simplifies setting the value of mi::neuraylib::IValue from the corresponding classes from the base and math API. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const bool &v)
 This specialization handles mi::neuraylib::IValue_bool. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::Float32 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::Float64 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const char *v)
 This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More...
 
template<class T , Size DIM>
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::math::Vector< T, DIM > &v)
 This specialization handles mi::neuraylib::IValue_vector. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::math::Matrix< T, ROW, COL > &v)
 This specialization handles mi::neuraylib::IValue_matrix. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::math::Color &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const mi::math::Spectrum &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
template<class T >
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, mi::Size index, const T &v)
 This variant handles elements of compounds identified via an additional index. More...
 
template<class T >
mi::Sint32 mi::neuraylib::set_value (mi::neuraylib::IValue *value, const char *name, const T &v)
 This variant handles fields of structs identified via an additional field name. More...
 
template<class T >
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, T &v)
 base and math API. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, bool &v)
 This specialization handles mi::neuraylib::IValue_bool. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::Float32 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::Float64 &v)
 This specialization handles mi::neuraylib::IValue_float and mi::neuraylib::IValue_double. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, const char *&v)
 This specialization handles mi::neuraylib::IValue_enum, mi::neuraylib::IValue_string and mi::neuraylib::IValue_resource. More...
 
template<class T , Size DIM>
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::math::Vector< T, DIM > &v)
 This specialization handles mi::neuraylib::IValue_vector. More...
 
template<class T , Size ROW, Size COL>
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::math::Matrix< T, ROW, COL > &v)
 This specialization handles mi::neuraylib::IValue_matrix. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::math::Color &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::math::Spectrum &v)
 This specialization handles mi::neuraylib::IValue_color. More...
 
template<class T >
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, mi::Size index, T &v)
 This variant handles elements of compounds identified via an additional index. More...
 
template<class T >
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, const char *name, T &v)
 This variant handles fields of structs identified via an additional field name. More...
 

Detailed Description

Values of the MDL type system.