HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_GeometryDrawable.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_GeometryDrawable_H
10 #define HOM_GeometryDrawable_H
11 
12 #include "HOM_API.h"
13 #include "HOM_AdvancedDrawable.h"
14 
15 #include <string>
16 
17 SWIGOUT(%rename(GeometryDrawable) HOM_GeometryDrawable;)
18 SWIGOUT(%feature("notabstract") HOM_GeometryDrawable;)
19 
21 {
22 public:
23 #ifdef SWIG
24 %extend
25 {
27  HOM_GeometryDrawable(
28  HOM_SceneViewer& scene_viewer,
29  HOM_EnumValue const & geo_type,
30  std::string const & name,
31  HOM_Geometry* geometry = nullptr,
33  std::string const & label = std::string())
34  {
35  return HOM().newGeometryDrawable(scene_viewer, geo_type, name, geometry, params, label);
36  }
37 }
38 #else
40  { HOM_CONSTRUCT_OBJECT(this) }
41 #endif
42 
44  { HOM_DESTRUCT_OBJECT(this) }
45 
46  virtual std::string __repr__() = 0;
47 
48  SWIGOUT(%newobject geometry;)
49  virtual HOM_Geometry* geometry() const = 0;
50  virtual void setGeometry(HOM_Geometry const &geometry) = 0;
51 
52  SWIGOUT(%warnfilter(321) type;)
53  virtual HOM_EnumValue& type() const = 0;
54 };
55 
56 #endif // HOM_GeometryDrawable_H
57 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1197
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
std::map< std::string, hboost::any > Params
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1196
GLuint GLuint GLsizei GLenum type
Definition: glew.h:1253
GLuint GLsizei GLsizei GLchar * label
Definition: glew.h:8986
virtual HOM_Geometry * geometry(int output_index=0)=0
virtual HOM_GeometryDrawable * newGeometryDrawable(HOM_SceneViewer &scene_viewer, HOM_EnumValue const &geo_type, std::string const &name, HOM_Geometry *geometry, std::map< std::string, hboost::any > const &params, std::string const &label)=0
GLsizei const GLchar *const * string
Definition: glew.h:1844
const GLfloat * params
Definition: glew.h:1531
HOM_API HOM_Module & HOM()
type
Definition: core.h:528