HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_GeometryDrawableGroup.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_GeometryDrawableGroup_H
10 #define HOM_GeometryDrawableGroup_H
11 
12 #include "HOM_API.h"
13 #include "HOM_AdvancedDrawable.h"
14 #include <vector>
15 
17 class HOM_Geometry;
18 
19 SWIGOUT(%rename(GeometryDrawableGroup) HOM_GeometryDrawableGroup;)
20 SWIGOUT(%feature("notabstract") HOM_GeometryDrawableGroup;)
21 
23 {
24 public:
25 #ifdef SWIG
26 %extend
27 {
29  {
30  return HOM().newGeometryDrawableGroup(name);
31  }
32 }
33 #else
35  { HOM_CONSTRUCT_OBJECT(this) }
36 #endif
37 
39  { HOM_DESTRUCT_OBJECT(this) }
40 
41  virtual std::string __repr__() = 0;
42 
43  virtual void addDrawable(const HOM_GeometryDrawable& drawable) = 0;
44  SWIGOUT(%newobject drawable;)
45  virtual HOM_GeometryDrawable* drawable(std::string const & drawable_name) const = 0;
46  virtual std::vector<HOM_ElemPtr<HOM_GeometryDrawable> > drawables() const = 0;
47  virtual HOM_Geometry* geometry() const = 0;
48  virtual void setGeometry(HOM_Geometry const &geometry) = 0;
49 };
50 
51 #endif // HOM_GeometryDrawableGroup_H
52 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1130
GLuint const GLchar * name
Definition: glew.h:1814
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:1129
GLsizei const GLchar *const * string
Definition: glew.h:1844
HOM_API HOM_Module & HOM()
virtual HOM_GeometryDrawableGroup * newGeometryDrawableGroup(std::string const &name)=0