The interface to MDL types. More...
Public Types | |
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 } |
The possible kinds of types. More... | |
enum | Modifier { MK_NONE = 0, MK_UNIFORM = 2, MK_VARYING = 4 } |
The possible kinds of type modifiers. More... | |
![]() | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IInterface > | 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... | |
![]() | |
typedef Uuid_t< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Member Functions | |
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 IType * | skip_all_type_aliases () const =0 |
Returns the base type. More... | |
Additional Inherited Members | |
![]() | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
The interface to MDL types.
Types can be created using the type factory mi::neuraylib::IType_factory.
The possible kinds of types.
Enumerator | |
---|---|
TK_ALIAS |
An alias for another type, aka typedef. See mi::neuraylib::IType_alias. |
TK_BOOL |
The |
TK_INT |
The |
TK_ENUM |
An |
TK_FLOAT |
The |
TK_DOUBLE |
The |
TK_STRING |
The |
TK_VECTOR |
A vector type. See mi::neuraylib::IType_vector. |
TK_MATRIX |
A matrix type. See mi::neuraylib::IType_matrix. |
TK_COLOR |
The color type. See mi::neuraylib::IType_color. |
TK_ARRAY |
An array type. See mi::neuraylib::IType_array. |
TK_STRUCT |
A struct type. See mi::neuraylib::IType_struct. |
TK_TEXTURE |
A texture type. See mi::neuraylib::IType_texture. |
TK_LIGHT_PROFILE |
The |
TK_BSDF_MEASUREMENT |
The |
TK_BSDF |
The |
TK_HAIR_BSDF |
The |
TK_EDF |
The |
TK_VDF |
The |
|
pure virtual |
Returns all type modifiers of a type.
Returns 0 if this
is not an alias. Otherwise, the method follows the chain of aliases by calling mi::neuraylib::IType_alias::get_aliased_type() as long as get_kind() returns TK_ALIAS. The method returns the union of mi::neuraylib::IType_alias::get_type_modifiers() calls on this
and all intermediate aliases.
|
pure virtual |
Returns the kind of type.
|
pure virtual |
Returns the base type.
Returns this
if this
is not an alias. Otherwise, the method follows the chain of aliases by calling mi::neuraylib::IType_alias::get_aliased_type() as long as get_kind() returns TK_ALIAS. The method returns the first non-alias type.