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,
61  { return HOMincRef((InterpreterObject)self->
62  opaqueActiveLayer(output_index, ignore_errors,
63  use_last_cook_context_options, frame)); }
64  InterpreterObject editableStage()
65  { return HOMincRef((InterpreterObject)self->
66  opaqueEditableStage()); }
67  InterpreterObject uneditableStage()
68  { return HOMincRef((InterpreterObject)self->
69  opaqueUneditableStage()); }
70  SWIGOUT(%kwargs stage;)
71  InterpreterObject stage(int output_index = 0,
72  bool apply_viewport_overrides = false,
73  bool ignore_errors = false,
74  bool use_last_cook_context_options = true,
75  bool apply_post_layers = true,
77  { return HOMincRef((InterpreterObject)self->
78  opaqueStage(output_index,
79  apply_viewport_overrides,
80  ignore_errors,
81  use_last_cook_context_options,
82  apply_post_layers,
83  frame)); }
84  SWIGOUT(%kwargs sourceLayer;)
85  InterpreterObject sourceLayer(int layer_index = 0,
86  int output_index = 0,
87  bool use_last_cook_context_options = true,
89  { return HOMincRef((InterpreterObject)self->
90  opaqueSourceLayer(layer_index, output_index,
91  use_last_cook_context_options, frame));}
92  SWIGOUT(%kwargs stagePrimStats;)
93  InterpreterObject stagePrimStats(const char *primpath = nullptr,
94  int output_index = 0,
95  bool apply_viewport_overrides = false,
96  bool ignore_errors = false,
97  bool do_geometry_counts = false,
98  bool do_separate_purposes = false,
99  bool use_last_cook_context_options = true,
100  bool apply_post_layers = true,
102  {
103  UT_Options stats;
104  self->opaqueStagePrimStats(primpath, output_index,
105  apply_viewport_overrides, ignore_errors,
106  do_geometry_counts, do_separate_purposes,
107  use_last_cook_context_options,
108  apply_post_layers, frame,
109  stats);
110  return HOMoptionsToInterpreterObject(stats);
111  }
112  InterpreterObject lastModifiedPrims()
113  { return HOMincRef((InterpreterObject)self->opaqueLastModifiedPrims()); }
114  InterpreterObject inputPrims(int inputidx)
115  { return HOMincRef((InterpreterObject)self->opaqueInputPrims(inputidx)); }
116  void setLastModifiedPrims(InterpreterObject primpaths)
117  { self->opaqueSetLastModifiedPrims(primpaths); }
118 }
119 #endif
120 
121  SWIGOUT(%ignore opaqueEditableLayer;)
122  virtual void *opaqueEditableLayer() = 0;
123  SWIGOUT(%ignore opaqueActiveLayer;)
124  virtual void *opaqueActiveLayer(int output_index,
125  bool ignore_errors,
126  bool use_last_cook_context_options,
127  HOM_OptionalDouble frame) = 0;
128  SWIGOUT(%ignore opaqueEditableStage;)
129  virtual void *opaqueEditableStage() = 0;
130  SWIGOUT(%ignore opaqueUneditableStage;)
131  virtual void *opaqueUneditableStage() = 0;
132  SWIGOUT(%ignore opaqueStage;)
133  virtual void *opaqueStage(int output_index,
134  bool apply_viewport_overrides,
135  bool ignore_errors,
136  bool use_last_cook_context_options,
137  bool apply_post_layers,
138  HOM_OptionalDouble frame) = 0;
139  SWIGOUT(%ignore opaqueSourceLayer;)
140  virtual void *opaqueSourceLayer(int layer_index,
141  int output_index,
142  bool use_last_cook_context_options,
143  HOM_OptionalDouble frame) = 0;
144  SWIGOUT(%ignore opaqueStagePrimStats;)
145  virtual void opaqueStagePrimStats(const UT_StringRef &primpath,
146  int output_index,
147  bool apply_viewport_overrides,
148  bool ignore_errors,
149  bool do_geometry_counts,
150  bool do_separate_purposes,
151  bool use_last_cook_context_options,
152  bool apply_post_layers,
153  HOM_OptionalDouble frame,
154  UT_Options &stats) = 0;
155  SWIGOUT(%ignore opaqueLastModifiedPrims;)
156  virtual void *opaqueLastModifiedPrims() = 0;
157  SWIGOUT(%ignore opaqueInputPrims;)
158  virtual void *opaqueInputPrims(int inputidx) = 0;
159  SWIGOUT(%ignore opaqueSetLastModifiedPrims;)
160  virtual void opaqueSetLastModifiedPrims(void *primpaths) = 0;
161 
162  SWIGOUT(%newobject loadMasks;)
163  SWIGOUT(%kwargs loadMasks;)
164  virtual HOM_LopViewportLoadMasks *loadMasks(int output_index = 0,
165  bool force_cook = false,
166  bool use_last_cook_context_options = true,
167  HOM_OptionalDouble frame = HOM_OptionalDouble()) = 0;
168  SWIGOUT(%kwargs sourceLayerCount;)
169  virtual int sourceLayerCount(int output_index = 0,
170  bool use_last_cook_context_options = true,
171  HOM_OptionalDouble frame = HOM_OptionalDouble()) = 0;
172  SWIGOUT(%kwargs layersAboveLayerBreak;)
173  virtual std::vector<std::string> layersAboveLayerBreak(
174  int output_index = 0,
175  bool use_last_cook_context_options = true,
176  HOM_OptionalDouble frame = HOM_OptionalDouble()) = 0;
177  virtual bool isMostRecentStageLock() = 0;
178 
179  SWIGOUT(%newobject selectionRule;)
180  SWIGOUT(%kwargs selectionRule;)
181  virtual HOM_LopSelectionRule *selectionRule(int inputidx = -1,
182  const char *pattern = nullptr) = 0;
183 
184  SWIGOUT(%newobject network;)
185  virtual HOM_Node *network() = 0;
186 
187  virtual std::string addLockedGeometry(
188  const char *identifier,
189  HOM_Geometry &geo,
190  const std::map<std::string, std::string> &args = {}) = 0;
191  virtual void addHeldLayer(const char *identifier) = 0;
192  virtual void addSubLayer(const char *identifier) = 0;
193 };
194 
195 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1303
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:349
#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:1302
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
UT_Optional< double > HOM_OptionalDouble
Definition: HOM_Defines.h:45
HOM_LopNode(const HOM_LopNode &pop_node)
Definition: HOM_LopNode.h:28
~HOM_LopNode() override
Definition: HOM_LopNode.h:32