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  HOM_GeometryDrawableGroup(std::string const & name, std::string const & label=std::string())
30  {
31  return HOM().newGeometryDrawableGroup(name, label);
32  }
33 }
34 #else
36  { HOM_CONSTRUCT_OBJECT(this) }
37 #endif
38 
40  { HOM_DESTRUCT_OBJECT(this) }
41 
42  virtual std::string __repr__() = 0;
43 
44  virtual void addDrawable(const HOM_GeometryDrawable& drawable) = 0;
45  SWIGOUT(%newobject drawable;)
46  virtual HOM_GeometryDrawable* drawable(std::string const & drawable_name) const = 0;
47  virtual std::vector<HOM_ElemPtr<HOM_GeometryDrawable> > drawables() const = 0;
48  virtual HOM_Geometry* geometry() const = 0;
49  virtual void setGeometry(HOM_Geometry const &geometry) = 0;
50 };
51 
52 #endif // HOM_GeometryDrawableGroup_H
53 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1211
GLuint const GLchar * name
Definition: glew.h:1814
OIIO_API bool rename(string_view from, string_view to, std::string &err)
virtual HOM_GeometryDrawableGroup * newGeometryDrawableGroup(std::string const &name, std::string const &label)=0
#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:1210
GLuint GLsizei GLsizei GLchar * label
Definition: glew.h:8986
GLsizei const GLchar *const * string
Definition: glew.h:1844
HOM_API HOM_Module & HOM()