HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VOP_Node.h File Reference
#include <set>
#include <map>
#include <iosfwd>
#include "VOP_API.h"
#include "VOP_DataMicroNode.h"
#include "VOP_Error.h"
#include "VOP_Language.h"
#include "VOP_TypeInfo.h"
#include "VOP_OperatorInfo.h"
#include "VOP_OutputInfoManager.h"
#include <OP/OP_Director.h>
#include <OP/OP_Network.h>
#include <UT/UT_UniquePtr.h>
#include <UT/UT_BitArray.h>
#include <UT/UT_ValArray.h>
#include <UT/UT_SymbolTable.h>
#include <UT/UT_Array.h>
#include <UT/UT_Map.h>
#include <SYS/SYS_Types.h>
#include <utility>
#include <vector>
+ Include dependency graph for VOP_Node.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  VOP_AutoNodeInfo
 
class  VOP_VarInfo
 
class  VOP_GlobalVarData
 
class  VOP_OutputNameEditorSource
 
class  VOP_FunctionArgInfo
 
class  vop_Connector
 
class  VOP_Node
 

Macros

#define VOP_OPT_LOW_FLAG   'L'
 
#define VOP_OPT_MEDIUM_FLAG   'M'
 
#define VOP_OPT_HIGH_FLAG   'H'
 
#define VOP_DEBUG_FLAG   'D'
 
#define VOP_MATERIAL_FLAG   'E'
 
#define VOP_PARMORDER_NAME   "parmorder"
 
#define VOP_BIND_NAME   "bind"
 
#define VOP_GLOBAL_NODE_NAME   "global"
 
#define VOP_ILLUM_NODE_NAME   "illuminance"
 
#define VOP_PARM_NODE_NAME   "parameter"
 
#define VOP_CONST_NODE_NAME   "constant"
 
#define VOP_PARMRAMP_NODE_NAME   "rampparm"
 
#define VOP_INLINE_CODE_NODE_NAME   "inline"
 
#define VOP_SNIPPET_NODE_NAME   "snippet"
 
#define VOP_MATERIAL_BUILDER_NODE_NAME   "materialbuilder"
 
#define VOP_RSL_PREFIX   "rsl_"
 
#define VOP_VARIABLE_INOUT_MAX   2048
 
#define VOP_SUBNET_VARIABLE_PREFIX   "_"
 Prefix given to the subnet input variables. More...
 
#define VOP_IMPLEMENT_CASTS(NAME)
 

Typedefs

using VOP_VariableTagsHandle = UT_SharedPtr< const VOP_VariableTags >
 
typedef UT_ValArray< VOP_Node * > VOP_NodeList
 
typedef UT_ValArray
< VOP_GlobalVarData * > 
VOP_GlobalVarList
 
typedef UT_ValArray
< VOP_ParmGenerator * > 
VOP_ParmGeneratorList
 
typedef UT_SymbolMap
< VOP_GlobalVarData * > 
VOP_GlobalVarMap
 
typedef UT_SymbolMap
< VOP_ParmGenerator * > 
VOP_ParmGeneratorMap
 
typedef UT_SymbolMap
< VOP_ParmGeneratorList * > 
VOP_LocalChannelMap
 
typedef UT_Array
< VOP_AutoNodeInfo
VOP_AutoNodeInfoList
 
typedef UT_Array< vop_Connectorvop_ConnectorArray
 

Enumerations

enum  VOP_UIChangeType { VOP_UICHANGE_DEFINER = OP_UICHANGE_OPTYPE_VOP }
 
enum  VOP_ShaderNameStyle { VOP_ShaderNameStyle::PLAIN, VOP_ShaderNameStyle::ALLOW_HDA_SECTION, VOP_ShaderNameStyle::RELAXED_AUTO }
 The allowed name formats when asking for shader name. More...
 

Functions

SYS_VISIBILITY_EXPORT void newVopOperator (OP_OperatorTable *table)
 

Macro Definition Documentation

#define VOP_BIND_NAME   "bind"

