HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_LopViewportOverrides.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  * Class used to create a block for editing the session layer on a
8  * LOP Network.
9  */
10 
11 #ifndef __HOM_LopViewportOverrides_h__
12 #define __HOM_LopViewportOverrides_h__
13 
14 #include "HOM_API.h"
15 #include "HOM_Errors.h"
16 #include "HOM_Module.h"
17 
19 
20 SWIGOUT(%rename(LopViewportOverrides) HOM_LopViewportOverrides;)
21 
23 {
24 public:
26  { HOM_CONSTRUCT_OBJECT(this) }
28  { HOM_CONSTRUCT_OBJECT(this) }
30  { HOM_DESTRUCT_OBJECT(this) }
31 
32  // Let swig know we're overriding __repr__ for this class so it doesn't
33  // provide its own __repr__.
34  virtual std::string __repr__() = 0;
35 
36  virtual HOM_LopViewportOverrides *__enter__() = 0;
37 
38  virtual void setDrawMode(HOM_LopSelectionRule *prims,
39  const char *drawmode) = 0;
40  virtual void setActive(HOM_LopSelectionRule *prims, bool active) = 0;
41  virtual void setVisible(HOM_LopSelectionRule *prims, bool visible) = 0;
42  virtual void setSelectable(HOM_LopSelectionRule *prims,
43  bool active, bool solo = false) = 0;
44  virtual void setSoloLights(HOM_LopSelectionRule *prims = nullptr) = 0;
45  virtual void addSoloLights(HOM_LopSelectionRule *prims) = 0;
46  virtual void removeSoloLights(HOM_LopSelectionRule *prims) = 0;
47  SWIGOUT(%ignore opaqueSoloLights;)
48  virtual void *opaqueSoloLights() = 0;
49  virtual void setSoloGeometry(HOM_LopSelectionRule *prims = nullptr) = 0;
50  virtual void addSoloGeometry(HOM_LopSelectionRule *prims) = 0;
51  virtual void removeSoloGeometry(HOM_LopSelectionRule *prims) = 0;
52  SWIGOUT(%ignore opaqueSoloGeometry;)
53  virtual void *opaqueSoloGeometry() = 0;
54  virtual void showPurpose(HOM_LopSelectionRule *prims,
55  const char *purpose) = 0;
56  virtual void setDisplayOpacity(
57  HOM_LopSelectionRule *prims, float opacity) = 0;
58 
59  SWIGOUT(%kwargs clear;)
60  virtual void clear(HOM_EnumValue *layer_id = nullptr,
61  const char *from_prim = nullptr) = 0;
62 
63  SWIGOUT(%ignore opaqueLayer;)
64  virtual void *opaqueLayer() = 0;
65  SWIGOUT(%ignore opaqueStage;)
66  virtual void *opaqueStage() = 0;
67 
68  SWIGOUT(%ignore opaqueExit;)
69  virtual void opaqueExit() = 0;
70 
71 #ifdef SWIG
72 %extend
73 {
74  InterpreterObject layer()
75  { return HOMincRef((InterpreterObject)self->opaqueLayer()); }
76  InterpreterObject stage()
77  { return HOMincRef((InterpreterObject)self->opaqueStage()); }
78  InterpreterObject soloLights()
79  { return HOMincRef((InterpreterObject)self->opaqueSoloLights()); }
80  InterpreterObject soloGeometry()
81  { return HOMincRef((InterpreterObject)self->opaqueSoloGeometry()); }
82 
83  // We can ignore the type, value, and traceback Python objects.
84  SWIGOUT(virtual void __exit__(
85  InterpreterObject type, InterpreterObject value,
86  InterpreterObject traceback)
87  { self->opaqueExit(); };)
88 }
89 #endif
90 
91 };
92 
93 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
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:352
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
#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:1290
HOM_LopViewportOverrides(const HOM_LopViewportOverrides &)
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
Definition: core.h:1131
type
Definition: core.h:1059