HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_LopNode.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_LopNode_h__
10 #define __HOM_LopNode_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Errors.h"
15 #include "HOM_OpNode.h"
16 
17 class HOM_LopNetwork;
19 
20 SWIGOUT(%rename(LopNode) HOM_LopNode;)
21 
22 class HOM_API HOM_LopNode : virtual public HOM_OpNode
23 {
24 public:
26  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
27  { HOM_CONSTRUCT_OBJECT(this) }
28  HOM_LopNode(const HOM_LopNode &pop_node)
29  : HOM_OpNode(pop_node),
30  HOM_NetworkMovableItem(pop_node)
31  { HOM_CONSTRUCT_OBJECT(this) }
32  ~HOM_LopNode() override
33  { HOM_DESTRUCT_OBJECT(this) }
34 
35  // Let swig know we're overriding __repr__ for this class so it doesn't
36  // provide its own __repr__.
37  SWIGOUT(virtual std::string __repr__() = 0;)
38 
39  virtual bool isBypassed() = 0;
40  virtual void bypass(bool on) = 0;
41  virtual bool isDisplayFlagSet() = 0;
42  virtual void setDisplayFlag(bool on) = 0;
43  virtual bool isDebugFlagSet() = 0;
44  virtual void setDebugFlag(bool on) = 0;
45 
46  SWIGOUT(%newobject displayNode;)
47  virtual HOM_Node *displayNode() = 0;
48  SWIGOUT(%newobject viewerNode;)
49  virtual HOM_Node *viewerNode() = 0;
50 
51 #ifdef SWIG
52 %extend
53 {
54  InterpreterObject editableLayer()
55  { return HOMincRef((InterpreterObject)self->opaqueEditableLayer()); }
56  SWIGOUT(%kwargs activeLayer;)
57  InterpreterObject activeLayer(int output_index = 0,
58  bool ignore_errors = false,
59  bool use_last_cook_context_options = true)
60  { return HOMincRef((InterpreterObject)self->
61  opaqueActiveLayer(output_index, ignore_errors,
62  use_last_cook_context_options)); }
63  InterpreterObject editableStage()
64  { return HOMincRef((InterpreterObject)self->
65  opaqueEditableStage()); }
66  SWIGOUT(%kwargs stage;)
67  InterpreterObject stage(int output_index = 0,
68  bool apply_viewport_overrides = false,
69  bool ignore_errors = false,
70  bool use_last_cook_context_options = true,
71  bool apply_post_layers = true)
72  { return HOMincRef((InterpreterObject)self->
73  opaqueStage(output_index,
74  apply_viewport_overrides,
75  ignore_errors,
76  use_last_cook_context_options,
77  apply_post_layers)); }
78  SWIGOUT(%kwargs sourceLayer;)
79  InterpreterObject sourceLayer(int layer_index = 0,
80  int output_index = 0,
81  bool use_last_cook_context_options = true)
82  { return HOMincRef((InterpreterObject)self->
83  opaqueSourceLayer(layer_index, output_index,
84  use_last_cook_context_options));}
85  SWIGOUT(%kwargs stagePrimStats;)
86  InterpreterObject stagePrimStats(const char *primpath = nullptr,
87  int output_index = 0,
88  bool apply_viewport_overrides = false,
89  bool ignore_errors = false,
90  bool do_geometry_counts = false,
91  bool do_separate_purposes = false,
92  bool use_last_cook_context_options = true,
93  bool apply_post_layers = true)
94  {
95  UT_Options stats;
96  self->opaqueStagePrimStats(primpath, output_index,
97  apply_viewport_overrides, ignore_errors,
98  do_geometry_counts, do_separate_purposes,
99  use_last_cook_context_options,
100  apply_post_layers,
101  stats);
102  return HOMoptionsToInterpreterObject(stats);
103  }
104  InterpreterObject lastModifiedPrims()
105  { return HOMincRef((InterpreterObject)self->opaqueLastModifiedPrims()); }
106  InterpreterObject inputPrims(int inputidx)
107  { return HOMincRef((InterpreterObject)self->opaqueInputPrims(inputidx)); }
108  void setLastModifiedPrims(InterpreterObject primpaths)
109  { self->opaqueSetLastModifiedPrims(primpaths); }
110 }
111 #endif
112 
113  SWIGOUT(%ignore opaqueEditableLayer;)
114  virtual void *opaqueEditableLayer() = 0;
115  SWIGOUT(%ignore opaqueActiveLayer;)
116  virtual void *opaqueActiveLayer(int output_index,
117  bool ignore_errors,
118  bool use_last_cook_context_options) = 0;
119  SWIGOUT(%ignore opaqueEditableStage;)
120  virtual void *opaqueEditableStage() = 0;
121  SWIGOUT(%ignore opaqueStage;)
122  virtual void *opaqueStage(int output_index,
123  bool apply_viewport_overrides,
124  bool ignore_errors,
125  bool use_last_cook_context_options,
126  bool apply_post_layers) = 0;
127  SWIGOUT(%ignore opaqueSourceLayer;)
128  virtual void *opaqueSourceLayer(int layer_index,
129  int output_index,
130  bool use_last_cook_context_options) = 0;
131  SWIGOUT(%ignore opaqueStagePrimStats;)
132  virtual void opaqueStagePrimStats(const UT_StringRef &primpath,
133  int output_index,
134  bool apply_viewport_overrides,
135  bool ignore_errors,
136  bool do_geometry_counts,
137  bool do_separate_purposes,
138  bool use_last_cook_context_options,
139  bool apply_post_layers,
140  UT_Options &stats) = 0;
141  SWIGOUT(%ignore opaqueLastModifiedPrims;)
142  virtual void *opaqueLastModifiedPrims() = 0;
143  SWIGOUT(%ignore opaqueInputPrims;)
144  virtual void *opaqueInputPrims(int inputidx) = 0;
145  SWIGOUT(%ignore opaqueSetLastModifiedPrims;)
146  virtual void opaqueSetLastModifiedPrims(void *primpaths) = 0;
147 
148  SWIGOUT(%newobject loadMasks;)
149  virtual HOM_LopViewportLoadMasks *loadMasks(int output_index = 0,
150  bool force_cook = false,
151  bool use_last_cook_context_options = true) = 0;
152  SWIGOUT(%kwargs sourceLayerCount;)
153  virtual int sourceLayerCount(int output_index = 0,
154  bool use_last_cook_context_options = true) = 0;
155  SWIGOUT(%kwargs layersAboveLayerBreak;)
156  virtual std::vector<std::string> layersAboveLayerBreak(
157  int output_index = 0,
158  bool use_last_cook_context_options = true) = 0;
159 
160  SWIGOUT(%newobject selectionRule;)
161  SWIGOUT(%kwargs selectionRule;)
162  virtual HOM_LopSelectionRule *selectionRule(int inputidx = -1,
163  const char *pattern = nullptr) = 0;
164 
165  SWIGOUT(%newobject network;)
166  virtual HOM_Node *network() = 0;
167 
168  virtual std::string addLockedGeometry(
169  const char *identifier,
170  HOM_Geometry &geo,
171  const std::map<std::string, std::string> &args = {}) = 0;
172  virtual void addHeldLayer(const char *identifier) = 0;
173  virtual void addSubLayer(const char *identifier) = 0;
174 };
175 
176 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
Definition: Node.h:52
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
void ignore(T const &) VULKAN_HPP_NOEXCEPT
Definition: vulkan.hpp:6508
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1290
GLushort pattern
Definition: glad.h:2583
A map of string to various well defined value types.
Definition: UT_Options.h:84
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
**If you just want to fire and args
Definition: thread.h:609
HOM_LopNode(const HOM_LopNode &pop_node)
Definition: HOM_LopNode.h:28
~HOM_LopNode() override
Definition: HOM_LopNode.h:32