Iray SDK API nvidia_logo_transpbg.gif Up
mi::ICompound Class Referenceabstract

This interface represents compounds, i.e., vectors, matrices, colors, spectrums, and bounding boxes. More...

#include <icompound.h>

Inheritance diagram for mi::ICompound:

Public Member Functions

virtual Size get_number_of_rows () const =0
 Returns the number of rows of the represented matrix or vector. More...
 
virtual Size get_number_of_columns () const =0
 Returns the number of columns of the represented matrix. More...
 
virtual Size get_length () const =0
 Returns the total number of elements. More...
 
virtual const char * get_element_type_name () const =0
 Returns the type name of elements of the compound. More...
 
virtual bool get_value (Size row, Size column, bool &value) const =0
 Accesses the (row, column)-th element. More...
 
virtual bool get_value (Size row, Size column, Sint32 &value) const =0
 Accesses the (row, column)-th element. More...
 
virtual bool get_value (Size row, Size column, Uint32 &value) const =0
 Accesses the (row, column)-th element. More...
 
virtual bool get_value (Size row, Size column, Float32 &value) const =0
 Accesses the (row, column)-th element. More...
 
virtual bool get_value (Size row, Size column, Float64 &value) const =0
 Accesses the (row, column)-th element. More...
 
template<class T>
get_value (Size row, Size column) const
 Accesses the (row, column)-th element. More...
 
virtual bool set_value (Size row, Size column, bool value)=0
 Sets the (row, column)-th element to value. More...
 
virtual bool set_value (Size row, Size column, Sint32 value)=0
 Sets the (row, column)-th element to value. More...
 
virtual bool set_value (Size row, Size column, Uint32 value)=0
 Sets the (row, column)-th element to value. More...
 
virtual bool set_value (Size row, Size column, Float32 value)=0
 Sets the (row, column)-th element to value. More...
 
virtual bool set_value (Size row, Size column, Float64 value)=0
 Sets the (row, column)-th element to value. More...
 
virtual void get_values (bool *values) const =0
 Accesses the elements of the compound. More...
 
virtual void get_values (Sint32 *values) const =0
 Accesses the elements of the compound. More...
 
virtual void get_values (Uint32 *values) const =0
 Accesses the elements of the compound. More...
 
virtual void get_values (Float32 *values) const =0
 Accesses the elements of the compound. More...
 
virtual void get_values (Float64 *values) const =0
 Accesses the elements of the compound. More...
 
virtual void set_values (const bool *values)=0
 Sets the elements of the compound. More...
 
virtual void set_values (const Sint32 *values)=0
 Sets the elements of the compound. More...
 
virtual void set_values (const Uint32 *values)=0
 Sets the elements of the compound. More...
 
virtual void set_values (const Float32 *values)=0
 Sets the elements of the compound. More...
 
virtual void set_values (const Float64 *values)=0
 Sets the elements of the compound. More...
 
virtual const base::IInterfaceget_value (const char *key) const=0
 Returns the value for key key. More...
 
template<class T>
const T * get_value (const char *key) const
 Returns the value for key key. More...
 
virtual base::IInterfaceget_value (const char *key)=0
 Returns the value for key key. More...
 
template<class T>
T * get_value (const char *key)
 Returns the value for key key. More...
 
virtual const base::IInterfaceget_value (Size index) const=0
 Returns the value for index index. More...
 
template<class T>
const T * get_value (Size index) const
 Returns the value for index index. More...
 
virtual base::IInterfaceget_value (Size index)=0
 Returns the value for index index. More...
 
template<class T>
T * get_value (Size index)
 Returns the value for index index. More...
 
virtual Sint32 set_value (const char *key, base::IInterface *value)=0
 Stores the value for key key. More...
 
virtual Sint32 set_value (Size index, base::IInterface *value)=0
 Stores the value for index index. More...
 
- Public Member Functions inherited from mi::IData_collection
virtual Size get_length () const =0
 Returns the number of values. More...
 
virtual const char * get_key (Size index) const =0
 Returns the key corresponding to index. More...
 
