HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_CopNode.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 #pragma once
10 
11 #include "HOM_API.h"
12 #include "HOM_BinaryString.h"
13 #include "HOM_CopCableStructure.h"
14 #include "HOM_Defines.h"
15 #include "HOM_Errors.h"
16 #include "HOM_OpNode.h"
17 #include "HOM_ImageLayer.h"
18 #include "HOM_NanoVDB.h"
19 #include "HOM_DetachedAttrib.h"
20 
21 class HOM_CopVerb;
22 
23 SWIGOUT(%rename(CopNode) HOM_CopNode;)
24 
25 class HOM_API HOM_CopNode : virtual public HOM_OpNode
26 {
27 public:
29  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
30  { HOM_CONSTRUCT_OBJECT(this) }
31  HOM_CopNode(const HOM_CopNode &cop_node)
32  : HOM_OpNode(cop_node),
33  HOM_NetworkMovableItem(cop_node)
34  { HOM_CONSTRUCT_OBJECT(this) }
35  ~HOM_CopNode() override
36  { HOM_DESTRUCT_OBJECT(this) }
37 
38  SWIGOUT(%newobject cable;)
39  SWIGOUT(%kwargs cable;)
40  virtual HOM_CopCable *cable(int output_index=0) = 0;
41  SWIGOUT(%newobject cableAtFrame;)
42  SWIGOUT(%kwargs cableAtFrame;)
43  virtual HOM_CopCable *cableAtFrame(double frame, int output_index=0) = 0;
44 
45  SWIGOUT(%newobject geometry;)
46  SWIGOUT(%kwargs geometry;)
47  virtual HOM_Geometry *geometry(int output_index=0) = 0;
48  SWIGOUT(%newobject geometryAtFrame;)
49  SWIGOUT(%kwargs geometryAtFrame;)
50  virtual HOM_Geometry *geometryAtFrame(double frame, int output_index=0) = 0;
51 
52  SWIGOUT(%newobject layer;)
53  SWIGOUT(%kwargs layer;)
54  virtual HOM_ImageLayer *layer(int output_index=0) = 0;
55  SWIGOUT(%newobject layerAtFrame;)
56  SWIGOUT(%kwargs layerAtFrame;)
57  virtual HOM_ImageLayer *layerAtFrame(double frame, int output_index=0) = 0;
58 
59  SWIGOUT(%newobject vdb;)
60  SWIGOUT(%kwargs vdb;)
61  virtual HOM_NanoVDB *vdb(int output_index=0) = 0;
62  SWIGOUT(%newobject vdbAtFrame;)
63  SWIGOUT(%kwargs vdbAtFrame;)
64  virtual HOM_NanoVDB *vdbAtFrame(double frame, int output_index=0) = 0;
65 
66  SWIGOUT(%newobject attrib;)
67  SWIGOUT(%kwargs attrib;)
68  virtual HOM_DetachedAttrib *attrib(int output_index=0) = 0;
69  SWIGOUT(%newobject attribAtFrame;)
70  SWIGOUT(%kwargs attribAtFrame;)
71  virtual HOM_DetachedAttrib *attribAtFrame(double frame, int output_index=0) = 0;
72 
73  SWIGOUT(%newobject inputCableStructure;)
74  virtual HOM_CopCableStructure *inputCableStructure(int input_index) = 0;
75  SWIGOUT(%newobject outputCableStructure;)
76  virtual HOM_CopCableStructure *outputCableStructure(int output_index) = 0;
77 
78  virtual bool hasVerb() = 0;
79  SWIGOUT(%newobject verb;)
80  virtual HOM_CopVerb *verb() = 0;
81 
82  virtual bool isBypassed() = 0;
83  virtual void bypass(bool on) = 0;
84  virtual bool isDisplayFlagSet() = 0;
85  virtual void setDisplayFlag(bool on) = 0;
86  virtual bool isTemplateFlagSet() = 0;
87  virtual void setTemplateFlag(bool on) = 0;
88  virtual bool isSelectableTemplateFlagSet() = 0;
89  virtual void setSelectableTemplateFlag(bool on) = 0;
90  virtual bool isCompressFlagSet() = 0;
91  virtual void setCompressFlag(bool on) = 0;
92  virtual bool isExportFlagSet() = 0;
93  virtual void setExportFlag(bool on) = 0;
94 
95  virtual std::vector<std::string> outputDataTypes() = 0;
96  virtual std::vector<std::string> inputDataTypes() = 0;
97  virtual bool isInputCompatible(int idx, HOM_CopNode &other, int other_idx,
98  bool allow_conversions = false) = 0;
99 
100  SWIGOUT(%newobject displayNode;)
101  virtual HOM_Node *displayNode() = 0;
102 
103  SWIGOUT(%newobject pairedNode;)
104  virtual HOM_CopNode *pairedNode() = 0;
105 
106  // Let swig know we're overriding __repr__ for this class so it doesn't
107  // provide its own __repr__.
108  SWIGOUT(virtual std::string __repr__() = 0;)
109 };
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1398
Definition: Node.h:52
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
~HOM_CopNode() override
Definition: HOM_CopNode.h:35
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1397
HOM_CopNode(const HOM_CopNode &cop_node)
Definition: HOM_CopNode.h:31
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)