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 "HOM_PtrOrNull.h"
00026 #include <string>
00027
00028 class HOM_HDADefinition;
00029 class HOM_HDAModule;
00030 class HOM_NodeTypeCategory;
00031 class HOM_ParmTemplateGroup;
00032
00033 SWIGOUT(%rename(NodeType) HOM_NodeType;)
00034
00035 class HOM_API HOM_NodeType
00036 {
00037 public:
00038 HOM_NodeType()
00039 { HOM_CONSTRUCT_OBJECT(this) }
00040 HOM_NodeType(const HOM_NodeType &)
00041 { HOM_CONSTRUCT_OBJECT(this) }
00042 virtual ~HOM_NodeType()
00043 { HOM_DESTRUCT_OBJECT(this) }
00044
00045 virtual bool operator==(HOM_PtrOrNull<HOM_NodeType> node_type) = 0;
00046 virtual bool operator!=(HOM_PtrOrNull<HOM_NodeType> node_type) = 0;
00047
00048 virtual int __hash__() throw(HOM_Error) = 0;
00049
00050 virtual std::string __repr__() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00051
00052 virtual HOM_NodeTypeCategory &category()
00053 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00054
00055 virtual std::string name()
00056 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00057 virtual std::string description()
00058 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00059 virtual std::string nameWithCategory()
00060 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00061
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 SWIGOUT(%newobject sourceNetwork;)
00068 virtual HOM_Node *sourceNetwork()
00069 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00070
00071 SWIGOUT(%newobject definition;)
00072 virtual HOM_HDADefinition *definition()
00073 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00074
00075 virtual std::vector<HOM_ElemPtr<HOM_HDADefinition> >
00076 allInstalledDefinitions() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00077
00078 virtual std::string icon()
00079 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00080 virtual int minNumInputs()
00081 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00082 virtual int maxNumInputs()
00083 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00084 virtual int maxNumOutputs()
00085 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00086
00087
00088 virtual bool isGenerator()
00089 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00090 bool generatorFlag()
00091 throw(HOM_ObjectWasDeleted, HOM_Error)
00092 { return isGenerator(); }
00093
00094
00095 virtual bool isManager()
00096 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00097 bool managerFlag()
00098 throw(HOM_ObjectWasDeleted, HOM_Error)
00099 { return isManager(); }
00100
00101
00102 virtual bool hasUnorderedInputs()
00103 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00104 bool unorderedInputsFlag()
00105 throw(HOM_ObjectWasDeleted, HOM_Error)
00106 { return hasUnorderedInputs(); }
00107
00108 virtual std::vector<std::string> aliases()
00109 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00110 virtual void addAlias(const char *alias)
00111 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00112 virtual void removeAlias(const char *alias)
00113 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00114
00115 virtual bool hidden()
00116 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00117 virtual void setHidden(bool hidden)
00118 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00119
00120 virtual std::vector<HOM_ElemPtr<HOM_Node> > instances()
00121 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00122
00123 virtual std::vector<HOM_ElemPtr<HOM_ParmTemplate> > parmTemplates()
00124 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00125
00126 SWIGOUT(%newobject parmTemplateGroup;)
00127 virtual HOM_ParmTemplateGroup *parmTemplateGroup()
00128 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00129
00130 virtual void uninstallFromPath(const char *path)
00131 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00132
00133 SWIGOUT(%newobject hdaModule;)
00134 virtual HOM_HDAModule *hdaModule()
00135 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00136
00137 virtual bool hasPermanentUserDefaults()
00138 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00139
00140 virtual void *_asVoidPointer()
00141 throw(HOM_ObjectWasDeleted, HOM_OperationFailed, HOM_Error) = 0;
00142
00143
00144
00145
00146 SWIGOUT(%ignore opTypeIdAsInt;)
00147 virtual int opTypeIdAsInt() = 0;
00148 };
00149
00150 #endif