A reference is an object that acts as a pointer to other database elements. More...
Public Member Functions | |
virtual Sint32 | set_reference (const base::IInterface *db_element)=0 |
Sets the reference to db_element . More... |
|
virtual Sint32 | set_reference (const char *name)=0 |
Sets the reference to the database element named name . More... |
|
virtual const base::IInterface * | get_reference () const =0 |
Returns the reference. More... |
|
template<class T > | |
const T * | get_reference () const |
Returns the reference. More... |
|
virtual base::IInterface * | get_reference ()=0 |
Returns the reference. More... |
|
template<class T > | |
T * | get_reference () |
Returns the reference. More... |
|
virtual const char * | get_reference_name () const =0 |
Returns the name of the referenced element. More... |
|
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0x3572250a, 0x605e, 0x4b6c, 0xa0, 0xc3, 0xae, 0xd5, 0x7e, 0x24, 0x69, 0x9b, IData_simple > | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, IData_simple > |
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< 0x3572250a, 0x605e, 0x4b6c, 0xa0, 0xc3, 0xae, 0xd5, 0x7e, 0x24, 0x69, 0x9b, IData_simple > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... |
|
A reference is an object that acts as a pointer to other database elements.
It can be used for example to store references to other database elements as an attribute of a given database element.
References come in two variants, typed and untyped. The type name of untyped references is simply "Ref"
. The type name of typed references is "Ref<T>"
, where T
is one of the strings "Texture"
, "Lightprofile"
, or "Bsdf_measurement"
.
Untyped references are used for the "material"
attribute (see mi::neuraylib::IAttribute_set). Typed references are used for arguments and defaults of MDL-related classes.
|
pure virtual |
Returns the reference.
|
inline |
Returns the reference.
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.
T | The requested interface type |
|
pure virtual |
Returns the reference.
|
inline |
Returns the reference.
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.
T | The requested interface type |
|
pure virtual |
Returns the name of the referenced element.
|
pure virtual |
Sets the reference to db_element
.
Note that a NULL
pointer is a valid parameter value that clears the previously set reference. Subsequent get_reference() calls will return NULL
then.
If a literal 0
is passed for db_element
, the call is ambiguous. You need to explicitly cast the value to const
IInterface*
or const
char*
.
db_element
does not point to a DB element.db_element
points to a DB element that has not yet been stored in the DB.
|
pure virtual |
Sets the reference to the database element named name
.
Note that a NULL
pointer is a valid parameter value that clears the previously set reference. Subsequent get_reference() calls will return NULL
then.
If a literal 0
is passed for name
, the call is ambiguous. You need to explicitly cast the value to const
IInterface*
or const
char*
.