HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_GeometrySelection.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_GeometrySelection_h__
10 #define __HOM_GeometrySelection_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Module.h"
15 #include "HOM_Errors.h"
16 #include "HOM_BoundingBox.h"
18 #include <string>
19 #include <vector>
20 
21 class HOM_Node;
22 
23 SWIGOUT(%rename(GeometrySelection) HOM_GeometrySelection;)
24 SWIGOUT(%feature("notabstract") HOM_GeometrySelection;)
25 
27 {
28 public:
29 #ifdef SWIG
30 %extend
31 {
33  {
34  return HOM().newGeometrySelection();
35  }
36 
38  {
39  return HOM().newGeometrySelection(val);
40  }
41 }
42 #else
44  { HOM_CONSTRUCT_OBJECT(this) }
45 
47  { HOM_CONSTRUCT_OBJECT(this) }
48 #endif
49 
51  { HOM_DESTRUCT_OBJECT(this) }
52 
53  virtual std::string __repr__() = 0;
54  virtual std::string __str__() = 0;
55 
56  virtual bool ordered() = 0;
57 
58  virtual HOM_EnumValue &geometryType() = 0;
59  virtual void setGeometryType(HOM_EnumValue &type) = 0;
60 
61  virtual HOM_EnumValue &connectivity() = 0;
62  virtual void setConnectivity(HOM_EnumValue &connectivity) = 0;
63 
64  virtual std::vector<HOM_EnumValue *> primitiveTypes() = 0;
65  virtual void setPrimitiveTypes(std::vector<HOM_EnumValue *> primitive_types) = 0;
66 
67  virtual std::vector<HOM_ElemPtr<HOM_Node> > nodes() = 0;
68  SWIGOUT(%kwargs selectionStrings;)
69  virtual std::vector<std::string> selectionStrings(
70  bool empty_string_selects_all = true,
71  bool force_numeric = false) = 0;
72  virtual std::vector<HOM_ElemPtr<HOM_Selection> > selections() = 0;
73 
74  virtual bool needsMergedNode(HOM_Node &parent) = 0;
75  virtual HOM_Node *mergedNode(HOM_Node &parent, const char *creator_name,
76  bool force_keep_original_objects=false,
77  bool display_original_objects=false) = 0;
78  SWIGOUT(%kwargs mergedSelectionString;)
79  virtual std::string mergedSelectionString(
80  bool empty_string_selects_all = true,
81  bool force_numeric = false) = 0;
82 
83  SWIGOUT(%kwargs shrinkSelection;)
84  virtual void shrinkSelection(bool check_uv=true) = 0;
85 
86  SWIGOUT(%kwargs growSelection;)
87  virtual void growSelection() = 0;
88 
89  SWIGOUT(%kwargs boundingBox;)
90  virtual HOM_BoundingBox boundingBox() const = 0;
91 
92  SWIGOUT(%kwargs orientedBoundingBox;)
93  virtual HOM_OrientedBoundingBox orientedBoundingBox() const = 0;
94 };
95 
96 #endif
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1210
GLuint const GLfloat * val
Definition: glew.h:2794
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
virtual HOM_Node * parent()=0
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1209
virtual HOM_GeometrySelection * newGeometrySelection()=0
long long int64
Definition: SYS_Types.h:116
GLuint GLuint GLsizei GLenum type
Definition: glew.h:1253
GLsizei const GLchar *const * string
Definition: glew.h:1844
virtual std::string __str__()=0
virtual std::vector< HOM_ElemPtr< HOM_Node > > nodes(const std::vector< std::string > &node_paths)=0
HOM_GeometrySelection(const HOM_GeometrySelection &)
HOM_API HOM_Module & HOM()