HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_OpNodeTypeCategory.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_OpNodeTypeCategory_h__
10 #define __HOM_OpNodeTypeCategory_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_NodeTypeCategory.h"
14 
15 SWIGOUT(%rename(OpNodeTypeCategory) HOM_OpNodeTypeCategory;)
16 
18 {
19 public:
21  { HOM_CONSTRUCT_OBJECT(this) }
23  : HOM_NodeTypeCategory(category)
24  { HOM_CONSTRUCT_OBJECT(this) }
26  { HOM_DESTRUCT_OBJECT(this) }
27 
28  int __hash__() override = 0;
29  std::string __repr__() override = 0;
30 
31  // Because the only instances of NodeTypeCategory objects are the ones
32  // created by the HOM_Module::*NodeTypeCategory() method and the
33  // HOMF_ApexNodeTypeCategory::getInstance method, the comparison
34  // operators can just compare pointers.
36  { return this == category.myPointer; }
38  { return !operator==(category); }
39 
40  SWIGOUT(%newobject createDigitalAsset;)
41  virtual HOM_NodeType *createDigitalAsset(
42  const char *name = nullptr,
43  const char *hda_file_name = nullptr,
44  const char *description = nullptr) = 0;
45 
46  virtual std::map<std::string, HOM_ElemPtr<HOM_SopVerb> > nodeVerbs() = 0;
47  SWIGOUT(%newobject nodeVerb;)
48  virtual HOM_SopVerb *nodeVerb(const char *verb_name) = 0;
49 
50  virtual std::vector<HOM_ElemPtr<HOM_ViewerState> > viewerStates(
51  HOM_EnumValue &viewer_type) = 0;
52 
53  virtual void loadDSO(const char *dso_path) = 0;
54 
55  virtual void *_asVoidPointer() = 0;
56 };
57 
58 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
#define HOM_API
Definition: HOM_API.h:13
bool operator!=(HOM_PtrOrNull< HOM_NodeTypeCategory > category) override
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1290
void * _asVoidPointer()
Definition: HOM_Vector3.h:148
GLuint const GLchar * name
Definition: glcorearb.h:786
HOM_OpNodeTypeCategory(const HOM_OpNodeTypeCategory &category)
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
bool operator==(HOM_PtrOrNull< HOM_NodeTypeCategory > category) override
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542
int __hash__()