Definition at line 49 of file VOP_Node.h.

#define VOP_CONST_NODE_NAME   "constant"

Definition at line 53 of file VOP_Node.h.

#define VOP_DEBUG_FLAG   'D'

Definition at line 43 of file VOP_Node.h.

#define VOP_GLOBAL_NODE_NAME   "global"

Definition at line 50 of file VOP_Node.h.

#define VOP_ILLUM_NODE_NAME   "illuminance"

Definition at line 51 of file VOP_Node.h.

#define VOP_IMPLEMENT_CASTS (   NAME)
Value:
static const VOP_##NAME *castTo##NAME(const OP_Node *node) { \
const VOP_Node *vop = CAST_VOPNODE(node); \
return vop ? vop->castTo##NAME() : nullptr; } \
static VOP_##NAME *castTo##NAME(OP_Node *node) { \
VOP_Node *vop = CAST_VOPNODE(node); \
return vop ? vop->castTo##NAME() : nullptr; } \
virtual const VOP_##NAME *castTo##NAME() const { return nullptr; } \
virtual VOP_##NAME *castTo##NAME() { return nullptr; }

Virtual methods to avoid dynamic_casts

Definition at line 360 of file VOP_Node.h.

#define VOP_INLINE_CODE_NODE_NAME   "inline"

Definition at line 55 of file VOP_Node.h.

#define VOP_MATERIAL_BUILDER_NODE_NAME   "materialbuilder"

Definition at line 57 of file VOP_Node.h.

#define VOP_MATERIAL_FLAG   'E'

Definition at line 44 of file VOP_Node.h.

#define VOP_OPT_HIGH_FLAG   'H'

Definition at line 42 of file VOP_Node.h.

#define VOP_OPT_LOW_FLAG   'L'

Definition at line 40 of file VOP_Node.h.

#define VOP_OPT_MEDIUM_FLAG   'M'

Definition at line 41 of file VOP_Node.h.

#define VOP_PARM_NODE_NAME   "parameter"

Definition at line 52 of file VOP_Node.h.

#define VOP_PARMORDER_NAME   "parmorder"

Definition at line 48 of file VOP_Node.h.

#define VOP_PARMRAMP_NODE_NAME   "rampparm"

Definition at line 54 of file VOP_Node.h.

#define VOP_RSL_PREFIX   "rsl_"

Definition at line 58 of file VOP_Node.h.

#define VOP_SNIPPET_NODE_NAME   "snippet"

Definition at line 56 of file VOP_Node.h.

#define VOP_SUBNET_VARIABLE_PREFIX   "_"

Prefix given to the subnet input variables.

Definition at line 62 of file VOP_Node.h.

#define VOP_VARIABLE_INOUT_MAX   2048
Examples:
VOP/VOP_CustomContext.C, and VOP/VOP_Switch.C.

Definition at line 59 of file VOP_Node.h.

Typedef Documentation

Definition at line 102 of file VOP_Node.h.

Definition at line 253 of file VOP_Node.h.

Definition at line 90 of file VOP_Node.h.

Definition at line 93 of file VOP_Node.h.

Definition at line 95 of file VOP_Node.h.

Definition at line 87 of file VOP_Node.h.

Definition at line 91 of file VOP_Node.h.

Definition at line 94 of file VOP_Node.h.

using VOP_VariableTagsHandle = UT_SharedPtr<const VOP_VariableTags>

Definition at line 83 of file VOP_Node.h.

Enumeration Type Documentation

enum VOP_ShaderNameStyle
strong

The allowed name formats when asking for shader name.

Enumerator
PLAIN 
ALLOW_HDA_SECTION 
RELAXED_AUTO 

Definition at line 257 of file VOP_Node.h.

Enumerator
VOP_UICHANGE_DEFINER 

Definition at line 64 of file VOP_Node.h.

Function Documentation

SYS_VISIBILITY_EXPORT void newVopOperator ( OP_OperatorTable table)
Examples:
VOP/VOP_Switch.C.

Definition at line 38 of file VOP_Switch.C.