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

A compound value. More...

#include <ivalue.h>

Inheritance diagram for mi::neuraylib::IValue_compound:

Public Member Functions

virtual const IType_compoundget_type () const =0
 Returns the type of this value. More...
 
virtual Size get_size () const =0
 Returns the number of components in this compound value. More...
 
virtual const IValueget_value (Size index) const =0
 Returns the value at index, or NULL if index is out of bounds. More...
 
template<class T>
const T * get_value (Size index) const
 Returns the value at index, or NULL if index is out of bounds. More...
 
virtual IValueget_value (Size index)=0
 Returns the value at index, or NULL if index is out of bounds. More...
 
template<class T>
T * get_value (Size index)
 Returns the value at index, or NULL if index is out of bounds. More...
 
virtual Sint32 set_value (Size index, IValue *value)=0
 Sets the value at index. More...
 
- Public Member Functions inherited from mi::neuraylib::IValue
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

- Public Types inherited from mi::base::Interface_declare< 0xdabc8fe3, ... >
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::neuraylib::IValue
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...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xdabc8fe3, ... >
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::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

A compound value.

Member Function Documentation

 get_size()

virtual Size mi::neuraylib::IValue_compound::get_size ( ) const
pure virtual

Returns the number of components in this compound value.

 get_type()

virtual const IType_compound * mi::neuraylib::IValue_compound::get_type ( ) const
pure virtual

 get_value() [1/4]

template<class T>
T * mi::neuraylib::IValue_compound::get_value ( Size  index)
inline

Returns the value at index, or NULL if index is out of bounds.

 get_value() [2/4]

template<class T>
const T * mi::neuraylib::IValue_compound::get_value ( Size  index) const
inline

Returns the value at index, or NULL if index is out of bounds.

 get_value() [3/4]

virtual const IValue * mi::neuraylib::IValue_compound::get_value ( Size  index) const
pure virtual

Returns the value at index, or NULL if index is out of bounds.

Implemented in mi::neuraylib::IValue_vector, mi::neuraylib::IValue_vector, mi::neuraylib::IValue_matrix, and mi::neuraylib::IValue_color.

 get_value() [4/4]

virtual IValue * mi::neuraylib::IValue_compound::get_value ( Size  index)
pure virtual

Returns the value at index, or NULL if index is out of bounds.

Implemented in mi::neuraylib::IValue_vector, mi::neuraylib::IValue_vector, mi::neuraylib::IValue_matrix, and mi::neuraylib::IValue_color.

 set_value()

virtual Sint32 mi::neuraylib::IValue_compound::set_value ( Size  index,
IValue value 
)
pure virtual

Sets the value at index.

Parameters
indexThe index of the field.
valueThe new value of the field.
Returns
  • 0: Success.
  • -1: Invalid parameter (NULL pointer).
  • -2: index is out of bounds.
  • -3: Incorrect type of value.

Implemented in mi::neuraylib::IValue_color.