00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_NodeType_h__
00017 #define __HOM_NodeType_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_EnumValue.h"
00023 #include "HOM_Module.h"
00024 #include "HOM_ParmTemplate.h"
00025 #include <string>
00026
00027 class HOM_HDADefinition;
00028 class HOM_HDAModule;
00029 class HOM_NodeTypeCategory;
00030
00031 SWIGOUT(%rename(NodeType) HOM_NodeType;)
00032
00033 class HOM_API HOM_NodeType
00034 {
00035 public:
00036 HOM_NodeType()
00037 { HOM_CONSTRUCT_OBJECT(this) }
00038 HOM_NodeType(const HOM_NodeType &)
00039 { HOM_CONSTRUCT_OBJECT(this) }
00040 virtual ~HOM_NodeType()
00041 { HOM_DESTRUCT_OBJECT(this) }
00042
00043 virtual bool operator==(HOM_NodeType &node_type) = 0;
00044 virtual bool operator!=(HOM_NodeType &node_type) = 0;
00045
00046 virtual int __hash__() throw(HOM_Error) = 0;
00047
00048 virtual std::string __repr__() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00049
00050 virtual HOM_NodeTypeCategory &category()
00051 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00052
00053 virtual std::string name()
00054 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00055 virtual std::string description()
00056 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00057 virtual std::string nameWithCategory()
00058 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00059
00060 SWIGPYTHONOUT(%feature("autodoc",
00061 "source(self) -> hou.nodeTypeSource enum value") source;)
00062 virtual HOM_EnumValue &source()
00063 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00064 virtual std::string sourcePath()
00065 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00066
00067 SWIGPYTHONOUT(%feature("autodoc",
00068 "sourceNetwork(self) -> Node or None") sourceNetwork;)
00069 SWIGOUT(%newobject sourceNetwork;)
00070 virtual HOM_Node *sourceNetwork()
00071 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00072
00073 SWIGOUT(%newobject definition;)
00074 virtual HOM_HDADefinition *definition()
00075 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00076
00077 SWIGPYTHONOUT(%feature("autodoc",
00078 "allInstalledDefinitions(self) -> tuple of HDADefinitions")
00079 allInstalledDefinitions;)
00080 virtual std::vector<HOM_ElemPtr<HOM_HDADefinition> >
00081 allInstalledDefinitions() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00082
00083 virtual std::string icon()
00084 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00085 virtual int minNumInputs()
00086 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00087 virtual int maxNumInputs()
00088 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00089 virtual int maxNumOutputs()
00090 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00091
00092
00093 virtual bool isGenerator()
00094 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00095 bool generatorFlag()
00096 throw(HOM_ObjectWasDeleted, HOM_Error)
00097 { return isGenerator(); }
00098
00099
00100 virtual bool isManager()
00101 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00102 bool managerFlag()
00103 throw(HOM_ObjectWasDeleted, HOM_Error)
00104 { return isManager(); }
00105
00106
00107 virtual bool hasUnorderedInputs()
00108 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00109 bool unorderedInputsFlag()
00110 throw(HOM_ObjectWasDeleted, HOM_Error)
00111 { return hasUnorderedInputs(); }
00112
00113 SWIGPYTHONOUT(%feature("autodoc",
00114 "aliases(self) -> tuple of strings") aliases;)
00115 virtual std::vector<std::string> aliases()
00116 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00117 virtual void addAlias(const char *alias)
00118 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00119 virtual void removeAlias(const char *alias)
00120 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00121
00122 virtual bool hidden()
00123 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00124 virtual void setHidden(bool hidden)
00125 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00126
00127 SWIGPYTHONOUT(%feature("autodoc",
00128 "instances(self) -> tuple of Nodes") instances;)
00129 virtual std::vector<HOM_ElemPtr<HOM_Node> > instances()
00130 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00131
00132 SWIGPYTHONOUT(%feature("autodoc",
00133 "parmTemplates(self) -> tuple of ParmTemplates") parmTemplates;)
00134 virtual std::vector<HOM_ElemPtr<HOM_ParmTemplate> > parmTemplates()
00135 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00136
00137 virtual void uninstallFromPath(const char *path)
00138 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00139
00140 SWIGOUT(%newobject hdaModule;)
00141 virtual HOM_HDAModule *hdaModule()
00142 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00143
00144
00145
00146
00147 SWIGOUT(%ignore opTypeIdAsInt;)
00148 virtual int opTypeIdAsInt() = 0;
00149 };
00150
00151 #endif