virtual bool has_key (const char *key) const =0
 Indicates whether the key key exists or not. More...
 
virtual const base::IInterfaceget_value (const char *key) const =0
 Returns the value for key key. More...
 
template<class T>
const T * get_value (const char *key) const
 Returns the value for key key. More...
 
virtual base::IInterfaceget_value (const char *key)=0
 Returns the value for key key. More...
 
template<class T>
T * get_value (const char *key)
 Returns the value for key key. More...
 
virtual const base::IInterfaceget_value (Size index) const =0
 Returns the value for index index. More...
 
template<class T>
const T * get_value (Size index) const
 Returns the value for index index. More...
 
virtual base::IInterfaceget_value (Size index)=0
 Returns the value for index index. More...
 
template<class T>
T * get_value (Size index)
 Returns the value for index index. More...
 
virtual Sint32 set_value (const char *key, base::IInterface *value)=0
 Stores the value for key key. More...
 
virtual Sint32 set_value (Size index, base::IInterface *value)=0
 Stores the value for index index. More...
 
- Public Member Functions inherited from mi::IData
virtual const char * get_type_name () const =0
 Returns the type name. 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< 0x65437cd6, ... >
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::Interface_declare< 0x1bb2be0f, ... >
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::Interface_declare< 0x2e5f84bc, ... >
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< 0x65437cd6, ... >
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< 0x1bb2be0f, ... >
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< 0x2e5f84bc, ... >
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

This interface represents compounds, i.e., vectors, matrices, colors, spectrums, and bounding boxes.

It can be used to represent vectors and matrices by an interface derived from mi::base::IInterface. In contrast to specialized interfaces for particular vector and matrix types it has a generic interface for vectors and matrices of any size and any primitive type as element type. See Types for description of the type system.

This interface treats vectors as column vectors, i.e., as matrices with a single column. Colors are treated as vectors of length 3 or 4, spectrums as vectors of length 3, and bounding boxes as matrices of 2 rows and 3 columns.

In case of vectors and matrices the type name of a compound is the type name of the element followed by "<", the size of the compound, and finally ">". In case of vectors, the size is specified by a single positive integer. In case of matrices the size is specified as two positive integers separated by a comma. The first and second integer indicate the number of rows and columns, respectively. Examples of valid type names are "Sint32<3>" or "Float32<2,2>". The type names of the two color types are "Color" and "Color3", the type name of spectrums is "Spectrum", and the type name of bounding boxes is "Bbox3".

The following keys are supported with the methods of mi::IData_collection are the following: vectors support the keys "x", "y", "z", and "w" (or subsets thereof, depending on the dimension). Matrices support the keys "xx", "xy", "xz", "xw", "yx", "yy", "yz", "yw", "zx", "zy", "zz", "zw", "wx", "wy", "wz", and "ww" (or subsets thereof, depending on the dimension). Colors support the keys "r", "g", "b", and "a" (the type "Color3" lacks the "a" key). Spectrums support the keys "0", "1", and "2". Finally, bounding boxes support the keys "min_x", "min_y", "min_z", "max_x", "max_y", and "max_z".

Note
Currently the element type is restricted to be either bool, mi::Sint32, mi::Float32, or mi::Float64. If used as an attribute, matrices are restricted to mi::Float32 as element type with the exception of 4 x 4 matrices of elements of type mi::Float64.

Member Function Documentation

 get_element_type_name()

virtual const char * mi::ICompound::get_element_type_name ( ) const
pure virtual

Returns the type name of elements of the compound.

 get_length()

virtual Size mi::ICompound::get_length ( ) const
pure virtual

Returns the total number of elements.

This value is the product of get_number_of_rows() and get_number_of_columns().

Implements mi::IData_collection.

 get_number_of_columns()

virtual Size mi::ICompound::get_number_of_columns ( ) const
pure virtual

Returns the number of columns of the represented matrix.

Always returns 1 in case of vectors.

 get_number_of_rows()

virtual Size mi::ICompound::get_number_of_rows ( ) const
pure virtual

