HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 
24 SWIGOUT(%rename(DopData) HOM_DopData;)
25 
27 {
28 public:
30  { HOM_CONSTRUCT_OBJECT(this) }
32  { HOM_CONSTRUCT_OBJECT(this) }
33  virtual ~HOM_DopData()
34  { HOM_DESTRUCT_OBJECT(this) }
35 
36  virtual bool operator==(HOM_PtrOrNull<HOM_DopData> data) = 0;
37  virtual bool operator!=(HOM_PtrOrNull<HOM_DopData> data) = 0;
38 
39  SWIGOUT(%newobject freeze;)
40  virtual HOM_DopData *freeze() = 0;
41  virtual bool isFrozen() = 0;
42  virtual std::string path() = 0;
43  virtual std::string selectionPath() = 0;
44 
45  virtual int __hash__() = 0;
46  virtual std::string __repr__() = 0;
47 
48  SWIGOUT(%newobject dopNetNode;)
49  virtual HOM_Node *dopNetNode() = 0;
50  SWIGOUT(%newobject simulation;)
51  virtual HOM_DopSimulation *simulation() = 0;
52  SWIGOUT(%newobject creator;)
53  virtual HOM_Node *creator() = 0;
54  virtual std::string id() = 0;
55  virtual std::string dataType() = 0;
56 
57  virtual std::vector<std::string> recordTypes() = 0;
58 
59  SWIGOUT(%newobject record;)
60  virtual HOM_DopRecord *record(const char *record_type, int record_index = 0) = 0;
61 
62  SWIGOUT(%newobject records;)
63  virtual HOM_IterableList<HOM_DopRecord> *records(const char *record_type) = 0;
64 
65  SWIGOUT(%newobject options;)
66  virtual HOM_DopRecord *options() = 0;
67 
68  SWIGOUT(%newobject subData;)
69  virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> > subData() = 0;
70  SWIGOUT(%newobject findSubData;)
71  virtual HOM_DopData *findSubData(const char *data_spec) = 0;
72 
73  SWIGOUT(%kwargs findAllSubData;)
74  virtual std::map<std::string, HOM_ElemPtr<HOM_DopData> >
75  findAllSubData(const char *data_spec, bool recurse=false) = 0;
76 
77 
78  SWIGOUT(%kwargs createSubData;)
79  virtual HOM_DopData *createSubData(
80  const char *data_name, const char *data_type="SIM_EmptyData",
81  bool avoid_name_collisions=false) = 0;
82 
83  SWIGOUT(%kwargs attachSubData;)
84  virtual void attachSubData(
85  HOM_DopData &hom_new_subdata, const char *new_data_name,
86  bool avoid_name_collisions=false) = 0;
87 
88  virtual void removeSubData(const char *data_spec) = 0;
89 
90  virtual void copyContentsFrom(HOM_DopData &hom_data) = 0;
91 
92  virtual void *_asVoidPointer() = 0;
93 };
94 
95 #endif
96 
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:973
virtual std::string __repr__()=0
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
GLsizei const GLchar *const * path
Definition: glcorearb.h:3340
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
HOM_DopData(const HOM_DopData &data)
Definition: HOM_DopData.h:31
GLuint id
Definition: glcorearb.h:654
virtual int __hash__()=0
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:972
bool operator!=(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Inequality operator, does exact floating point comparisons.
Definition: Mat3.h:610
GLboolean * data
Definition: glcorearb.h:130
virtual ~HOM_DopData()
Definition: HOM_DopData.h:33
bool operator==(const Mat3< T0 > &m0, const Mat3< T1 > &m1)
Equality operator, does exact floating point comparisons.
Definition: Mat3.h:596