HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HOM_NodeTypeCategory.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_NodeTypeCategory_h__
10 #define __HOM_NodeTypeCategory_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Errors.h"
15 #include "HOM_EnumValue.h"
16 #include "HOM_Color.h"
17 #include "HOM_ElemPtr.h"
18 #include "HOM_PtrOrNull.h"
19 #include <map>
20 
21 class HOM_NodeType;
22 class HOM_SopVerb;
23 class HOM_ViewerState;
24 
25 SWIGOUT(%rename(NodeTypeCategory) HOM_NodeTypeCategory;)
26 
28 {
29 public:
31  {}
32 
33  // Because the only instances of NodeTypeCategory objects are the ones
34  // created by the HOM_Module::*NodeTypeCategory() methods, the comparison
35  // operators can just compare pointers.
37  { return this == category.myPointer; }
38 
40  { return !operator==(category); }
41 
42 
43  virtual int __hash__() = 0;
44  virtual std::string __repr__() = 0;
45 
46  virtual std::string name() = 0;
47 
48  virtual std::string typeName() = 0;
49 
50  virtual std::string label() = 0;
51 
52  virtual std::map<std::string, HOM_ElemPtr<HOM_NodeType> > nodeTypes() = 0;
53  SWIGOUT(%newobject nodeType;)
54  virtual HOM_NodeType *nodeType(const char *type_name) = 0;
55 
56  virtual std::map<std::string, HOM_ElemPtr<HOM_SopVerb> > nodeVerbs() = 0;
57  SWIGOUT(%newobject nodeVerb;)
58  virtual HOM_SopVerb *nodeVerb(const char *verb_name) = 0;
59 
60  virtual std::vector<HOM_ElemPtr<HOM_ViewerState> > viewerStates(
61  HOM_EnumValue &viewer_type) = 0;
62 
63  virtual void loadDSO(const char *dso_path) = 0;
64 
65  virtual bool hasSubNetworkType() = 0;
66 
67  virtual std::string defaultShape() = 0;
68  virtual void clearDefaultShapes() = 0;
69  virtual void setDefaultShape(const char *shape) = 0;
70  virtual HOM_Color defaultColor() = 0;
71  virtual void clearDefaultColors() = 0;
72  virtual void setDefaultColor(HOM_Color *color) = 0;
73  virtual std::string defaultWireStyle() = 0;
74  virtual void setDefaultWireStyle(const char *wirestyle) = 0;
75 
76  virtual void *_asVoidPointer() = 0;
77 };
78 
79 #endif
virtual HOM_NodeType * nodeType()=0
GLuint GLsizei const GLchar * label
Definition: glcorearb.h:2544
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
GLuint color
Definition: glcorearb.h:1260
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
#define HOM_API
Definition: HOM_API.h:13
bool operator!=(HOM_PtrOrNull< HOM_NodeTypeCategory > category)
GLuint const GLchar * name
Definition: glcorearb.h:785
bool operator==(HOM_PtrOrNull< HOM_NodeTypeCategory > category)
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:596
virtual std::string __repr__()=0