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  virtual std::vector<std::string> soloLights() = 0;
46  virtual void setSoloGeometry(HOM_LopSelectionRule *prims = nullptr) = 0;
47  virtual void addSoloGeometry(HOM_LopSelectionRule *prims) = 0;
48  virtual void removeSoloGeometry(HOM_LopSelectionRule *prims) = 0;
49  virtual std::vector<std::string> soloGeometry() = 0;
50  virtual void setDisplayOpacity(
51  HOM_LopSelectionRule *prims, float opacity) = 0;
52 
53  SWIGOUT(%kwargs clear;)
54  virtual void clear(HOM_EnumValue *layer_id = nullptr,
55  const char *from_prim = nullptr) = 0;
56 
57  SWIGOUT(%ignore opaqueLayer;)
58  virtual void *opaqueLayer() = 0;
59  SWIGOUT(%ignore opaqueStage;)
60  virtual void *opaqueStage() = 0;
61 
62  SWIGOUT(%ignore opaqueExit;)
63  virtual void opaqueExit() = 0;
64 
65 #ifdef SWIG
66 %extend
67 {
68  InterpreterObject layer()
69  { return HOMincRef((InterpreterObject)self->opaqueLayer()); }
70  InterpreterObject stage()
71  { return HOMincRef((InterpreterObject)self->opaqueStage()); }
72 
73  // We can ignore the type, value, and traceback Python objects.
74  SWIGOUT(virtual void __exit__(
75  InterpreterObject type, InterpreterObject value,
76  InterpreterObject traceback)
77  { self->opaqueExit(); };)
78 }
79 #endif
80 
81 };
82 
83 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1144
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
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1143
GLuint GLuint GLsizei GLenum type
Definition: glew.h:1253
GLsizei const GLchar *const * string
Definition: glew.h:1844
HOM_LopViewportOverrides(const HOM_LopViewportOverrides &)
GLint GLboolean GLint layer
Definition: glew.h:3601
GLsizei const GLfloat * value
Definition: glew.h:1849