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 
20 class HOM_CopVerb;
21 
22 SWIGOUT(%rename(CopNode) HOM_CopNode;)
23 
24 class HOM_API HOM_CopNode : virtual public HOM_OpNode
25 {
26 public:
28  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
29  { HOM_CONSTRUCT_OBJECT(this) }
30  HOM_CopNode(const HOM_CopNode &cop_node)
31  : HOM_OpNode(cop_node),
32  HOM_NetworkMovableItem(cop_node)
33  { HOM_CONSTRUCT_OBJECT(this) }
34  ~HOM_CopNode() override
35  { HOM_DESTRUCT_OBJECT(this) }
36 
37  SWIGOUT(%newobject geometry;)
38  SWIGOUT(%kwargs geometry;)
39  virtual HOM_Geometry *geometry(int output_index=0) = 0;
40  SWIGOUT(%newobject geometryAtFrame;)
41  SWIGOUT(%kwargs geometryAtFrame;)
42  virtual HOM_Geometry *geometryAtFrame(double frame, int output_index=0) = 0;
43 
44  SWIGOUT(%newobject layer;)
45  SWIGOUT(%kwargs layer;)
46  virtual HOM_ImageLayer *layer(int output_index=0) = 0;
47  SWIGOUT(%newobject layerAtFrame;)
48  SWIGOUT(%kwargs layerAtFrame;)
49  virtual HOM_ImageLayer *layerAtFrame(double frame, int output_index=0) = 0;
50 
51  SWIGOUT(%newobject vdb;)
52  SWIGOUT(%kwargs vdb;)
53  virtual HOM_NanoVDB *vdb(int output_index=0) = 0;
54  SWIGOUT(%newobject vdbAtFrame;)
55  SWIGOUT(%kwargs vdbAtFrame;)
56  virtual HOM_NanoVDB *vdbAtFrame(double frame, int output_index=0) = 0;
57 
58  SWIGOUT(%newobject inputCableStructure;)
59  virtual HOM_CopCableStructure *inputCableStructure(int input_index) = 0;
60  SWIGOUT(%newobject outputCableStructure;)
61  virtual HOM_CopCableStructure *outputCableStructure(int output_index) = 0;
62 
63  virtual bool hasVerb() = 0;
64  SWIGOUT(%newobject verb;)
65  virtual HOM_CopVerb *verb() = 0;
66 
67  virtual bool isBypassed() = 0;
68  virtual void bypass(bool on) = 0;
69  virtual bool isDisplayFlagSet() = 0;
70  virtual void setDisplayFlag(bool on) = 0;
71  virtual bool isTemplateFlagSet() = 0;
72  virtual void setTemplateFlag(bool on) = 0;
73  virtual bool isSelectableTemplateFlagSet() = 0;
74  virtual void setSelectableTemplateFlag(bool on) = 0;
75  virtual bool isCompressFlagSet() = 0;
76  virtual void setCompressFlag(bool on) = 0;
77  virtual bool isExportFlagSet() = 0;
78  virtual void setExportFlag(bool on) = 0;
79 
80  virtual std::vector<std::string> outputDataTypes() = 0;
81  virtual std::vector<std::string> inputDataTypes() = 0;
82  virtual bool isInputCompatible(int idx, HOM_CopNode &other, int other_idx,
83  bool allow_conversions = false) = 0;
84 
85  SWIGOUT(%newobject displayNode;)
86  virtual HOM_Node *displayNode() = 0;
87 
88  // Let swig know we're overriding __repr__ for this class so it doesn't
89  // provide its own __repr__.
90  SWIGOUT(virtual std::string __repr__() = 0;)
91 };
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1343
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:34
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1342
HOM_CopNode(const HOM_CopNode &cop_node)
Definition: HOM_CopNode.h:30
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)