MDL SDK API nvidia_logo_transpbg.gif Up
mdl_generated_dag.h File Reference

Interfaces for the MDL DAG Intermediate Representation. More...

Go to the source code of this file.

Classes

class  mi::mdl::DAG_hash
 A hash value. More...
 
class  mi::mdl::DAG_node
 A node inside the DAG Intermediate Representation. More...
 
class  mi::mdl::DAG_constant
 A DAG IR constant. More...
 
class  mi::mdl::DAG_temporary
 A DAG IR temporary reference. More...
 
class  mi::mdl::DAG_call
 A DAG IR call. More...
 
struct  mi::mdl::DAG_call::Call_argument
 A simple value helper class, a pair of an argument expression and a parameter name. More...
 
class  mi::mdl::DAG_parameter
 A DAG IR parameter reference. More...
 
class  mi::mdl::IResource_tagger
 An interface to interrogate tag values for resource values. More...
 
class  mi::mdl::IDag_builder
 A Builder for DAG graphs. More...
 
class  mi::mdl::ICall_evaluator
 A Helper interface to do renderer specific constant folding. More...
 
class  mi::mdl::IGenerated_code_dag
 A container of DAG representations of a module containing materials, functions, constants, types and module annotations. More...
 
class  mi::mdl::IGenerated_code_dag::DAG_node_factory
 The node factory for DAG IR nodes. More...
 
class  mi::mdl::IGenerated_code_dag::IMaterial_instance
 An instantiated material. More...
 

Namespaces

namespace  mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 

Functions

template<typename T>
bool mi::mdl::is (DAG_node const *node)
 Check if a DAG node is of a certain type. More...
 
template<typename T>
T * mi::mdl::as (DAG_node *type)
 Cast to subtype or return NULL if types do not match. More...
 
template<typename T>
T const * mi::mdl::as (DAG_node const *type)
 Cast to subtype or return NULL if types do not match. More...
 

Detailed Description

Interfaces for the MDL DAG Intermediate Representation.

Function Documentation

 as() [1/2]

template<typename T>
T * mi::mdl::as ( DAG_node type)

Cast to subtype or return NULL if types do not match.

 as() [2/2]

template<typename T>
T const * mi::mdl::as ( DAG_node const *  type)

Cast to subtype or return NULL if types do not match.

 is()

template<typename T>
bool mi::mdl::is ( DAG_node const *  node)

Check if a DAG node is of a certain type.