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

The type of kind matrix. More...

#include <itype.h>

Inheritance diagram for mi::neuraylib::IType_matrix:

Public Member Functions

virtual const IType_vectorget_element_type () const =0
 Returns the type of the matrix elements, i.e., the type of a column vector. More...
 
- Public Member Functions inherited from mi::neuraylib::IType_compound
virtual const ITypeget_component_type (Size index) const =0
 Returns the component type at index. More...
 
virtual Size get_size () const =0
 Returns the number of components. More...
 
- Public Member Functions inherited from mi::neuraylib::IType
virtual Kind get_kind () const =0
 Returns the kind of type. More...
 
virtual Uint32 get_all_type_modifiers () const =0
 Returns all type modifiers of a type. More...
 
virtual const ITypeskip_all_type_aliases () const =0
 Returns the base type. More...
 
virtual bool is_declarative () const =0
 Indicates whether this type is declarative or not. 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...
 

Static Public Attributes

static const Kind s_kind = TK_MATRIX
 The kind of this subclass. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x6b76570e, ... >
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< 0xc9ca497f, ... >
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::IType
enum  Kind {
  TK_ALIAS ,
  TK_BOOL ,
  TK_INT ,
  TK_ENUM ,
  TK_FLOAT ,
  TK_DOUBLE ,
  TK_STRING ,
  TK_VECTOR ,
  TK_MATRIX ,
  TK_COLOR ,
  TK_ARRAY ,
  TK_STRUCT ,
  TK_TEXTURE ,
  TK_LIGHT_PROFILE ,
  TK_BSDF_MEASUREMENT ,
  TK_BSDF ,
  TK_HAIR_BSDF ,
  TK_EDF ,
  TK_VDF ,
  TK_FORCE_32_BIT = 0xffffffffU
}
 The possible kinds of types. More...
 
enum  Modifier {
  MK_NONE = 0 ,
  MK_UNIFORM = 2 ,
  MK_VARYING = 4 ,
  MK_FORCE_32_BIT
}
 The possible kinds of type modifiers. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x242af675, ... >
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< 0x6b76570e, ... >
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< 0xc9ca497f, ... >
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< 0x242af675, ... >
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

The type of kind matrix.

The matrix is represented as a compound of column vectors. The number of matrix columns is given by the size of the underlying compound, see mi::neuraylib::IType_compound::get_size(). The number of matrix rows is given by the dimension of a column vector. Both dimensions are either 2, 3, or 4.

Note
MDL matrix types are named TypeColxRow where Type is one of float or double, Col is the number of columns and Row is the number of rows (see also section 6.9 in [MDLLS]). This convention is different from the convention used by mi::math::Matrix.

Member Function Documentation

 get_element_type()

virtual const IType_vector * mi::neuraylib::IType_matrix::get_element_type ( ) const
pure virtual

Returns the type of the matrix elements, i.e., the type of a column vector.

Member Data Documentation

 s_kind

const Kind mi::neuraylib::IType_matrix::s_kind = TK_MATRIX
static

The kind of this subclass.