HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GT_MaterialNode Class Reference

An shallow abstraction of a shader node network. More...

#include <GT_MaterialNode.h>

+ Inheritance diagram for GT_MaterialNode:

Public Member Functions

 GT_MaterialNode ()
 
 GT_MaterialNode (const UT_StringRef &nodetype)
 
 GT_MaterialNode (const GT_MaterialNode &src)
 
GT_MaterialNodeoperator= (const GT_MaterialNode &src)
 
void setName (const UT_StringRef &name)
 
void setTokenName (const UT_StringRef &name)
 
void addInput (const UT_StringRef &input_name, const UT_StringRef &output_name, const GT_MaterialNodePtr &node)
 
void addOutputVar (const UT_StringRef &output, const UT_StringRef &varname)
 
void clearOutputVars ()
 
void copyParms (const GT_MaterialNodePtr &mat_node, UT_Set< int > &visited)
 
const UT_StringRefname () const
 
const UT_StringReftoken () const
 
const UT_StringHoldertype () const
 
UT_Optionsparms ()
 
const UT_Optionsparms () const
 
const UT_StringMap< std::pair
< GT_MaterialNodePtr,
UT_StringHolder > > & 
inputs () const
 
GT_MaterialNodePtr getInput (const UT_StringRef &name) const
 
const UT_StringRefgetInputOutputName (const UT_StringRef &name) const
 
int getInputOutputType (const UT_StringRef &name) const
 
const UT_StringRefgetOutputVar (const UT_StringRef &output) const
 
bool isTimeDependent (bool inputs_too=true) const
 
void setTimeDependent (bool time_dep)
 
bool networkMatch (const GT_MaterialNode *node, UT_Set< int > &visited) const
 
int64 uniqueId ()
 
- Public Member Functions inherited from UT_IntrusiveRefCounter< GT_MaterialNode >
SYS_FORCE_INLINE UT_IntrusiveRefCounter () noexcept
 Default constructor: Sets counter to 0. More...
 
SYS_FORCE_INLINE UT_IntrusiveRefCounter (const UT_IntrusiveRefCounter &) noexcept
 Copy constructor: Sets counter to 0. More...
 
UT_IntrusiveRefCounteroperator= (const UT_IntrusiveRefCounter &) noexcept
 Assignment operator: Does not modify counter. More...
 
SYS_FORCE_INLINE uint32 use_count () const noexcept
 Return current counter. More...
 
SYS_FORCE_INLINE bool conditionalAddRef () noexcept
 

Static Public Member Functions

static void addNodeDefaults (const UT_StringRef &nodetype_name, const UT_Options &parm_defaults, const UT_StringMap< int > &outputs, const UT_StringArray &textures)
 
static bool nodeTypeExists (const UT_StringRef &nodetype_name)
 
static const UT_StringMap< int > & getNodeOutputs (const UT_StringRef &nodetype)
 
static const UT_StringArraygetNodeTextures (const UT_StringRef &nodetype)
 

Additional Inherited Members

- Protected Member Functions inherited from UT_IntrusiveRefCounter< GT_MaterialNode >
SYS_FORCE_INLINE ~UT_IntrusiveRefCounter ()
 Destructor: Only derived classes can destruct this. More...
 

Detailed Description

An shallow abstraction of a shader node network.

Definition at line 24 of file GT_MaterialNode.h.

Constructor & Destructor Documentation

GT_MaterialNode::GT_MaterialNode ( )
inline

Definition at line 27 of file GT_MaterialNode.h.

GT_MaterialNode::GT_MaterialNode ( const UT_StringRef nodetype)
GT_MaterialNode::GT_MaterialNode ( const GT_MaterialNode src)
inline

Definition at line 29 of file GT_MaterialNode.h.

Member Function Documentation

void GT_MaterialNode::addInput ( const UT_StringRef input_name,
const UT_StringRef output_name,
const GT_MaterialNodePtr node 
)
static void GT_MaterialNode::addNodeDefaults ( const UT_StringRef nodetype_name,
const UT_Options parm_defaults,
const UT_StringMap< int > &  outputs,
const UT_StringArray textures 
)
static
void GT_MaterialNode::addOutputVar ( const UT_StringRef output,
const UT_StringRef varname 
)
void GT_MaterialNode::clearOutputVars ( )
void GT_MaterialNode::copyParms ( const GT_MaterialNodePtr mat_node,
UT_Set< int > &  visited 
)
GT_MaterialNodePtr GT_MaterialNode::getInput ( const UT_StringRef name) const
const UT_StringRef& GT_MaterialNode::getInputOutputName ( const UT_StringRef name) const
int GT_MaterialNode::getInputOutputType ( const UT_StringRef name) const
static const UT_StringMap<int>& GT_MaterialNode::getNodeOutputs ( const UT_StringRef nodetype)
static
static const UT_StringArray& GT_MaterialNode::getNodeTextures ( const UT_StringRef nodetype)
static
const UT_StringRef& GT_MaterialNode::getOutputVar ( const UT_StringRef output) const
const UT_StringMap<std::pair<GT_MaterialNodePtr, UT_StringHolder> >& GT_MaterialNode::inputs ( ) const
inline

Definition at line 54 of file GT_MaterialNode.h.

bool GT_MaterialNode::isTimeDependent ( bool  inputs_too = true) const
const UT_StringRef& GT_MaterialNode::name ( ) const
inline

Definition at line 47 of file GT_MaterialNode.h.

bool GT_MaterialNode::networkMatch ( const GT_MaterialNode node,
UT_Set< int > &  visited 
) const
static bool GT_MaterialNode::nodeTypeExists ( const UT_StringRef nodetype_name)
static
GT_MaterialNode& GT_MaterialNode::operator= ( const GT_MaterialNode src)
UT_Options& GT_MaterialNode::parms ( )
inline

Definition at line 50 of file GT_MaterialNode.h.

const UT_Options& GT_MaterialNode::parms ( ) const
inline

Definition at line 51 of file GT_MaterialNode.h.

void GT_MaterialNode::setName ( const UT_StringRef name)
inline

Definition at line 34 of file GT_MaterialNode.h.

void GT_MaterialNode::setTimeDependent ( bool  time_dep)
inline

Definition at line 62 of file GT_MaterialNode.h.

void GT_MaterialNode::setTokenName ( const UT_StringRef name)
inline

Definition at line 36 of file GT_MaterialNode.h.

const UT_StringRef& GT_MaterialNode::token ( ) const
inline

Definition at line 48 of file GT_MaterialNode.h.

const UT_StringHolder& GT_MaterialNode::type ( ) const
inline

Definition at line 49 of file GT_MaterialNode.h.

int64 GT_MaterialNode::uniqueId ( )
inline

Definition at line 78 of file GT_MaterialNode.h.


The documentation for this class was generated from the following file: