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  virtual HOM_LopViewportOverrides *viewportOverrides(HOM_LopNode *lop,
54  int output_index = 0) = 0;
55  SWIGOUT(%kwargs saveNamedViewportOverrides;)
56  virtual void saveNamedViewportOverrides(const char *name,
57  HOM_LopViewportOverrides *overrides = nullptr) = 0;
58  virtual void loadNamedViewportOverrides(const char *name) = 0;
59  virtual std::vector<std::string> namedViewportOverrides() = 0;
60 #ifdef SWIG
61 %extend
62 {
63  SWIGOUT(%kwargs viewportOverridesLayer;)
64  InterpreterObject viewportOverridesLayer(HOM_EnumValue &layer_id =
65  HOM_lopViewportOverridesLayer::Custom)
66  { return HOMincRef((InterpreterObject)self->
67  opaqueViewportOverridesLayer(layer_id)); }
68 }
69 #endif
70  SWIGOUT(%ignore opaqueViewportOverridesLayer;)
71  virtual void *opaqueViewportOverridesLayer(HOM_EnumValue &layer_id =
72  HOM_lopViewportOverridesLayer::Custom) = 0;
73  virtual HOM_LopViewportOverrides *copyViewportOverrides(
74  const char *saved_name = nullptr) = 0;
75  virtual void setViewportOverrides(HOM_LopViewportOverrides *overrides) = 0;
76 
77  SWIGOUT(%newobject viewportLoadMasks;)
78  virtual HOM_LopViewportLoadMasks *viewportLoadMasks() = 0;
79  virtual void setViewportLoadMasks(
80  HOM_LopViewportLoadMasks *load_masks) = 0;
81  virtual void saveNamedViewportLoadMasks(const char *name,
82  HOM_LopViewportLoadMasks *load_masks) = 0;
83  SWIGOUT(%newobject loadNamedViewportLoadMasks;)
84  virtual HOM_LopViewportLoadMasks *loadNamedViewportLoadMasks(
85  const char *name) = 0;
86  virtual std::vector<std::string> namedViewportLoadMasks() = 0;
87 
88  SWIGOUT(%newobject editablePostLayer;)
89  virtual HOM_LopPostLayer *editablePostLayer(const char *name,
90  HOM_LopNode *lop,
91  int output_index = 0) = 0;
92  virtual std::vector<std::string> postLayerNames() = 0;
93 #ifdef SWIG
94 %extend
95 {
96  InterpreterObject postLayer(const char *name)
97  { return HOMincRef((InterpreterObject)self->opaquePostLayer(name)); }
98 }
99 #endif
100  SWIGOUT(%ignore opaquePostLayer;)
101  virtual void *opaquePostLayer(const char *name) = 0;
102  virtual void removePostLayer(const char *name) = 0;
103 
104  virtual std::vector<std::string> selection() = 0;
105  virtual std::string selectionCurrentPrim() = 0;
106  virtual std::vector<std::string> selectionWithInstanceIds() = 0;
107  SWIGOUT(%kwargs setSelection;)
108  virtual void setSelection(
109  const std::vector<std::string> &selection,
110  const char *currentprim = nullptr) = 0;
111 
112  virtual std::map<std::string, HOM_ElemPtr<HOM_LopSelectionRule> >
113  selectionRules() = 0;
114  virtual void clearSelectionRules() = 0;
115  virtual void setSelectionRule(const char *name,
116  HOM_LopSelectionRule *rule) = 0;
117 
118  virtual HOM_LopExpansionState *expansionState() = 0;
119  virtual void setExpansionState(HOM_LopExpansionState *expansion_state) = 0;
120  virtual void saveNamedExpansionState(const char *name,
121  HOM_LopExpansionState *expansion_state) = 0;
122  virtual HOM_LopExpansionState *loadNamedExpansionState(
123  const char *name) = 0;
124  virtual std::vector<std::string> namedExpansionStates() = 0;
125 
126  SWIGOUT(%ignore opaqueSetPrimitiveExpansionLocked;)
127  virtual bool opaqueSetPrimitiveExpansionLocked(const char *path,
128  void *expanded_subpaths,
129  bool preserve_descendant_expansion) = 0;
130  virtual bool setPrimitiveExpansionUnlocked(const char *path,
131  bool preserve_descendant_expansion = true) = 0;
132 #ifdef SWIG
133 %extend
134 {
135  SWIGOUT(%kwargs setPrimitiveExpansionLocked;)
136  bool setPrimitiveExpansionLocked(const char *path,
137  InterpreterObject expanded_subpaths = nullptr,
138  bool preserve_descendant_expansion = true)
139  { return self->opaqueSetPrimitiveExpansionLocked(path,
140  expanded_subpaths, preserve_descendant_expansion); }
141 }
142 #endif
143 
144 };
145 
146 #endif
GT_API const UT_StringHolder selection
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1343
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:1342
~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)