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_Geometry.h"
17 #include "HOM_GUDetailHandle.h"
18 #include "HOM_Matrix4.h"
19 #include "HOM_Vector3.h"
20 #include "HOM_Module.h"
21 #include <UT/UT_Map.h>
22 
24 
25 SWIGOUT(%rename(LopViewportOverrides) HOM_LopViewportOverrides;)
26 
27 SWIGOUT(%feature("notabstract") HOM_LopViewportOverrides;)
29 {
30 public:
31 #ifdef SWIG
32 %extend
33 {
35  { return HOM().newLopViewportOverrides(); }
36 }
37 #else
39  { HOM_CONSTRUCT_OBJECT(this) }
41  { HOM_CONSTRUCT_OBJECT(this) }
43  { HOM_DESTRUCT_OBJECT(this) }
44 #endif
45 
46  // Let swig know we're overriding __repr__ for this class so it doesn't
47  // provide its own __repr__.
48  virtual std::string __repr__() = 0;
49 
50  virtual HOM_LopViewportOverrides *__enter__() = 0;
51 
52  virtual void setDrawMode(HOM_LopSelectionRule *prims,
53  const char *drawmode) = 0;
54  virtual void setActive(HOM_LopSelectionRule *prims, bool active) = 0;
55  virtual void setVisible(HOM_LopSelectionRule *prims, bool visible) = 0;
56  virtual HOM_Geometry *setXforms(
57  const std::vector<std::string> &selected_paths,
58  bool global_xform,
59  const HOM_Matrix4 &handle_xform,
60  const HOM_Matrix4 &pivot_xform,
61  bool set_pivot_on_primary_prim,
62  HOM_Geometry &delta) = 0;
63  virtual void setSelectable(HOM_LopSelectionRule *prims,
64  bool active, bool solo = false) = 0;
65  virtual void setSoloLights(HOM_LopSelectionRule *prims = nullptr) = 0;
66  virtual void addSoloLights(HOM_LopSelectionRule *prims) = 0;
67  virtual void removeSoloLights(HOM_LopSelectionRule *prims) = 0;
68  SWIGOUT(%ignore opaqueSoloLights;)
69  virtual void *opaqueSoloLights() = 0;
70  virtual void setSoloGeometry(HOM_LopSelectionRule *prims = nullptr) = 0;
71  virtual void addSoloGeometry(HOM_LopSelectionRule *prims) = 0;
72  virtual void removeSoloGeometry(HOM_LopSelectionRule *prims) = 0;
73  SWIGOUT(%ignore opaqueSoloGeometry;)
74  virtual void *opaqueSoloGeometry() = 0;
75  virtual void showPurpose(HOM_LopSelectionRule *prims,
76  const char *purpose) = 0;
77  virtual void setDisplayOpacity(
78  HOM_LopSelectionRule *prims, float opacity) = 0;
79 
80  SWIGOUT(%kwargs clear;)
81  virtual void clear(HOM_EnumValue *layer_id = nullptr,
82  const char *from_prim = nullptr) = 0;
83 
84  virtual HOM_BinaryString dumps() = 0;
85  virtual void loads(HOM_BinaryString overrides_str) = 0;
86 
87  SWIGOUT(%ignore opaqueLayer;)
88  virtual void *opaqueLayer() = 0;
89  SWIGOUT(%ignore opaqueStage;)
90  virtual void *opaqueStage() = 0;
91 
92  SWIGOUT(%ignore opaqueExit;)
93  virtual void opaqueExit() = 0;
94 
95 #ifdef SWIG
96 %extend
97 {
98  InterpreterObject layer()
99  { return HOMincRef((InterpreterObject)self->opaqueLayer()); }
100  InterpreterObject stage()
101  { return HOMincRef((InterpreterObject)self->opaqueStage()); }
102  InterpreterObject soloLights()
103  { return HOMincRef((InterpreterObject)self->opaqueSoloLights()); }
104  InterpreterObject soloGeometry()
105  { return HOMincRef((InterpreterObject)self->opaqueSoloGeometry()); }
106 
107  // We can ignore the type, value, and traceback Python objects.
108  SWIGOUT(virtual void __exit__(
109  InterpreterObject type, InterpreterObject value,
110  InterpreterObject traceback)
111  { self->opaqueExit(); };)
112 }
113 #endif
114 
115 };
116 
117 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1398
GLsizei const GLfloat * value
Definition: glcorearb.h:824
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:312
GLenum GLuint GLint GLint layer
Definition: glcorearb.h:1299
GLint GLint GLsizei GLint GLenum GLenum type
Definition: glcorearb.h:108
#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
that also have some descendant prim *whose name begins with which in turn has a child named baz where *the predicate active
virtual HOM_LopViewportOverrides * newLopViewportOverrides()=0
HOM_LopViewportOverrides(const HOM_LopViewportOverrides &)
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
HOM_API HOM_Module & HOM()