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