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

A direct call expression. More...

#include <iexpression.h>

Inheritance diagram for mi::neuraylib::IExpression_direct_call:

Public Member Functions

virtual const char * get_definition () const =0
 Returns the DB name of the corresponding function or material definition. More...
 
virtual const IExpression_listget_arguments () const =0
 Returns the arguments of the direct call. More...
 
- Public Member Functions inherited from mi::neuraylib::IExpression
virtual Kind get_kind () const =0
 Returns the kind of this expression. More...
 
virtual const ITypeget_type () const =0
 Returns the type of this expression. More...
 
template<class T>
const T * get_type () const
 Returns the type of this expression. 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 = EK_DIRECT_CALL
 The kind of this subclass. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x9253c9d6, ... >
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::IExpression
enum  Kind {
  EK_CONSTANT ,
  EK_CALL ,
  EK_PARAMETER ,
  EK_DIRECT_CALL ,
  EK_TEMPORARY ,
  EK_FORCE_32_BIT = 0xffffffffU
}
 The possible kinds of expressions. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x0f4a7542, ... >
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< 0x9253c9d6, ... >
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< 0x0f4a7542, ... >
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

A direct call expression.

This call expression is called direct since it directly represents the actual call (and not simply references another DB element representing the actual call as for indirect call expressions). See mi::neuraylib::IExpression_call for of comparison of direct and indirect call expressions.

Direct call expressions appear in fields and temporaries of compiled materials, in the bodies of function and material definitions, and in bodies in the module builder.

Member Function Documentation

 get_arguments()

virtual const IExpression_list * mi::neuraylib::IExpression_direct_call::get_arguments ( ) const
pure virtual

Returns the arguments of the direct call.

 get_definition()

virtual const char * mi::neuraylib::IExpression_direct_call::get_definition ( ) const
pure virtual

Returns the DB name of the corresponding function or material definition.

Member Data Documentation

 s_kind

const Kind mi::neuraylib::IExpression_direct_call::s_kind = EK_DIRECT_CALL
static

The kind of this subclass.