MDL SDK API nvidia_logo_transpbg.gif Up
mi::mdl::DAG_node Class Referenceabstract

A node inside the DAG Intermediate Representation. More...

#include <mdl_generated_dag.h>

Inheritance diagram for mi::mdl::DAG_node:

Public Types

enum  Kind {
  EK_CONSTANT ,
  EK_TEMPORARY ,
  EK_CALL ,
  EK_PARAMETER
}
 The possible kinds of DAG IR nodes. More...
 

Public Member Functions

virtual Kind get_kind () const =0
 Get the kind of this DAG IR node. More...
 
virtual IType const * get_type () const =0
 Get the type of this DAG IR node. More...
 
virtual size_t get_id () const =0
 Get the unique ID of this DAG IR node. More...
 

Detailed Description

A node inside the DAG Intermediate Representation.

Member Enumeration Documentation

 Kind

The possible kinds of DAG IR nodes.

Enumerator
EK_CONSTANT 

A constant.

EK_TEMPORARY 

A temporary.

EK_CALL 

A call.

EK_PARAMETER 

A parameter.

Member Function Documentation

 get_id()

virtual size_t mi::mdl::DAG_node::get_id ( ) const
pure virtual

Get the unique ID of this DAG IR node.

Note
Only nodes created by the same factory have unique IDs, do not compare nodes from different factories.

 get_kind()

virtual Kind mi::mdl::DAG_node::get_kind ( ) const
pure virtual

Get the kind of this DAG IR node.

 get_type()

virtual IType const * mi::mdl::DAG_node::get_type ( ) const
pure virtual

Get the type of this DAG IR node.