MDL SDK API nvidia_logo_transpbg.gif Up
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

namespace  mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
namespace  mi::neuraylib
 Namespace for the MDL SDK 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::set_value (mi::neuraylib::IValue *value, const T *v, mi::Size n)
 This variant handles entire arrays. More...
 
template<class T>
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, T &v)
 Simplifies reading the value of mi::neuraylib::IValue into the corresponding classes from the 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...
 
template<class T>
mi::Sint32 mi::neuraylib::get_value (const mi::neuraylib::IValue *value, T *v, mi::Size n)
 This variant handles entire arrays. More...
 

Detailed Description

Values of the MDL type system.