HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_EdgeGroup.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_EdgeGroup_h__
10 #define __HOM_EdgeGroup_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Module.h"
14 #include "HOM_EnumModules.h"
15 #include "HOM_Edge.h"
16 #include "HOM_PtrOrNull.h"
17 #include "HOM_IterableList.h"
18 #include <vector>
19 
20 class HOM_AttribDataId;
21 class HOM_Geometry;
22 
23 SWIGOUT(%rename(EdgeGroup) HOM_EdgeGroup;)
24 
26 {
27 public:
29  { HOM_CONSTRUCT_OBJECT(this) }
31  { HOM_CONSTRUCT_OBJECT(this) }
32  virtual ~HOM_EdgeGroup()
33  { HOM_DESTRUCT_OBJECT(this) }
34 
35  virtual bool operator==(HOM_PtrOrNull<HOM_EdgeGroup> edge_group) = 0;
36  virtual bool operator!=(HOM_PtrOrNull<HOM_EdgeGroup> edge_group) = 0;
37 
38  virtual int __hash__() = 0;
39  virtual std::string __repr__() = 0;
40 
41  SWIGOUT(%newobject geometry;)
42  virtual HOM_Geometry *geometry() = 0;
43 
44  virtual std::string name() = 0;
45 
46  SWIGOUT(%newobject iterEdges;)
47  virtual HOM_IterableList<HOM_Edge> *iterEdges() = 0;
48 
49  virtual std::vector<HOM_ElemPtr<HOM_Edge> > edges() = 0;
50 
51  virtual bool contains(HOM_Edge &edge) = 0;
52 
53  virtual void add(HOM_Edge &edge) = 0;
54 
55  virtual void add(const std::vector<HOM_Edge *> &edges) = 0;
56 
57  virtual void add(HOM_EdgeGroup &edge_group) = 0;
58 
59  virtual void remove(HOM_Edge &edge) = 0;
60 
61  virtual void remove(const std::vector<HOM_Edge *> &edges) = 0;
62 
63  virtual void remove(HOM_EdgeGroup &edge_group) = 0;
64 
65  virtual void clear() = 0;
66 
67  virtual void destroy() = 0;
68 
69  virtual int64 edgeCount() = 0;
70 
71  SWIGOUT(%newobject dataId;)
72  virtual HOM_AttribDataId *dataId() = 0;
73 
74  virtual void incrementDataId() = 0;
75 
76 };
77 
78 #endif
virtual void clear()=0
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1291
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
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
Definition: Mat3.h:556
long long int64
Definition: SYS_Types.h:116
HOM_EdgeGroup(const HOM_EdgeGroup &)
Definition: HOM_EdgeGroup.h:30
GLuint const GLchar * name
Definition: glcorearb.h:786
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
virtual ~HOM_EdgeGroup()
Definition: HOM_EdgeGroup.h:32
ImageBuf OIIO_API add(Image_or_Const A, Image_or_Const B, ROI roi={}, int nthreads=0)
bool OIIO_UTIL_API contains(string_view a, string_view b)
Does 'a' contain the string 'b' within it?
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:542