Returns the number of rows of the represented matrix or vector.

 get_value() [1/14]

template<class T>
T * mi::IData_collection::get_value ( const char *  key)
inlinevirtual

Returns the value for key key.

Note
If a literal 0 is passed for key, the call is ambiguous. You need to explicitly cast the argument to const char*.

This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid&) on the returned pointer, since the return type already is a pointer to the type T specified as template parameter.

Template Parameters
TThe interface type of the element to return.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [2/14]

template<class T>
const T * mi::IData_collection::get_value ( const char *  key) const
inlinevirtual

Returns the value for key key.

Note
If a literal 0 is passed for key, the call is ambiguous. You need to explicitly cast the argument to const char*.

This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid&) on the returned pointer, since the return type already is a pointer to the type T specified as template parameter.

Template Parameters
TThe interface type of the element to return.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [3/14]

virtual const base::IInterface * mi::IData_collection::get_value ( const char *  key) const
virtual

Returns the value for key key.

Note
If a literal 0 is passed for key, the call is ambiguous. You need to explicitly cast the argument to const char*.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [4/14]

virtual base::IInterface * mi::IData_collection::get_value ( const char *  key)
virtual

Returns the value for key key.

Note
If a literal 0 is passed for key, the call is ambiguous. You need to explicitly cast the argument to const char*.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [5/14]

template<class T>
T * mi::IData_collection::get_value ( Size  index)
inlinevirtual

Returns the value for index index.

Note
If a literal 0 is passed for index, the call is ambiguous. You need to explicitly cast the argument to mi::Size.

This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid&) on the returned pointer, since the return type already is a pointer to the type T specified as template parameter.

Template Parameters
TThe interface type of the element to return.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [6/14]

template<class T>
const T * mi::IData_collection::get_value ( Size  index) const
inlinevirtual

Returns the value for index index.

Note
If a literal 0 is passed for index, the call is ambiguous. You need to explicitly cast the argument to mi::Size.

This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid&) on the returned pointer, since the return type already is a pointer to the type T specified as template parameter.

Template Parameters
TThe interface type of the element to return.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [7/14]

virtual const base::IInterface * mi::IData_collection::get_value ( Size  index) const
virtual

Returns the value for index index.

Note
If a literal 0 is passed for index, the call is ambiguous. You need to explicitly cast the argument to mi::Size.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [8/14]

virtual base::IInterface * mi::IData_collection::get_value ( Size  index)
virtual

Returns the value for index index.

Note
If a literal 0 is passed for index, the call is ambiguous. You need to explicitly cast the argument to mi::Size.

Implements mi::IData_collection.

Reimplemented in mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, mi::IFloat64_4, mi::IBoolean_2_2, mi::IBoolean_2_3, mi::IBoolean_2_4, mi::IBoolean_3_2, mi::IBoolean_3_3, mi::IBoolean_3_4, mi::IBoolean_4_2, mi::IBoolean_4_3, mi::IBoolean_4_4, mi::ISint32_2_2, mi::ISint32_2_3, mi::ISint32_2_4, mi::ISint32_3_2, mi::ISint32_3_3, mi::ISint32_3_4, mi::ISint32_4_2, mi::ISint32_4_3, mi::ISint32_4_4, mi::IUint32_2_2, mi::IUint32_2_3, mi::IUint32_2_4, mi::IUint32_3_2, mi::IUint32_3_3, mi::IUint32_3_4, mi::IUint32_4_2, mi::IUint32_4_3, mi::IUint32_4_4, mi::IFloat32_2_2, mi::IFloat32_2_3, mi::IFloat32_2_4, mi::IFloat32_3_2, mi::IFloat32_3_3, mi::IFloat32_3_4, mi::IFloat32_4_2, mi::IFloat32_4_3, mi::IFloat32_4_4, mi::IFloat64_2_2, mi::IFloat64_2_3, mi::IFloat64_2_4, mi::IFloat64_3_2, mi::IFloat64_3_3, mi::IFloat64_3_4, mi::IFloat64_4_2, mi::IFloat64_4_3, mi::IFloat64_4_4, mi::ISpectrum, mi::IBoolean_2, mi::IBoolean_3, mi::IBoolean_4, mi::ISint32_2, mi::ISint32_3, mi::ISint32_4, mi::IUint32_2, mi::IUint32_3, mi::IUint32_4, mi::IFloat32_2, mi::IFloat32_3, mi::IFloat32_4, mi::IFloat64_2, mi::IFloat64_3, and mi::IFloat64_4.

 get_value() [9/14]

