HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_ShopNode.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_ShopNode_h__
10 #define __HOM_ShopNode_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Module.h"
14 #include "HOM_OpNode.h"
15 
16 SWIGOUT(%rename(ShopNode) HOM_ShopNode;)
17 
18 class HOM_API HOM_ShopNode : virtual public HOM_OpNode
19 {
20 public:
22  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
23  { HOM_CONSTRUCT_OBJECT(this) }
24  HOM_ShopNode(const HOM_ShopNode &shop_node)
25  : HOM_OpNode(shop_node),
26  HOM_NetworkMovableItem(shop_node)
27  { HOM_CONSTRUCT_OBJECT(this) }
28  ~HOM_ShopNode() override
29  { HOM_DESTRUCT_OBJECT(this) }
30 
31  // Let swig know we're overriding __repr__ for this class so it doesn't
32  // provide its own __repr__.
33  SWIGOUT(virtual std::string __repr__() = 0;)
34 
35  // Get the shader string for the render_type. Also, for the multi_type by
36  // default interpret it as a surface (invalid shader type would be better).
37  virtual std::string shaderString(const char *render_type = NULL,
38  HOM_EnumValue &interpret_type = HOM_shaderType::Surface) = 0;
39 
40  // Returns the code for the given shader.
41  virtual std::string shaderCode(
42  HOM_EnumValue &shader_type = HOM_shaderType::Surface)= 0;
43 
44  SWIGOUT(%kwargs shaderName;)
45  virtual std::string shaderName(
46  bool as_otl_path=true, const char *shader_type_name=NULL) = 0;
47 
48  virtual std::vector<std::string> supportedRenderers() = 0;
49 
50  SWIGOUT(%newobject definingVopNetNode;)
51  virtual HOM_Node *definingVopNetNode() = 0;
52 
53  virtual HOM_EnumValue& shaderType() = 0;
54 
55  virtual std::vector<HOM_ElemPtr<HOM_Node> > coshaderNodes(
56  const char *parm_name) = 0;
57 };
58 
59 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1303
Definition: Node.h:52
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
HOM_ShopNode(const HOM_ShopNode &shop_node)
Definition: HOM_ShopNode.h:24
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:349
~HOM_ShopNode() override
Definition: HOM_ShopNode.h:28
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1302
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)