HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_Shelf.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_Shelf_h__
10 #define __HOM_Shelf_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_ShelfElement.h"
14 
15 class HOM_Tool;
16 
17 SWIGOUT(%rename(Shelf) HOM_Shelf;)
18 
19 class HOM_API HOM_Shelf : virtual public HOM_ShelfElement
20 {
21 public:
23  { HOM_CONSTRUCT_OBJECT(this) }
24  HOM_Shelf(const HOM_Shelf &shelfset)
25  : HOM_ShelfElement(shelfset)
26  { HOM_CONSTRUCT_OBJECT(this) }
27  ~HOM_Shelf() override
28  { HOM_DESTRUCT_OBJECT(this) }
29 
30  // Let swig know we're overriding __repr__ for this class so it doesn't
31  // provide its own __repr__.
32  SWIGOUT(virtual std::string __repr__() = 0;)
33 
34  virtual std::vector<HOM_ElemPtr<HOM_Tool> > tools() = 0;
35 
36  // We need to receive the vector as a reference to a const, otherwise swig
37  // won't convert from python sequences.
38  virtual void setTools(const std::vector<HOM_Tool *> &tools) = 0;
39 
40  virtual void destroy() = 0;
41 };
42 
43 #endif
44 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
HOM_Shelf()
Definition: HOM_Shelf.h:22
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
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1290
HOM_Shelf(const HOM_Shelf &shelfset)
Definition: HOM_Shelf.h:24
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
~HOM_Shelf() override
Definition: HOM_Shelf.h:27
virtual void destroy()=0