template<class T>
T mi::ICompound::get_value ( Size  row,
Size  column 
) const
inline

Accesses the (row, column)-th element.

Precondition
row < get_number_of_rows(), column < get_number_of_columns()

 get_value() [10/14]

 get_value() [11/14]

 get_value() [12/14]

 get_value() [13/14]

 get_value() [14/14]

 get_values() [1/5]

virtual void mi::ICompound::get_values ( bool *  values) const
pure virtual

Accesses the elements of the compound.

Parameters
valuesThe values of the compound elements are written to this buffer. The size of the buffer has to be at least get_length() times sizeof(bool).

 get_values() [2/5]

virtual void mi::ICompound::get_values ( Float32 values) const
pure virtual

Accesses the elements of the compound.

Parameters
valuesThe values of the compound elements are written to this buffer. The size of the buffer has to be at least get_length() times sizeof(Float32).

 get_values() [3/5]

virtual void mi::ICompound::get_values ( Float64 values) const
pure virtual

Accesses the elements of the compound.

Parameters
valuesThe values of the compound elements are written to this buffer. The size of the buffer has to be at least get_length() times sizeof(Float64).

 get_values() [4/5]

virtual void mi::ICompound::get_values ( Sint32 values) const
pure virtual

Accesses the elements of the compound.

Parameters
valuesThe values of the compound elements are written to this buffer. The size of the buffer has to be at least get_length() times sizeof(Sint32).

 get_values() [5/5]

virtual void mi::ICompound::get_values ( Uint32 values) const
pure virtual

Accesses the elements of the compound.

Parameters
valuesThe values of the compound elements are written to this buffer. The size of the buffer has to be at least get_length() times sizeof(Uint32).

 set_value() [1/7]

virtual Sint32 mi::IData_collection::set_value ( const char *  key,
base::IInterface value 
)
virtual

 set_value() [2/7]

virtual Sint32 mi::IData_collection::set_value ( Size  index,
base::IInterface value 
)
virtual

 set_value() [3/7]

 set_value() [4/7]

 set_value() [5/7]

 set_value() [6/7]

 set_value() [7/7]

 set_values() [1/5]

virtual void mi::ICompound::set_values ( const bool *  values)
pure virtual

Sets the elements of the compound.

Parameters
valuesThe new values of the compound elements are read to this buffer. The size of the buffer has to be at least get_length() times sizeof(bool).

 set_values() [2/5]

virtual void mi::ICompound::set_values ( const Float32 values)
pure virtual

Sets the elements of the compound.

Parameters
valuesThe new values of the compound elements are read to this buffer. The size of the buffer has to be at least get_length() times sizeof(Float32).

 set_values() [3/5]

virtual void mi::ICompound::set_values ( const Float64 values)
pure virtual

Sets the elements of the compound.

Parameters
valuesThe new values of the compound elements are read to this buffer. The size of the buffer has to be at least get_length() times sizeof(Float64).

 set_values() [4/5]

virtual void mi::ICompound::set_values ( const Sint32 values)
pure virtual

Sets the elements of the compound.

Parameters
valuesThe new values of the compound elements are read to this buffer. The size of the buffer has to be at least get_length() times sizeof(Sint32).

 set_values() [5/5]

virtual void mi::ICompound::set_values ( const Uint32 values)
pure virtual

Sets the elements of the compound.

Parameters
valuesThe new values of the compound elements are read to this buffer. The size of the buffer has to be at least get_length() times sizeof(Uint32).