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 setSoloLights(HOM_LopSelectionRule *prims = nullptr) = 0;
43  virtual void addSoloLights(HOM_LopSelectionRule *prims) = 0;
44  virtual void removeSoloLights(HOM_LopSelectionRule *prims) = 0;
45  SWIGOUT(%ignore opaqueSoloLights;)
46  virtual void *opaqueSoloLights() = 0;
47  virtual void setSoloGeometry(HOM_LopSelectionRule *prims = nullptr) = 0;
48  virtual void addSoloGeometry(HOM_LopSelectionRule *prims) = 0;
49  virtual void removeSoloGeometry(HOM_LopSelectionRule *prims) = 0;
50  SWIGOUT(%ignore opaqueSoloGeometry;)
51  virtual void *opaqueSoloGeometry() = 0;
52  virtual void setDisplayOpacity(
53  HOM_LopSelectionRule *prims, float opacity) = 0;
54 
55  SWIGOUT(%kwargs clear;)
56  virtual void clear(HOM_EnumValue *layer_id = nullptr,
57  const char *from_prim = nullptr) = 0;
58 
59  SWIGOUT(%ignore opaqueLayer;)
60  virtual void *opaqueLayer() = 0;
61  SWIGOUT(%ignore opaqueStage;)
62  virtual void *opaqueStage() = 0;
63 
64  SWIGOUT(%ignore opaqueExit;)
65  virtual void opaqueExit() = 0;
66 
67 #ifdef SWIG
68 %extend
69 {
70  InterpreterObject layer()
71  { return HOMincRef((InterpreterObject)self->opaqueLayer()); }
72  InterpreterObject stage()
73  { return HOMincRef((InterpreterObject)self->opaqueStage()); }
74  InterpreterObject soloLights()
75  { return HOMincRef((InterpreterObject)self->opaqueSoloLights()); }
76  InterpreterObject soloGeometry()
77  { return HOMincRef((InterpreterObject)self->opaqueSoloGeometry()); }
78 
79  // We can ignore the type, value, and traceback Python objects.
80  SWIGOUT(virtual void __exit__(
81  InterpreterObject type, InterpreterObject value,
82  InterpreterObject traceback)
83  { self->opaqueExit(); };)
84 }
85 #endif
86 
87 };
88 
89 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1238
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1298
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:353
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:107
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1237
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
HOM_LopViewportOverrides(const HOM_LopViewportOverrides &)
GLsizei const GLfloat * value
Definition: glcorearb.h:823