9 #ifndef __HOM_VopNode_h__
10 #define __HOM_VopNode_h__
19 %include <UT/UT_Experimental.h>
45 bool reference_input_defaults) = 0;
46 virtual std::map<std::string, HOM_ElemPtr<HOM_Node> >
47 insertParmGeneratorsForAllInputs(
49 bool reference_input_defaults) = 0;
56 virtual bool deleteIndependentInputNodes(
int input_index) = 0;
58 virtual bool dependsOnlyOn(
HOM_VopNode * other_node,
int max_connections,
61 virtual void setIsInputVisible(
const char* input_name,
bool is_visible) = 0;
62 virtual bool isInputVisible(
const char* input_name) = 0;
64 virtual std::vector<std::string> inputDataTypes() = 0;
65 virtual std::vector<std::string> outputDataTypes() = 0;
66 virtual std::vector<std::string> inputParmTypes() = 0;
67 virtual bool isInputCompatible(
int idx,
HOM_VopNode &other,
int other_idx,
68 bool allow_conversions =
false) = 0;
75 virtual bool isBypassed() = 0;
76 virtual void bypass(
bool on) = 0;
77 virtual bool isDebugFlagSet() = 0;
78 virtual void setDebugFlag(
bool on) = 0;
79 virtual bool isDetailLowFlagSet() = 0;
80 virtual void setDetailLowFlag(
bool on) = 0;
81 virtual bool isDetailMediumFlagSet() = 0;
82 virtual void setDetailMediumFlag(
bool on) = 0;
83 virtual bool isDetailHighFlagSet() = 0;
84 virtual void setDetailHighFlag(
bool on) = 0;
85 virtual bool isCompressFlagSet() = 0;
86 virtual void setCompressFlag(
bool on) = 0;
87 virtual bool isMaterialFlagSet() = 0;
88 virtual void setMaterialFlag(
bool on) = 0;
91 virtual void setInputGroupExpanded(
const char *
group,
bool expanded) = 0;
92 virtual bool isInputGroupExpanded(
const char *
group) = 0;
93 virtual std::vector<int> inputsInGroup(
const char *
group) = 0;
94 virtual std::vector<std::string> inputGroupNames() = 0;
95 virtual std::vector<int> inputIndexOrder() = 0;
102 virtual std::string shaderString(
const char *render_type=NULL,
104 bool as_encapsulated =
false) = 0;
114 bool as_otl_path=
true,
const char *shader_type_name=
nullptr) = 0;
116 const char *signature =
nullptr) = 0;
128 virtual std::vector<HOM_ElemPtr<HOM_Node> > coshaderNodes(
129 const char *parm_name) = 0;
130 virtual std::vector<std::string> coshaderNodesOutputNames(
131 const char *parm_name) = 0;
135 virtual std::pair<HOM_ElemPtr<HOM_Node>,
std::string>
136 subnetTerminalChild(
const char *subnet_output_name) = 0;
140 virtual std::vector<std::string> extraBindings() = 0;
144 virtual std::vector<std::string> usdShaderParms() = 0;
149 virtual std::vector<std::string> usdPreviewShaderParms() = 0;
#define HOM_DESTRUCT_OBJECT(pointer)
OIIO_API bool rename(string_view from, string_view to, std::string &err)
string __repr__(VtArray< T > const &self)
virtual HOM_EnumValue * shaderType()=0
HOM_VopNode(const HOM_VopNode &vop_node)
#define HOM_CONSTRUCT_OBJECT(pointer)
GLsizei const GLchar *const * string