Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IValue_compound Class Referenceabstract

A compound value. More...

Inheritance diagram for mi::neuraylib::IValue_compound:
mi::base::Interface_declare< 0xdabc8fe3, 0x5c70, 0x4ef0, 0xa2, 0xf7, 0x34, 0x30, 0xb5, 0x67, 0xdc, 0x75, neuraylib::IValue > mi::neuraylib::IValue mi::base::Interface_declare< 0xbf837f4a, 0x9034, 0x4f32, 0xaf, 0x5c, 0x75, 0xb3, 0x67, 0x64, 0x53, 0x23 > mi::base::IInterface mi::base::Interface_declare< 0x3bb9bf46, 0x1cbb, 0x4460, 0xbe, 0x27, 0x10, 0xf5, 0x71, 0x61, 0x96, 0xa2, neuraylib::IValue_compound > mi::base::Interface_declare< 0x9ee95da6, 0x2cd6, 0x4168, 0x89, 0xea, 0x92, 0x10, 0x57, 0xda, 0xe6, 0xdc, neuraylib::IValue_compound > mi::base::Interface_declare< 0xa17c5f57, 0xa647, 0x41c4, 0x86, 0x2f, 0x4c, 0x0d, 0xe1, 0x30, 0x08, 0xfc, neuraylib::IValue_compound > mi::base::Interface_declare< 0xcbe089ce, 0x4aea, 0x474d, 0x94, 0x5f, 0x52, 0x13, 0xef, 0x01, 0xce, 0x81, neuraylib::IValue_compound > mi::base::Interface_declare< 0xf5d09fc3, 0xd783, 0x4571, 0x8d, 0x59, 0x41, 0xb1, 0xff, 0xd3, 0x91, 0x49, neuraylib::IValue_compound > mi::neuraylib::IValue_color mi::neuraylib::IValue_matrix mi::neuraylib::IValue_array mi::neuraylib::IValue_struct mi::neuraylib::IValue_vector

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

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0xdabc8fe3, 0x5c70, 0x4ef0, 0xa2, 0xf7, 0x34, 0x30, 0xb5, 0x67, 0xdc, 0x75, neuraylib::IValue >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
neuraylib::IValue
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0xdabc8fe3, 0x5c70, 0x4ef0, 0xa2, 0xf7, 0x34, 0x30, 0xb5, 0x67, 0xdc, 0x75, neuraylib::IValue >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

A compound value.

Member Function Documentation

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

Returns the number of components in this compound value.

virtual const IType_compound* mi::neuraylib::IValue_compound::get_type ( ) const
pure virtual
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_color, mi::neuraylib::IValue_matrix, mi::neuraylib::IValue_vector, and mi::neuraylib::IValue_vector.

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.

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_color, mi::neuraylib::IValue_matrix, mi::neuraylib::IValue_vector, and mi::neuraylib::IValue_vector.

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.

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.