HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_DopData.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_DopData_h__
10 #define __HOM_DopData_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_PtrOrNull.h"
17 #include "HOM_IterableList.h"
18 #include <string>
19 #include <vector>
20 
21 class HOM_DopSimulation;
22 class HOM_DopRecord;
23 class HOM_Geometry;
25 
26 SWIGOUT(%rename(DopData) HOM_DopData;)
27 
29 {
30 public:
32  { HOM_CONSTRUCT_OBJECT(this) }
34  { HOM_CONSTRUCT_OBJECT(this) }
35  virtual ~HOM_DopData()
36  { HOM_DESTRUCT_OBJECT(this) }
37 
38  virtual bool operator==(HOM_PtrOrNull<HOM_DopData> data) = 0;
39  virtual bool operator!=(HOM_PtrOrNull<HOM_DopData> data) = 0;
40 
41  SWIGOUT(%newobject freeze;)
42  virtual HOM_DopData *freeze() = 0;
43  virtual bool isFrozen() = 0;
44  virtual std::string path() = 0;
45  virtual std::string selectionPath() = 0;
46 
47  virtual int __hash__() = 0;
48  virtual std::string __repr__() = 0;
49 
50  SWIGOUT(%newobject dopNetNode;)
51  virtual HOM_Node *dopNetNode() = 0;
52  SWIGOUT(%newobject simulation;)
53  virtual HOM_DopSimulation *simulation() = 0;
54  SWIGOUT(%newobject creator;)
55  virtual HOM_Node *creator() = 0;
56  virtual std::string id() = 0;
57  virtual std::string dataType() = 0;
58 
59  virtual std::vector<std::string> recordTypes() = 0;
60 
61  SWIGOUT(%newobject record;)
62  virtual HOM_DopRecord *record(const char *record_type, int record_index = 0) = 0;
63 
64  SWIGOUT(%newobject records;)
65  virtual HOM_IterableList<HOM_DopRecord> *records(const char *record_type) = 0;
66 
67  SWIGOUT(%newobject options;)
68  virtual HOM_DopRecord *options() = 0;
69 
70  SWIGOUT(%newobject subData;)
71  virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> > subData() = 0;
72  SWIGOUT(%newobject findSubData;)
73  virtual HOM_DopData *findSubData(const char *data_spec) = 0;
74 
75  SWIGOUT(%kwargs findAllSubData;)
76  virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> >
77  findAllSubData(const char *data_spec, bool recurse=false) = 0;
78 
79 
80  SWIGOUT(%kwargs createSubData;)
81  virtual HOM_DopData *createSubData(
82  const char *data_name, const char *data_type="SIM_EmptyData",
83  bool avoid_name_collisions=false) = 0;
84 
85  SWIGOUT(%kwargs attachSubData;)
86  virtual void attachSubData(
87  HOM_DopData &hom_new_subdata, const char *new_data_name,
88  bool avoid_name_collisions=false) = 0;
89 
90  virtual void removeSubData(const char *data_spec) = 0;
91 
92  virtual void copyContentsFrom(HOM_DopData &hom_data) = 0;
93 
94  virtual void *_asVoidPointer() = 0;
95 
96  SWIGOUT(%newobject geometry;)
97  virtual HOM_Geometry *fieldGeometry(const char *data_name) = 0;
98 
99  SWIGOUT(%newobject geometry;)
100  SWIGOUT(%kwargs geometry;)
101  virtual HOM_Geometry *geometry(const char *data_name=NULL) = 0;
102 
103  SWIGOUT(%newobject editableGeometry;)
104  SWIGOUT(%kwargs editableGeometry;)
105  virtual HOM_EditableDopGeometryGuard *editableGeometry(
106  const char *data_name=NULL) = 0;
107 };
108 
109 #endif
110 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1130
GLuint id
Definition: glew.h:1679
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
HOM_DopData(const HOM_DopData &data)
Definition: HOM_DopData.h:33
#define HOM_API
Definition: HOM_API.h:13
GLint GLenum GLsizei GLint GLsizei const void * data
Definition: glew.h:1379
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1129
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
Definition: Mat3.h:604
INT GLenum dataType
Definition: wglew.h:145
GLsizei const GLchar *const * path
Definition: glew.h:6461
GLsizei const GLchar *const * string
Definition: glew.h:1844
virtual ~HOM_DopData()
Definition: HOM_DopData.h:35
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:590