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