HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_LopNetwork.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_LopNetwork_h__
10 #define __HOM_LopNetwork_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_EnumModules.h"
15 #include "HOM_Errors.h"
16 #include "HOM_OpNode.h"
17 
18 class HOM_LopNode;
20 class HOM_LopPostLayer;
24 
25 SWIGOUT(%rename(LopNetwork) HOM_LopNetwork;)
26 
27 class HOM_API HOM_LopNetwork : virtual public HOM_OpNode
28 {
29 public:
31  : HOM_NetworkMovableItem(HOM_networkItemType::Node)
32  { HOM_CONSTRUCT_OBJECT(this) }
33  HOM_LopNetwork(const HOM_LopNetwork &pop_node)
34  : HOM_OpNode(pop_node),
35  HOM_NetworkMovableItem(pop_node)
36  { HOM_CONSTRUCT_OBJECT(this) }
37  ~HOM_LopNetwork() override
38  { HOM_DESTRUCT_OBJECT(this) }
39 
40  // Let swig know we're overriding __repr__ for this class so it doesn't
41  // provide its own __repr__.
42  SWIGOUT(virtual std::string __repr__() = 0;)
43 
44  virtual bool isDebugFlagSet() = 0;
45  virtual void setDebugFlag(bool on) = 0;
46 
47  SWIGOUT(%newobject displayNode;)
48  virtual HOM_Node *displayNode() = 0;
49  SWIGOUT(%newobject viewerNode;)
50  virtual HOM_Node *viewerNode() = 0;
51 
52  SWIGOUT(%newobject viewportOverrides;)
53  SWIGOUT(%kwargs viewportOverrides;)
54  virtual HOM_LopViewportOverrides *viewportOverrides(HOM_LopNode *lop,
55  int output_index = 0,
56  HOM_EnumValue &active_layer =
57  HOM_lopViewportOverridesLayer::Custom) = 0;
58  SWIGOUT(%kwargs saveNamedViewportOverrides;)
59  virtual void saveNamedViewportOverrides(const char *name,
60  HOM_LopViewportOverrides *overrides = nullptr) = 0;
61  virtual void loadNamedViewportOverrides(const char *name) = 0;
62  virtual std::vector<std::string> namedViewportOverrides() = 0;
63 #ifdef SWIG
64 %extend
65 {
66  SWIGOUT(%kwargs viewportOverridesLayer;)
67  InterpreterObject viewportOverridesLayer(HOM_EnumValue &layer_id =
68  HOM_lopViewportOverridesLayer::Custom)
69  { return HOMincRef((InterpreterObject)self->
70  opaqueViewportOverridesLayer(layer_id)); }
71 }
72 #endif
73  SWIGOUT(%ignore opaqueViewportOverridesLayer;)
74  virtual void *opaqueViewportOverridesLayer(HOM_EnumValue &layer_id =
75  HOM_lopViewportOverridesLayer::Custom) = 0;
76  virtual HOM_LopViewportOverrides *copyViewportOverrides(
77  const char *saved_name = nullptr) = 0;
78  virtual void setViewportOverrides(HOM_LopViewportOverrides *overrides) = 0;
79 
80  SWIGOUT(%newobject viewportLoadMasks;)
81  virtual HOM_LopViewportLoadMasks *viewportLoadMasks() = 0;
82  virtual void setViewportLoadMasks(
83  HOM_LopViewportLoadMasks *load_masks) = 0;
84  virtual void saveNamedViewportLoadMasks(const char *name,
85  HOM_LopViewportLoadMasks *load_masks) = 0;
86  SWIGOUT(%newobject loadNamedViewportLoadMasks;)
87  virtual HOM_LopViewportLoadMasks *loadNamedViewportLoadMasks(
88  const char *name) = 0;
89  virtual std::vector<std::string> namedViewportLoadMasks() = 0;
90 
91  SWIGOUT(%newobject editablePostLayer;)
92  virtual HOM_LopPostLayer *editablePostLayer(const char *name,
93  HOM_LopNode *lop,
94  int output_index = 0) = 0;
95  virtual std::vector<std::string> postLayerNames() = 0;
96 #ifdef SWIG
97 %extend
98 {
99  InterpreterObject postLayer(const char *name)
100  { return HOMincRef((InterpreterObject)self->opaquePostLayer(name)); }
101 }
102 #endif
103  SWIGOUT(%ignore opaquePostLayer;)
104  virtual void *opaquePostLayer(const char *name) = 0;
105  virtual void removePostLayer(const char *name) = 0;
106 
107 
108 #ifdef SWIG
109 %extend
110 {
111  SWIGOUT(%kwargs selectionPaths;)
112  InterpreterObject selectionPaths()
113  { return HOMincRef((InterpreterObject)self->opaqueSelectionPaths()); }
114 }
115 #endif
116 
117  SWIGOUT(%ignore opaqueSelectionPaths;)
118  virtual void *opaqueSelectionPaths() = 0;
119  virtual std::vector<std::string> selection() = 0;
120  virtual std::string selectionCurrentPrim() = 0;
121  virtual std::vector<std::string> selectionWithInstanceIds() = 0;
122  SWIGOUT(%ignore opaqueSetSelectionPaths;)
123  virtual void opaqueSetSelectionPaths(
124  void *selection,
125  const char *currentprim = nullptr) = 0;
126 #ifdef SWIG
127 %extend
128 {
129  SWIGOUT(%kwargs setSelectionPaths;)
130  virtual void setSelectionPaths(
131  InterpreterObject selection,
132  const char *currentprim = nullptr)
133  { return self->opaqueSetSelectionPaths(selection, currentprim); }
134 }
135 #endif
136 
137 
138  virtual void setSelection(
139  const std::vector<std::string> &selection,
140  const char *currentprim = nullptr) = 0;
141 
142  virtual std::map<std::string, HOM_ElemPtr<HOM_LopSelectionRule> >
143  selectionRules() = 0;
144  virtual void clearSelectionRules() = 0;
145  virtual void setSelectionRule(const char *name,
146  HOM_LopSelectionRule *rule) = 0;
147 
148  virtual HOM_LopExpansionState *expansionState() = 0;
149  virtual void setExpansionState(HOM_LopExpansionState *expansion_state) = 0;
150  virtual void saveNamedExpansionState(const char *name,
151  HOM_LopExpansionState *expansion_state) = 0;
152  virtual HOM_LopExpansionState *loadNamedExpansionState(
153  const char *name) = 0;
154  virtual std::vector<std::string> namedExpansionStates() = 0;
155 
156  SWIGOUT(%ignore opaqueSetPrimitiveExpansionLocked;)
157  virtual bool opaqueSetPrimitiveExpansionLocked(const char *path,
158  void *expanded_subpaths,
159  bool preserve_descendant_expansion) = 0;
160  virtual bool setPrimitiveExpansionUnlocked(const char *path,
161  bool preserve_descendant_expansion = true) = 0;
162 #ifdef SWIG
163 %extend
164 {
165  SWIGOUT(%kwargs setPrimitiveExpansionLocked;)
166  bool setPrimitiveExpansionLocked(const char *path,
167  InterpreterObject expanded_subpaths = nullptr,
168  bool preserve_descendant_expansion = true)
169  { return self->opaqueSetPrimitiveExpansionLocked(path,
170  expanded_subpaths, preserve_descendant_expansion); }
171 }
172 #endif
173 
174 };
175 
176 #endif
GT_API const UT_StringHolder selection
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1398
Definition: Node.h:52
GLsizei const GLchar *const * path
Definition: glcorearb.h:3341
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
#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:1397
~HOM_LopNetwork() override
GLuint const GLchar * name
Definition: glcorearb.h:786
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_LopNetwork(const HOM_LopNetwork &pop_node)