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_Node.h"
16 
17 class HOM_LopNetwork;
18 
19 SWIGOUT(%rename(LopNode) HOM_LopNode;)
20 
21 class HOM_API HOM_LopNode : virtual public HOM_Node
22 {
23 public:
25  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
26  { HOM_CONSTRUCT_OBJECT(this) }
27  HOM_LopNode(const HOM_LopNode &pop_node)
28  : HOM_Node(pop_node),
29  HOM_NetworkMovableItem(pop_node)
30  { HOM_CONSTRUCT_OBJECT(this) }
31  ~HOM_LopNode() override
32  { HOM_DESTRUCT_OBJECT(this) }
33 
34  // Let swig know we're overriding __repr__ for this class so it doesn't
35  // provide its own __repr__.
36  SWIGOUT(virtual std::string __repr__() = 0;)
37 
38  virtual bool isBypassed() = 0;
39  virtual void bypass(bool on) = 0;
40  virtual bool isDisplayFlagSet() = 0;
41  virtual void setDisplayFlag(bool on) = 0;
42  virtual bool isDebugFlagSet() = 0;
43  virtual void setDebugFlag(bool on) = 0;
44 
45  SWIGOUT(%newobject displayNode;)
46  virtual HOM_Node *displayNode() = 0;
47  SWIGOUT(%newobject viewerNode;)
48  virtual HOM_Node *viewerNode() = 0;
49 
50 #ifdef SWIG
51 %extend
52 {
53  InterpreterObject editableLayer()
54  { return HOMincRef((InterpreterObject)self->opaqueEditableLayer()); }
55  SWIGOUT(%kwargs activeLayer;)
56  InterpreterObject activeLayer(int output_index = 0,
57  bool ignore_errors = false,
58  bool use_last_cook_context_options = true)
59  { return HOMincRef((InterpreterObject)self->
60  opaqueActiveLayer(output_index, ignore_errors,
61  use_last_cook_context_options)); }
62  InterpreterObject editableStage()
63  { return HOMincRef((InterpreterObject)self->
64  opaqueEditableStage()); }
65  SWIGOUT(%kwargs stage;)
66  InterpreterObject stage(int output_index = 0,
67  bool apply_viewport_overrides = false,
68  bool ignore_errors = false,
69  bool use_last_cook_context_options = true)
70  { return HOMincRef((InterpreterObject)self->
71  opaqueStage(output_index,
72  apply_viewport_overrides,
73  ignore_errors,
74  use_last_cook_context_options)); }
75  SWIGOUT(%kwargs sourceLayer;)
76  InterpreterObject sourceLayer(int layer_index = 0,
77  int output_index = 0,
78  bool use_last_cook_context_options = true)
79  { return HOMincRef((InterpreterObject)self->
80  opaqueSourceLayer(layer_index, output_index,
81  use_last_cook_context_options));}
82  SWIGOUT(%kwargs stagePrimStats;)
83  InterpreterObject stagePrimStats(const char *primpath = nullptr,
84  int output_index = 0,
85  bool apply_viewport_overrides = false,
86  bool ignore_errors = false,
87  bool do_geometry_counts = false,
88  bool do_separate_purposes = false,
89  bool use_last_cook_context_options = true)
90  {
91  UT_Options stats;
92  self->opaqueStagePrimStats(primpath, output_index,
93  apply_viewport_overrides, ignore_errors,
94  do_geometry_counts, do_separate_purposes,
95  use_last_cook_context_options,
96  stats);
97  return HOMoptionsToInterpreterObject(stats);
98  }
99  InterpreterObject lastModifiedPrims()
100  { return HOMincRef((InterpreterObject)self->opaqueLastModifiedPrims()); }
101  InterpreterObject inputPrims(int inputidx)
102  { return HOMincRef((InterpreterObject)self->opaqueInputPrims(inputidx)); }
103  void setLastModifiedPrims(InterpreterObject primpaths)
104  { self->opaqueSetLastModifiedPrims(primpaths); }
105 }
106 #endif
107 
108  SWIGOUT(%ignore opaqueEditableLayer;)
109  virtual void *opaqueEditableLayer() = 0;
110  SWIGOUT(%ignore opaqueActiveLayer;)
111  virtual void *opaqueActiveLayer(int output_index,
112  bool ignore_errors,
113  bool use_last_cook_context_options) = 0;
114  SWIGOUT(%ignore opaqueEditableStage;)
115  virtual void *opaqueEditableStage() = 0;
116  SWIGOUT(%ignore opaqueStage;)
117  virtual void *opaqueStage(int output_index,
118  bool apply_viewport_overrides,
119  bool ignore_errors,
120  bool use_last_cook_context_options) = 0;
121  SWIGOUT(%ignore opaqueSourceLayer;)
122  virtual void *opaqueSourceLayer(int layer_index,
123  int output_index,
124  bool use_last_cook_context_options) = 0;
125  SWIGOUT(%ignore opaqueStagePrimStats;)
126  virtual void opaqueStagePrimStats(const UT_StringRef &primpath,
127  int output_index,
128  bool apply_viewport_overrides,
129  bool ignore_errors,
130  bool do_geometry_counts,
131  bool do_separate_purposes,
132  bool use_last_cook_context_options,
133  UT_Options &stats) = 0;
134  SWIGOUT(%ignore opaqueLastModifiedPrims;)
135  virtual void *opaqueLastModifiedPrims() = 0;
136  SWIGOUT(%ignore opaqueInputPrims;)
137  virtual void *opaqueInputPrims(int inputidx) = 0;
138  SWIGOUT(%ignore opaqueSetLastModifiedPrims;)
139  virtual void opaqueSetLastModifiedPrims(void *primpaths) = 0;
140 
141  SWIGOUT(%newobject loadMasks;)
142  virtual HOM_LopViewportLoadMasks *loadMasks(int output_index = 0,
143  bool force_cook = false,
144  bool use_last_cook_context_options = true) = 0;
145  SWIGOUT(%kwargs sourceLayerCount;)
146  virtual int sourceLayerCount(int output_index = 0,
147  bool use_last_cook_context_options = true) = 0;
148  SWIGOUT(%kwargs layersAboveLayerBreak;)
149  virtual std::vector<std::string> layersAboveLayerBreak(
150  int output_index = 0,
151  bool use_last_cook_context_options = true) = 0;
152 
153  SWIGOUT(%newobject network;)
154  virtual HOM_Node *network() = 0;
155 };
156 
157 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1197
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:349
virtual void setDebugFlag(bool on)=0
#define HOM_API
Definition: HOM_API.h:13
virtual HOM_Node * viewerNode()=0
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1196
GLsizei const GLchar *const * string
Definition: glew.h:1844
A map of string to various well defined value types.
Definition: UT_Options.h:84
virtual HOM_Node * displayNode()=0
virtual bool isDebugFlagSet()=0
HOM_LopNode(const HOM_LopNode &pop_node)
Definition: HOM_LopNode.h:27
~HOM_LopNode() override
Definition: HOM_LopNode.h:31